@@ -520,7 +520,7 @@ esp_err_t es8311_codec_init(void) {
520520#endif /* CONFIG_IDF_TARGET_ESP32P4 */
521521#endif /* CONFIG_IDF_TARGET_ESP32S3-P4 */
522522
523- #if defined(CONFIG_IDF_TARGET_ESP32C3)
523+ #if defined(CONFIG_IDF_TARGET_ESP32C3) || defined(CONFIG_IDF_TARGET_ESP32)
524524#if defined(USE_NEOPIXELBUS_LIBRARY)
525525NeoPixelBus<NeoGrbFeature, Neo800KbpsMethod> XR1_Pixel (1 , SOC_GPIO_PIN_ELRS_PIXEL);
526526#endif /* USE_NEOPIXELBUS_LIBRARY */
@@ -727,9 +727,26 @@ static void ESP32_setup()
727727 uint32_t chip_ver = REG_GET_FIELD (EFUSE_BLK0_RDATA3_REG, EFUSE_RD_CHIP_VER_PKG);
728728 uint32_t pkg_ver = chip_ver & 0x7 ;
729729 if (pkg_ver == EFUSE_RD_CHIP_VER_PKG_ESP32PICOD4) {
730- esp32_board = ESP32_TTGO_V2_OLED;
731- lmic_pins.rst = SOC_GPIO_PIN_TBEAM_RF_RST_V05;
732- lmic_pins.busy = SOC_GPIO_PIN_TBEAM_RF_BUSY_V08;
730+ esp32_board = ESP32_TTGO_V2_OLED;
731+
732+ #if 0
733+ pinMode(SOC_GPIO_PIN_TBEAM_RF_RST_V05, INPUT_PULLDOWN);
734+ pinMode(SOC_GPIO_PIN_DIO0, INPUT_PULLUP);
735+
736+ delay(50);
737+
738+ if (digitalRead(SOC_GPIO_PIN_DIO0) == HIGH) {
739+ esp32_board = ESP32_LILYGO_T_ELRS;
740+ }
741+
742+ pinMode(SOC_GPIO_PIN_DIO0, INPUT);
743+ pinMode(SOC_GPIO_PIN_TBEAM_RF_RST_V05, INPUT);
744+ #endif
745+
746+ if (esp32_board == ESP32_TTGO_V2_OLED) {
747+ lmic_pins.rst = SOC_GPIO_PIN_TBEAM_RF_RST_V05;
748+ lmic_pins.busy = SOC_GPIO_PIN_TBEAM_RF_BUSY_V08;
749+ }
733750 }
734751#endif /* ESP_IDF_VERSION_MAJOR */
735752#elif defined(CONFIG_IDF_TARGET_ESP32S2)
@@ -905,6 +922,8 @@ static void ESP32_setup()
905922 lmic_pins.nss = SOC_GPIO_PIN_ELRS_SS;
906923 lmic_pins.rst = SOC_GPIO_PIN_ELRS_RST;
907924 lmic_pins.busy = SOC_GPIO_PIN_ELRS_BUSY;
925+ // lmic_pins.txe = SOC_GPIO_PIN_ELRS_HF_TX; /* 1+ GHz only */
926+ // lmic_pins.rxe = SOC_GPIO_PIN_ELRS_HF_RX; /* 1+ GHz only */
908927#if defined(USE_RADIOLIB) || defined(USE_RADIOHEAD)
909928 lmic_pins.dio [0 ] = SOC_GPIO_PIN_ELRS_DIO9;
910929#endif /* USE_RADIOLIB || USE_RADIOHEAD */
@@ -2301,8 +2320,9 @@ static void ESP32_setup()
23012320 }
23022321#endif /* CONFIG_IDF_TARGET_ESP32S3 */
23032322
2304- #if defined(CONFIG_IDF_TARGET_ESP32C3)
2305- if (esp32_board == ESP32_RADIOMASTER_XR1) {
2323+ #if defined(CONFIG_IDF_TARGET_ESP32C3) || defined(CONFIG_IDF_TARGET_ESP32)
2324+ if (esp32_board == ESP32_RADIOMASTER_XR1 ||
2325+ esp32_board == ESP32_LILYGO_T_ELRS) {
23062326#if SOC_GPIO_PIN_ELRS_LED != SOC_UNUSED_PIN
23072327 digitalWrite (SOC_GPIO_PIN_ELRS_LED, LED_STATE_ON);
23082328 pinMode (SOC_GPIO_PIN_ELRS_LED, OUTPUT);
@@ -4234,8 +4254,14 @@ static void ESP32_swSer_begin(unsigned long baud)
42344254 TTGO_V2_PIN_GNSS_RX, TTGO_V2_PIN_GNSS_TX);
42354255 } else if (esp32_board == ESP32_LILYGO_T_ELRS) {
42364256 Serial.println (F (" INFO: LilyGO T-Lora Dual is detected." ));
4237- Serial_GNSS_In.begin (baud, SERIAL_IN_BITS,
4238- SOC_GPIO_PIN_ELRS_MAV_RX, SOC_GPIO_PIN_ELRS_MAV_TX);
4257+ if (settings->mode == SOFTRF_MODE_UAV) {
4258+ SerialOutput.updateBaudRate (baud);
4259+ Serial_GNSS_In = SerialOutput;
4260+ } else {
4261+ Serial_GNSS_In.begin (baud, SERIAL_IN_BITS,
4262+ SOC_GPIO_PIN_ELRS_GNSS_RX,
4263+ SOC_GPIO_PIN_ELRS_GNSS_TX);
4264+ };
42394265#endif /* CONFIG_IDF_TARGET_ESP32 */
42404266#if defined(CONFIG_IDF_TARGET_ESP32S2)
42414267 } else if (esp32_board == ESP32_S2_T8_V1_1) {
@@ -5240,7 +5266,8 @@ static void ESP32_Battery_setup()
52405266#if !defined(ESP_IDF_VERSION_MAJOR) || ESP_IDF_VERSION_MAJOR < 5
52415267 calibrate_voltage (hw_info.model == SOFTRF_MODEL_PRIME_MK2 ||
52425268 (esp32_board == ESP32_TTGO_V2_OLED &&
5243- hw_info.revision == STD_EDN_REV_T3_1_6) ?
5269+ hw_info.revision == STD_EDN_REV_T3_1_6) ||
5270+ esp32_board == ESP32_LILYGO_T_ELRS ?
52445271 (adc1_channel_t ) ADC1_GPIO35_CHANNEL :
52455272 (adc1_channel_t ) ADC1_GPIO36_CHANNEL);
52465273#else
0 commit comments