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.
76 lines
2.3 KiB
76 lines
2.3 KiB
#include "config.h"
|
|
|
|
TTGOClass *ttgo;
|
|
|
|
char buf[128];
|
|
bool irq = false;
|
|
|
|
void setup()
|
|
{
|
|
Serial.begin(115200);
|
|
ttgo = TTGOClass::getWatch();
|
|
ttgo->begin();
|
|
ttgo->openBL();
|
|
ttgo->tft->fillScreen(TFT_BLACK);
|
|
ttgo->tft->setTextFont(2);
|
|
ttgo->tft->setTextColor(TFT_WHITE, TFT_BLACK);
|
|
ttgo->tft->drawString("T-Watch Touch Test", 62, 90);
|
|
|
|
pinMode(AXP202_INT, INPUT_PULLUP);
|
|
attachInterrupt(AXP202_INT, [] {
|
|
irq = true;
|
|
}, FALLING);
|
|
//!Clear IRQ unprocessed first
|
|
ttgo->power->enableIRQ(AXP202_PEK_SHORTPRESS_IRQ, true);
|
|
ttgo->power->clearIRQ();
|
|
|
|
pinMode(TOUCH_INT, INPUT);
|
|
}
|
|
|
|
void loop()
|
|
{
|
|
int16_t x, y;
|
|
if (digitalRead(TOUCH_INT) == LOW) {
|
|
Serial.println("PRESSED");
|
|
if (ttgo->getTouch(x, y)) {
|
|
sprintf(buf, "x:%03d y:%03d", x, y);
|
|
ttgo->tft->drawString(buf, 80, 118);
|
|
}
|
|
}
|
|
|
|
if (irq) {
|
|
irq = false;
|
|
ttgo->power->readIRQ();
|
|
if (ttgo->power->isPEKShortPressIRQ()) {
|
|
// Clean power chip irq status
|
|
ttgo->power->clearIRQ();
|
|
|
|
// Set touchscreen sleep
|
|
ttgo->displaySleep();
|
|
|
|
/*
|
|
In TWatch2019/ Twatch2020V1, touch reset is not connected to ESP32,
|
|
so it cannot be used. Set the touch to sleep,
|
|
otherwise it will not be able to wake up.
|
|
Only by turning off the power and powering on the touch again will the touch be working mode
|
|
// ttgo->displayOff();
|
|
*/
|
|
|
|
ttgo->powerOff();
|
|
|
|
//Set all channel power off
|
|
ttgo->power->setPowerOutPut(AXP202_LDO3, false);
|
|
ttgo->power->setPowerOutPut(AXP202_LDO4, false);
|
|
ttgo->power->setPowerOutPut(AXP202_LDO2, false);
|
|
ttgo->power->setPowerOutPut(AXP202_EXTEN, false);
|
|
ttgo->power->setPowerOutPut(AXP202_DCDC2, false);
|
|
|
|
// TOUCH SCREEN Wakeup source
|
|
esp_sleep_enable_ext1_wakeup(GPIO_SEL_38, ESP_EXT1_WAKEUP_ALL_LOW);
|
|
// PEK KEY Wakeup source
|
|
// esp_sleep_enable_ext1_wakeup(GPIO_SEL_35, ESP_EXT1_WAKEUP_ALL_LOW);
|
|
esp_deep_sleep_start();
|
|
}
|
|
ttgo->power->clearIRQ();
|
|
}
|
|
}
|