の続き。
このままだと電源を再投入しようがファームを書き換えようがEEPROMが消えないので上書きリセットの方法を実装します
実際のところ
まずsetup関数より先に二つの関数を追加
// EEPROMをクリアする関数 void clearEEPROM() { for (int i = 0; i < ROMSIZE; i++) { EEPROM.write(i, 0xFF); } EEPROM.commit(); } // デバイスを再起動する関数 void restartDevice() { ESP.restart(); }
loop関数の中に
void loop() { // ボタン操作でデバイスIDを変更 M5.update(); //... // BtnBを押下した際にEEPROMをクリアして再起動 if (M5.BtnB.wasReleased()) { M5.Lcd.fillScreen(BLACK); M5.Lcd.setCursor(0, 0); M5.Lcd.println("Clearing EEPROM..."); clearEEPROM(); M5.Lcd.println("Restarting..."); delay(2000); // メッセージを表示するための遅延 restartDevice(); } }