diff --git a/FactoryTest/FactoryTest.ino b/FactoryTest/FactoryTest.ino index c38eb1a..d4aba78 100644 --- a/FactoryTest/FactoryTest.ino +++ b/FactoryTest/FactoryTest.ino @@ -104,7 +104,7 @@ M5.delay(20); } while (M5.BtnPWR.wasPressed()); // ESP.restart(); - M5.Power.powerOff(); // 電源OFF + powerOffOrDeepSleep(); } if (startCoundDownShutdown) @@ -124,11 +124,31 @@ #endif } +void powerOffOrDeepSleep() +{ + if (M5.Power.isCharging()){ + Disbuff.setCursor(12, 20); + Disbuff.setTextColor(TFT_BLACK); + Disbuff.printf("Enter Deep Sleep"); + Disbuff.pushSprite(0, 0); + M5.delay(3000); + esp_sleep_enable_timer_wakeup(7 * 86400 * 1000000ULL); // 24時間後に復帰 + esp_deep_sleep_start(); + } else { + Disbuff.setCursor(12, 20); + Disbuff.setTextColor(TFT_BLACK); + Disbuff.printf("Power Off"); + Disbuff.pushSprite(0, 0); + M5.delay(3000); + M5.Power.powerOff(); // 電源OFF + } +} + void Displaybuff() // Disbuffスプライトを表示する。(テストモードだったらTest Modeと表示する) { Disbuff.setTextSize(1); Disbuff.setTextColor(TFT_GREENYELLOW); - Disbuff.drawString("FactoryTest 2025", 10, 1, 1); + Disbuff.drawString("FactoryTest 2025", 10, 2, 1); Disbuff.setTextColor(TFT_WHITE); // battery.batteryUpdate(); @@ -352,9 +372,9 @@ printLine3D(&Disbuff, &rect_dis, TFT_WHITE); } // Disbuff.fillRect(0,0,160,80,BLACK); - printLine3D(&Disbuff, &x, TFT_RED); printLine3D(&Disbuff, &y, TFT_GREEN); printLine3D(&Disbuff, &z, TFT_BLUE); + printLine3D(&Disbuff, &x, TFT_WHITE); /* Disbuff.setTextColor(TFT_WHITE); Disbuff.setTextSize(1); @@ -1078,7 +1098,7 @@ { Disbuff.setTextColor(TFT_RED); } - Disbuff.printf("b%.2f", M5.Power.getBatteryVoltage()); // バッテリー電圧を表示する + Disbuff.printf("b%4.2f", M5.Power.getBatteryVoltage()); // バッテリー電圧を表示する Disbuff.setCursor(12, 37); if (M5.Power.getBatteryVoltage() > 4.6) @@ -1089,7 +1109,7 @@ { Disbuff.setTextColor(TFT_RED); } - Disbuff.printf("v%.2f", M5.Power.getBatteryVoltage()); // 外部電源電圧(5V←の電圧) + Disbuff.printf("v%4.2f", M5.Power.getBatteryVoltage()); // 外部電源電圧(5V←の電圧) digitalWrite(0, 0); digitalWrite(26, 0); @@ -1175,11 +1195,11 @@ // getTempAndHum(&tempdata, &humdata); // ENV. II SENSORをつないだときに、温度と湿度がとれる // } - Disbuff.setTextColor(TFT_WHITE); // 白色で - Disbuff.setCursor(12, 67); - Disbuff.printf(" %.1f", tempdata); // 温度? - Disbuff.setCursor(12, 97); - Disbuff.printf(" %.1f", humdata); // 湿度? + // Disbuff.setTextColor(TFT_WHITE); // 白色で + // Disbuff.setCursor(12, 67); + // Disbuff.printf(" %.1f", tempdata); // 温度? + // Disbuff.setCursor(12, 97); + // Disbuff.printf(" %.1f", humdata); // 湿度? Disbuff.pushSprite(0, 0); @@ -1270,7 +1290,7 @@ } if (countsec < 0) { - M5.Power.powerOff(); + powerOffOrDeepSleep(); } } startCoundDownShutdown = false; @@ -1555,16 +1575,11 @@ M5.Display.setRotation(3); // 画面向きは横 M5.Speaker.setVolume(30); M5.Speaker.tone(2000, 500); - // tone(GPIO_NUM_2, 262, 200); - // tone(GPIO_NUM_2, 330, 200); - // tone(GPIO_NUM_2, 392, 200); - // tone(GPIO_NUM_2, 524, 400); M5.Display.setBrightness(255); - M5.Display.setFont(&fonts::lgfxJapanGothic_16); - M5.Display.setTextScroll(true); + // M5.Display.setFont(&fonts::lgfxJapanGothic_16); + // M5.Display.setTextScroll(true); - // M5.delay(2000); - // Disbuff.setColorDepth(16); + Disbuff.setColorDepth(16); Disbuff.createSprite(240, 135); Disbuff.fillRect(0, 0, 240, 135, Disbuff.color565(10, 50, 50)); Disbuff.pushSprite(0, 0); diff --git a/FactoryTest/WebOTA.ino b/FactoryTest/WebOTA.ino index ced4afa..82fe836 100644 --- a/FactoryTest/WebOTA.ino +++ b/FactoryTest/WebOTA.ino @@ -140,7 +140,7 @@ { Serial.println("Update successfully completed. Rebooting."); // ESP.restart(); - M5.Power.powerOff(); + esp_restart(); // 再起動 } else {