Преглед на файлове

Add 1ms delay after powering PA (cold-boot)

Wessel Nieboer преди 6 месеца
родител
ревизия
2bb6f636a4
променени са 2 файла, в които са добавени 9 реда и са изтрити 4 реда
  1. 5 2
      variants/heltec_tracker_v2/HeltecTrackerV2Board.cpp
  2. 4 2
      variants/heltec_v4/HeltecV4Board.cpp

+ 5 - 2
variants/heltec_tracker_v2/HeltecTrackerV2Board.cpp

@@ -20,9 +20,12 @@ void HeltecTrackerV2Board::begin() {
     pinMode(P_LORA_PA_TX_EN, OUTPUT);
     digitalWrite(P_LORA_PA_TX_EN,LOW);
 
-    periph_power.begin();
-
     esp_reset_reason_t reason = esp_reset_reason();
+    if (reason != ESP_RST_DEEPSLEEP) {
+      delay(1);  // GC1109 startup time after cold power-on
+    }
+
+    periph_power.begin();
     if (reason == ESP_RST_DEEPSLEEP) {
       long wakeup_source = esp_sleep_get_ext1_wakeup_status();
       if (wakeup_source & (1 << P_LORA_DIO_1)) {  // received a LoRa packet (while in deep sleep)

+ 4 - 2
variants/heltec_v4/HeltecV4Board.cpp

@@ -21,10 +21,12 @@ void HeltecV4Board::begin() {
     pinMode(P_LORA_PA_TX_EN, OUTPUT);
     digitalWrite(P_LORA_PA_TX_EN,LOW);
 
+    esp_reset_reason_t reason = esp_reset_reason();
+    if (reason != ESP_RST_DEEPSLEEP) {
+      delay(1);  // GC1109 startup time after cold power-on
+    }
 
     periph_power.begin();
-
-    esp_reset_reason_t reason = esp_reset_reason();
     if (reason == ESP_RST_DEEPSLEEP) {
       long wakeup_source = esp_sleep_get_ext1_wakeup_status();
       if (wakeup_source & (1 << P_LORA_DIO_1)) {  // received a LoRa packet (while in deep sleep)