販売元のwebには、
「M5BurnerでM5GO / M5Stack FIREにファームウェアを書き込むとモジュールが動作可能となり、Arduino IDEでプログラムできるようになります。」
とあり、M5Burner付属のM5GO, M5Stack FIREのfirmwareを書き込み、arduino sample programを書き込み試してみましたが、i2c driverで "nat ack read"が出て動きませんでした。
ここまではarduinoIDEのボード選択は"M5Stack-Core-ESP32"
この後で、arduinoIDE Borads Managerで、"M5Stack-FIRE"のボードデータがあったのでこれに入れ替えて、再度上記のM5Burnerでのfirmwareを書き込んでやっていましたが駄目でした。
(M5BurnerでのfirmwareとarduinoIDEのボード選択の違いは理解していません)
販売元のwebには、
「・・・M5BurnerでM5GO / M5Stack FIREにファームウェアを書き込むとモジュールが動作可能・・・」
の意味ですが、新しいfirmwareでは Wire.endTransmission()の戻り値が拡張されており、既存のfirmwareではエラーになることの対応です。
ですが、上記の動作確認では対応できませんでした。
M5Stack Grayでは、Wire.endTransmission()の戻り値の判定を旧のものにあわせれば動くようになります。
MLX90640_I2C_Driver.cpp
42行目
if (Wire.endTransmission(false) != 7) //Do not release bus
↓
if (Wire.endTransmission(false) != 0) //Do not release bus
にするとエラーが出なくなります。
あと、M5StackのLCD表示が無駄に回転しているようなので、
MLX90640.cpp 119行目(setup()内)
M5.Lcd.setRotation(1);
をコメントアウトします。
これで、firmwareを入れ替えなくても、M5Stack Grayで動くようになります。
備考:
M5Stack にはBasic, Gray, FIRE, GO がありますが、この違いがよくわかりません。
M5Burnerでfiwmwareを書き込めますが、これにはBasci, Gray名義のfirmwareがないので、どれを選択すべきか変わりません。
arduinoIDEのボード選択と、M5Burnerのfirmwareの関係が分かりません。
M5BUrenerには"UNIT_THERMAL_V0.1"というfirmwareがあります。これを書き込むとサンプルプログラムなしでサーマルカメラの動作確認ができます。
0 件のコメント:
コメントを投稿