//Define touch sensitivity. Greater the value, more the sensitivity. #define Threshold 40 #define uS_TO_S_FACTOR 1000000 /* Conversion factor for micro seconds to seconds */ #define TIME_TO_SLEEP 10 /* Time ESP32 will go to sleep (in seconds) */ touch_pad_t touchPin; void callback(){ //placeholder callback function: on arrive ici quand on est pas en mode sleep Serial.println ("-------------------------------------callback"); } void setup(){ Serial.begin(115200); delay(1000); //débranchement touch_pad_t pin; touchPin = esp_sleep_get_touchpad_wakeup_status(); switch(touchPin) { case 3 : configuration(); break; default : mesures(); break; } } void configuration(){ Serial.println("-------------Configuration"); //Go to sleep now //Setup interrupt on Touch Pad 3 (GPIO15) touchAttachInterrupt(T3, callback, Threshold); //Configure Touchpad as wakeup source esp_sleep_enable_touchpad_wakeup(); esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR); Serial.println ("Configuration: go to sleep"); esp_deep_sleep_start();} void mesures(){ Serial.println("-------------Mesures"); //Setup interrupt on Touch Pad 3 (GPIO15) touchAttachInterrupt(T3, callback, Threshold); //Configure Touchpad as wakeup source esp_sleep_enable_touchpad_wakeup(); esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR); //Go to sleep now Serial.println ("Mesures: go to sleep"); esp_deep_sleep_start(); } void loop(){ Serial.println("-->loop"); delay (5000); Serial.println("<--loop"); }