現時点の情報です。最新情報はM5StickC非公式日本語リファレンスを確認してみてください。
Doxygenでの自動作成のリファレンスはこちらです。
概要
SDKに大幅に変更があった0.1.1対応のAXP192クラスの使い方をまとめました。
内部ステップ数を返却する関数群が非推奨になり、計算後の数値がそのまま利用できるようになりました。

サンプルスケッチ
#include <M5StickC.h> void setup() { M5.begin(); M5.Lcd.fillScreen(BLACK); } void loop() { M5.Lcd.setCursor(0, 4, 1); M5.Lcd.printf("AXP192 Test\n"); M5.Lcd.printf("\n"); M5.Lcd.printf("Battery\n"); M5.Lcd.printf(" State:%6d\n" , M5.Axp.GetBatState()); // バッテリーが接続されているか(常に1のはず) M5.Lcd.printf(" Warn :%6d\n" , M5.Axp.GetWarningLevel()); // バッテリー残量警告 0:残あり, 1:残なし M5.Lcd.printf(" Temp :%6.1f\n", M5.Axp.GetTempInAXP192()); // AXP192の内部温度 M5.Lcd.printf(" V(V) :%6.3f\n", M5.Axp.GetBatVoltage()); // バッテリー電圧(3.0V-4.2V程度) M5.Lcd.printf(" I(mA):%6.1f\n", M5.Axp.GetBatCurrent()); // バッテリー電流(プラスが充電、マイナスが放電) M5.Lcd.printf(" W(mW):%6.1f\n", M5.Axp.GetBatPower()); // バッテリー電力(W=V*abs(I)) M5.Lcd.printf("ASP\n"); M5.Lcd.printf(" V(V) :%6.3f\n", M5.Axp.GetAPSVoltage()); // ESP32に供給されている電圧 M5.Lcd.printf("VBus(USB)\n"); M5.Lcd.printf(" V(V) :%6.3f\n", M5.Axp.GetVBusVoltage()); // USB電源からの電圧 M5.Lcd.printf(" I(mA):%6.1f\n", M5.Axp.GetVBusCurrent()); // USB電源からの電流 M5.Lcd.printf("VIN(5V-In)\n"); M5.Lcd.printf(" V(V) :%6.3f\n", M5.Axp.GetVinVoltage()); // 5V IN端子からの電圧 M5.Lcd.printf(" I(mA):%6.1f\n", M5.Axp.GetVinCurrent()); // 5V IN端子からの電流 delay(1000); }
SetLDO2について
明るさ | 消費電流(mA) | 増減 |
OFF | 63.1 | -31.3 |
0 | 63.2 | -31.2 |
1 | 63.2 | -31.2 |
2 | 63.2 | -31.2 |
3 | 63.2 | -31.2 |
4 | 63.2 | -31.2 |
5 | 63.2 | -31.2 |
6 | 63.2 | -31.2 |
7 | 63.4 | -31.0 |
8 | 65.9 | -28.5 |
9 | 69.3 | -25.1 |
10 | 75.7 | -18.7 |
11 | 83.6 | -10.8 |
12 | 94.4 | 0.0 |
液晶をON、OFFできる関数が追加されましたが、実際の消費電力を比べたところ、それほど減りませんでした。現状OFFにするぐらいだったら、明るさ7とかで表示するのがおすすめです。
まとめ
全般的に素直に利用できるようになっています。ただ充電クーロン系関数は0.1.1では、正常に動かないので注意してください。上の図にある関数以外で使う関数は、ボタンの状態取得ぐらいだと思います。
細かい初期化時のパラメータも変更されており、MICに給電される電圧が2.8Vから3.3Vになったりと、普通に使う分には影響がないと思います。
あとは、クーロンカウンターが初期化時に有効化されなくなり、EnableCoulombcounter()を呼び出す必要がありますが、クーロン系関数が正常に動いていないのと、普段使うことはないと思います。
コメント