以前、M5StickCのDCDCをオフにしたら稼働時間が倍に延びた話という記事を投稿しました。
その時 M5.Axp.beginでなにやらできることは分かっていたのですが、「目的は達成したしまあいいか」と思って深くは調べてませんでした。
今回ちゃんと調べてみました。
M5.Axp.beginで一体何をしているのか
GitHubで見てみると、Axp.beginには引数が6つあります。
void AXP192::begin(bool disableLDO2, bool disableLDO3, bool disableRTC, bool disableDCDC1, bool disableDCDC3, bool disableLDO0)
DCDC3というので5V出力をオンオフできることは前回調べました。
ついでにDCDC1をいじるとM5StickCが操作できなくなるというのも経験しました。
じゃあその他は一体何なのか。
公式ドキュメントにあたってみる
公式ドキュメントm5-docs
ここのM5StickCのページをみると、PINMAPのところに_Power structure block diagram_という図があります。AXP192のどのピンからどこに供給しているかという図の様です。
こうなっていたんですか、なるほど……
M5StickC PLUSのページも確認しましたが図は共通でした。
内容をまとめてみます。
それぞれ、次の機能をオンオフできることがわかりました。
LDO2 | LDO3 | RTC | DCDC1 | DCDC3 | LDO0 |
---|---|---|---|---|---|
TFT | TFTバックライト | リアルタイムクロック | ESP32、MPU、3V3 | 5V | MIC |
まとめ
DCDC1はESP32本体に電力を供給していたんですね。それをオフにしたら操作できなくなくなるわ。
あと、MPUあんまり使ってないんでオフにしたかったんですが、そうはいかないみたいですね……
そして最近追加されたLDO0はマイクに繋がっていました。こっちはオフにする意味あるんかな……?
今回しらべてみていろいろ分かりました。
とりあえず公式ドキュメントに勝るものはないという事ですね。
つい日本語の記事を探しがちなんですが、いざとなったら公式ドキュメント。肝に銘じておこうと思います。