不具合内容:
StickC Plus2 に ENV III Unit を接続し M5.Power.getBatteryVoltage()
を呼び出すと、常に 6.30V という異常値が返されます。
同じスケッチを ENV III を外した状態で実行すると 4.25V 前後の正常値
が返ります。
最小構成のテストコードは以下です:
#include <M5Unified.h>
void setup() {
auto cfg = M5.config();
M5.begin(cfg);
Serial.begin(115200);
}
void loop() {
M5.update();
Serial.printf("Battery: %.3f mV\n", M5.Power.getBatteryVoltage());
delay(1000);
}
このコードは ENV III の有無によらず同じものを実行します。
期待値:
ENV III の接続有無によらず、正しいバッテリー電圧が取得できる。
実際の挙動:
ENV III を接続した場合のみ、6.30V 固定の異常値が返る。
[ENV IIIなし]
09:50:51.291 -> Battery: 4250.000 mV
09:50:52.290 -> Battery: 4246.000 mV
09:50:53.323 -> Battery: 4246.000 mV
09:50:54.282 -> Battery: 4250.000 mV
[ENV IIIあり]
09:51:19.347 -> Battery: 6300.000 mV
09:51:20.330 -> Battery: 6300.000 mV
09:51:21.315 -> Battery: 6300.000 mV
09:51:22.335 -> Battery: 6300.000 mV
09:51:23.334 -> Battery: 6300.000 mV
※ M5StickS3 や Core2 に同じコードを書き込んで、ENV III を接続して
もこの問題は発生しません。
修正をご検討いただけますと幸いです。
【追記】2026/06/11
I2Cセンサー(SHT30) = 0x44
qmp6988 = 0x70
I2C scannerで、Unitの存在を確認しました。
[ENV III Unitあり]
I2C Scanner External
0 1 2 3 4 5 6 7 8 9 A B C D E F
00: xx xx xx xx xx xx xx xx -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: 70 -- -- -- -- -- -- -- xx xx xx xx xx xx xx xx
[ENV III Unitなし]
I2C Scanner External
0 1 2 3 4 5 6 7 8 9 A B C D E F
00: xx xx xx xx xx xx xx xx -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- -- xx xx xx xx xx xx xx xx
不具合内容:
StickC Plus2 に ENV III Unit を接続し M5.Power.getBatteryVoltage()
を呼び出すと、常に 6.30V という異常値が返されます。
同じスケッチを ENV III を外した状態で実行すると 4.25V 前後の正常値
が返ります。
最小構成のテストコードは以下です:
このコードは ENV III の有無によらず同じものを実行します。
期待値:
ENV III の接続有無によらず、正しいバッテリー電圧が取得できる。
実際の挙動:
ENV III を接続した場合のみ、6.30V 固定の異常値が返る。
※ M5StickS3 や Core2 に同じコードを書き込んで、ENV III を接続して
もこの問題は発生しません。
修正をご検討いただけますと幸いです。
【追記】2026/06/11
I2Cセンサー(SHT30) = 0x44
qmp6988 = 0x70
I2C scannerで、Unitの存在を確認しました。