|
|
|
|
@@ -32,11 +32,31 @@ namespace SLEEP_Utils {
|
|
|
|
|
if (Config.digi.ecoMode == 1) {
|
|
|
|
|
pinMode(RADIO_WAKEUP_PIN, INPUT);
|
|
|
|
|
attachInterrupt(digitalPinToInterrupt(RADIO_WAKEUP_PIN), wakeUpLoRaPacketReceived, RISING);
|
|
|
|
|
#if defined(TTGO_LORA32_V2_1) || defined(TTGO_LORA32_V2_1_915) || defined(TTGO_LORA32_T3S3_V1_2) || defined(TTGO_T_BEAM_V1_0) || defined(TTGO_T_BEAM_V1_0_915) || defined(TTGO_T_BEAM_V1_0_SX1268) || defined(TTGO_T_BEAM_V1_2) || defined(TTGO_T_BEAM_V1_2_915) || defined(TTGO_T_BEAM_V1_2_SX1262) || defined(TTGO_T_DECK_PLUS) || defined(TTGO_T_DECK_GPS) || defined(TTGO_T_Beam_S3_SUPREME_V3) || defined(HELTEC_V3) || defined(HELTEC_V3_2) || defined(HELTEC_WP) || defined(HELTEC_WS) || defined(HELTEC_WSL_V3) || defined(HELTEC_WSL_V3_DISPLAY) || defined(HELTEC_WIRELESS_TRACKER) || defined(HELTEC_V2) || defined(XIAO_ESP32S3_LORA) || defined(LIGHTGATEWAY_1_0) || defined(LIGHTGATEWAY_PLUS_1_0) || defined(TROY_LoRa_APRS) || defined(OE5HWN_MeshCom) || defined(ESP32_DIY_LoRa) || defined(ESP32_DIY_LoRa_915) || defined(ESP32_DIY_1W_LoRa) || defined(ESP32_DIY_1W_LoRa_915) || defined(ESP32_DIY_1W_LoRa_LLCC68) || defined(ESP32_DIY_1W_LoRa_Mesh_V1_2) || defined(WEMOS_S2_MINI_DIY_LoRa) || defined(WEMOS_D1_R32_RA02) || defined(WEMOS_LOLIN32_OLED_DIY_LoRa)
|
|
|
|
|
#if defined(TTGO_LORA32_V2_1) || defined(TTGO_LORA32_V2_1_915) || defined(TTGO_LORA32_T3S3_V1_2) || defined(TTGO_T_BEAM_V1_0) || defined(TTGO_T_BEAM_V1_0_915) || defined(TTGO_T_BEAM_V1_0_SX1268) || defined(TTGO_T_BEAM_V1_2) || defined(TTGO_T_BEAM_V1_2_915) || defined(TTGO_T_BEAM_V1_2_SX1262) || defined(TTGO_T_DECK_PLUS) || defined(TTGO_T_DECK_GPS) || defined(TTGO_T_Beam_S3_SUPREME_V3) || defined(HELTEC_V3) || defined(HELTEC_V3_2) || defined(HELTEC_WP) || defined(HELTEC_WS) || defined(HELTEC_WSL_V3) || defined(HELTEC_WSL_V3_DISPLAY) || defined(HELTEC_WIRELESS_TRACKER) || defined(HELTEC_V2) || defined(XIAO_ESP32S3_LORA) || defined(LIGHTGATEWAY_1_0) || defined(TROY_LoRa_APRS) || defined(OE5HWN_MeshCom) || defined(ESP32_DIY_LoRa) || defined(ESP32_DIY_LoRa_915) || defined(ESP32_DIY_1W_LoRa) || defined(ESP32_DIY_1W_LoRa_915) || defined(ESP32_DIY_1W_LoRa_LLCC68) || defined(ESP32_DIY_1W_LoRa_Mesh_V1_2) || defined(WEMOS_S2_MINI_DIY_LoRa) || defined(WEMOS_D1_R32_RA02) || defined(WEMOS_LOLIN32_OLED_DIY_LoRa)
|
|
|
|
|
esp_sleep_enable_ext1_wakeup(GPIO_WAKEUP_PIN, ESP_EXT1_WAKEUP_ANY_HIGH);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//esp_sleep_enable_ext1_wakeup(1ULL << GPIO_WAKEUP_PIN, ESP_EXT1_WAKEUP_ANY_HIGH);
|
|
|
|
|
//gpio_wakeup_enable((gpio_num_t)RADIO_WAKEUP_PIN, GPIO_INTR_HIGH_LEVEL); // ?????
|
|
|
|
|
#endif
|
|
|
|
|
#if defined(HELTEC_HTCT62) || defined(ESP32C3_DIY_1W_LoRa) || defined(ESP32C3_DIY_1W_LoRa_915) || defined(ESP32_C3_OctopusLab_LoRa)
|
|
|
|
|
esp_deep_sleep_enable_gpio_wakeup(1ULL << GPIO_WAKEUP_PIN, ESP_GPIO_WAKEUP_GPIO_HIGH);
|
|
|
|
|
|
|
|
|
|
//gpio_wakeup_enable(GPIO_WAKEUP_PIN, GPIO_INTR_HIGH_LEVEL);
|
|
|
|
|
//esp_sleep_enable_gpio_wakeup();
|
|
|
|
|
#endif
|
|
|
|
|
#if defined(LIGHTGATEWAY_PLUS_1_0)
|
|
|
|
|
//esp_sleep_enable_ext1_wakeup(GPIO_WAKEUP_PIN, ESP_EXT1_WAKEUP_ANY_HIGH);
|
|
|
|
|
esp_sleep_enable_ext1_wakeup(1ULL << GPIO_WAKEUP_PIN, ESP_EXT1_WAKEUP_ANY_HIGH);
|
|
|
|
|
|
|
|
|
|
// Configure the GPIO wakeup source
|
|
|
|
|
//esp_sleep_enable_gpio_wakeup();
|
|
|
|
|
|
|
|
|
|
// Set wakeup condition on GPIO5: high level
|
|
|
|
|
//gpio_wakeup_enable(GPIO_NUM_5, GPIO_INTR_HIGH_LEVEL);
|
|
|
|
|
//gpio_wakeup_enable(GPIO_WAKEUP_PIN, GPIO_INTR_HIGH_LEVEL);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@@ -53,8 +73,13 @@ namespace SLEEP_Utils {
|
|
|
|
|
esp_sleep_enable_timer_wakeup(timeToSleep * 1000000); // 1 min = 60sec
|
|
|
|
|
Serial.print("(Sleeping : "); Serial.print(timeToSleep); Serial.println("seconds)");
|
|
|
|
|
delay(100);
|
|
|
|
|
LoRa_Utils::wakeRadio();
|
|
|
|
|
esp_light_sleep_start();
|
|
|
|
|
//LoRa_Utils::wakeRadio();
|
|
|
|
|
LoRa_Utils::sleepRadio();
|
|
|
|
|
//esp_light_sleep_start();
|
|
|
|
|
delay(500);
|
|
|
|
|
digitalWrite(RADIO_VCC_PIN,LOW);
|
|
|
|
|
delay(500);
|
|
|
|
|
esp_deep_sleep_start();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|