どんどんページが増えていって、収集つかなくなってきました。
増えたページはほぼ関数リファレンスですが、全部日本語のコメントつけるのはちょっと無理かな。。。
関数リファレンス爆発中
M5StickCのクラスリファレンスは大体終わったのですが、細かい機能はESP32側のクラスを使って、さらにクラス化していないものは関数を使ってとなるので、通常プログラムで使うであろうクラスと関数を全部追加しました!
結果、mkdocsが重くなって、画面で確認しながら編集するのが辛くなりました。。。
mkdocsが重くなった場合の対処
mkdocsはファイルの更新をリアルタイムで監視していて、変更があると再読み込みしてくれる機能がありますが、重くて使えなくなってきました。
start http://127.0.0.1:8000 mkdocs serve --dirtyreload
上記みたいなdirtyreloadオプションで起動すると、全体リロードじゃなくって更新かかったファイルだけ読み直してくれます。
サブメニューとか検索とかがおかしくなるので、定期的に再起動をしたほうがよいのですが更新が重くなったら、とりあえずこのオプションおすすめです!
ESP32のクラスと関数の関係
少しだけ見えてきました。
よく使われる複雑な機能(Serialなど)
よく使われる機能は基本的にはクラス化されています。SerialだとHardwareSerialクラスとかですね。
そこそこ使う複雑な機能や単純な基本機能
esp32-hal-?.hなどで関数化されます。
analogRead()などはesp32-hal-adc.hで宣言されており、自動的に読み込まれるのですぐに使うことができます。
たぶん、普段使うのはここまでの機能だと思います。
Serialもesp32-hal-uart.hで低レベル関数がありますが、普通はクラスを使うと思います。
低レベル内部関数
ここは使わないと思っていたのですが、I2Sなどがここにあたります。driver/i2s.hなどを読み込んでから使う機能です。
Serialもdriver/uart.hがありますが、まあこのレベルの関数は普段使わないですよね。
SPIのスレーブやI2Cのスレーブなども、このレベルの関数があれば実装できますが、あまり需要が無いのか整備されていません。
driverにも本当はもっといろいろあるのですが、多分ライブラリのソースコードを追いかける人以外は使わないですよね?
Bluetoothクラスとかの動きを追いかけていると、必要になりますがそれはDoxygenの自動生成のドキュメントを見ればよくって、M5StickCのリファレンスに入れてもいいかな。。。
たぶん普通の人が使う関数は、わりとモーラできているはず。。。setCpuFrequencyMhz()とかしらない関数をあった場合に、検索すればたいていひっかかるので、関数の追加はとりあえずこれで終わりで、内容が薄いページを加筆しつつ、日本語化していないリファレンスを日本語化、、、
ブログで書いた内容は全部取り込めたはずなので、未検証の機能を検証も再開したいな、、、
コメント