Last active
December 9, 2020 05:39
-
-
Save tanakamasayuki/c5fab8f98e2ebdd425fc34fbf7b02a5a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#define LGFX_AUTODETECT | |
#include <LovyanGFX.hpp> | |
#include "I2C_BM8563.h" | |
LGFX lcd; | |
I2C_BM8563 rtc(I2C_BM8563_DEFAULT_ADDRESS, Wire1); | |
void setup() { | |
// Init lcd | |
lcd.init(); | |
// Init I2C | |
int board = lcd.getBoard(); | |
if (board == lgfx::board_M5Stack_CoreInk) { | |
Wire1.begin(21, 22); | |
lcd.setTextColor(TFT_BLACK, TFT_WHITE); | |
} else if (board == lgfx::board_M5Paper) { | |
Wire1.begin(21, 22); | |
lcd.setTextColor(TFT_BLACK, TFT_WHITE); | |
} | |
// Get RTC | |
rtc.begin(); | |
I2C_BM8563_DateTypeDef dateStruct; | |
I2C_BM8563_TimeTypeDef timeStruct; | |
rtc.getDate(&dateStruct); | |
rtc.getTime(&timeStruct); | |
// 描画 | |
lcd.setTextSize(3); | |
lcd.printf("%04d/%02d/%02d\n%02d:%02d:%02d\n", | |
dateStruct.year, | |
dateStruct.month, | |
dateStruct.date, | |
timeStruct.hours, | |
timeStruct.minutes, | |
timeStruct.seconds | |
); | |
lcd.display(); | |
lcd.waitDisplay(); // 描画終了まで待たないと描画終了前に電源OFFになる | |
// Timer Set | |
rtc.SetAlarmIRQ(5); | |
// Sleep | |
if (board == lgfx::board_M5Stack_CoreInk) { | |
lcd.sleep(); | |
pinMode(12, OUTPUT); | |
digitalWrite(12, 0); | |
} else if (board == lgfx::board_M5Paper) { | |
lcd.sleep(); | |
pinMode(2, OUTPUT); | |
digitalWrite(2, 0); | |
} else { | |
esp_sleep_enable_timer_wakeup(5 * 1000 * 1000); | |
esp_deep_sleep_start(); | |
} | |
} | |
void loop() { | |
// ここに入ってくるってことはスリープにはいれていない | |
delay(1000); | |
lcd.wakeup(); // 復帰しないと描画できない | |
lcd.printf("I'm not sleeping.\n"); | |
lcd.display(); | |
delay(4000); | |
ESP.restart(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment