You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

74 lines
1.9 KiB

/*
* WakeupFormTimer: Use esp32 internal timer to wake T-Watch regularly
* Copyright 2020 Lewis he
*/
#include "config.h"
TTGOClass *watch;
TFT_eSPI *tft;
AXP20X_Class *power;
#define uS_TO_S_FACTOR 1000000ULL /* Conversion factor for micro seconds to seconds */
#define TIME_TO_SLEEP 15 /* Time ESP32 will go to sleep (in seconds) */
void setup()
{
// Get TTGOClass instance
watch = TTGOClass::getWatch();
// Initialize the hardware, the BMA423 sensor has been initialized internally
watch->begin();
// Turn on the backlight
watch->openBL();
//Receive objects for easy writing
tft = watch->tft;
power = watch->power;
tft->setTextColor(TFT_GREEN);
tft->println("Timer wake-up example");
for (int i = 5; i > 0; i--) {
tft->print("Go to sleep after ");
tft->print(i);
tft->println(" seconds");
delay(1000);
}
tft->println("Sleep now ...");
delay(1000);
// Set screen and touch to sleep mode
watch->displaySleep();
/*
When using T - Watch2020V1, you can directly call power->powerOff(),
if you use the 2019 version of TWatch, choose to turn off
according to the power you need to turn off
*/
#ifdef LILYGO_WATCH_2020_V1
watch->powerOff();
// LDO2 is used to power the display, and LDO2 can be turned off if needed
// power->setPowerOutPut(AXP202_LDO2, false);
#else
power->setPowerOutPut(AXP202_LDO3, false);
power->setPowerOutPut(AXP202_LDO4, false);
power->setPowerOutPut(AXP202_LDO2, false);
// The following power channels are not used
power->setPowerOutPut(AXP202_EXTEN, false);
power->setPowerOutPut(AXP202_DCDC2, false);
#endif
esp_sleep_enable_timer_wakeup(uS_TO_S_FACTOR * TIME_TO_SLEEP);
esp_deep_sleep_start();
}
void loop()
{
}