#include <M5StickCPlus.h>
#include <Preferences.h>
Preferences pref;
int count = 0;
void setup() {
M5.begin(115200);
M5.Lcd.setRotation(0); //縦型
M5.Lcd.fillScreen(CYAN);
M5.Lcd.setTextSize(2);
loadCount(&count);
M5.Beep.tone(2000, 500);
M5.Lcd.printf("count = %d\n", count);
}
void loop() {
M5.Beep.update();
M5.update();
if (M5.BtnA.wasReleasefor(1000) ) { // Aボタン長押し
count = 0;
saveCount(&count);
M5.Beep.tone(1200, 300);
M5.Lcd.printf("count = %d\n", count);
} else if (M5.BtnA.wasReleased()) { // Aボタン押し
count++ ;
saveCount(&count);
M5.Beep.tone(2000, 300);
M5.Lcd.printf("count = %d\n", count);
} else if (M5.BtnB.wasReleased()) { // Bボタン押し
reboot();
} else if (M5.Axp.GetBtnPress() == 2) { // 電源ボタン押し
poweroff();
}
delay(50);
}
void loadCount(int *c) {
pref.begin("mydata", false);
*c = pref.getInt("count");
pref.end();
}
void saveCount(int *c) {
pref.begin("mydata", false);
pref.putInt("count", *c);
pref.end();
}
void poweroff() {
M5.Axp.Write1Byte(0x32, M5.Axp.Read8bit(0x32) | 0x80);//PowerOff
}
void reboot() {
ESP.restart();
}