diff --git a/boards/t-echo.json b/boards/t-echo.json index fcfc8c50b1..f891da94fe 100644 --- a/boards/t-echo.json +++ b/boards/t-echo.json @@ -48,6 +48,6 @@ "require_upload_port": true, "wait_for_upload_port": true }, - "url": "FIXME", - "vendor": "TTGO" + "url": "https://lilygo.cc/products/t-echo-lilygo", + "vendor": "LILYGO" } diff --git a/variants/diy/nrf52_promicro_diy_tcxo/Schematic_Pro-Micro_Pinouts 2024-12-14.pdf b/variants/diy/nrf52_promicro_diy_tcxo/Schematic_Pro-Micro_Pinouts 2024-12-14.pdf new file mode 100644 index 0000000000..de87af141f Binary files /dev/null and b/variants/diy/nrf52_promicro_diy_tcxo/Schematic_Pro-Micro_Pinouts 2024-12-14.pdf differ diff --git a/variants/diy/nrf52_promicro_diy_tcxo/rfswitch.h b/variants/diy/nrf52_promicro_diy_tcxo/rfswitch.h new file mode 100644 index 0000000000..2258c31358 --- /dev/null +++ b/variants/diy/nrf52_promicro_diy_tcxo/rfswitch.h @@ -0,0 +1,17 @@ +#include "RadioLib.h" + +// RF Switch Matrix SubG RFO_HP_LF / RFO_LP_LF / RFI_[NP]_LF0 +// DIO5 -> RFSW0_V1 +// DIO6 -> RFSW1_V2 +// DIO7 -> ANT_CTRL_ON + ESP_IO9/LR_GPS_ANT_DC_EN -> RFI_GPS (Bias-T GPS) (LR11x0 only) + +static const uint32_t rfswitch_dio_pins[] = {RADIOLIB_LR11X0_DIO5, RADIOLIB_LR11X0_DIO6, RADIOLIB_LR11X0_DIO7, RADIOLIB_NC, + RADIOLIB_NC}; + +static const Module::RfSwitchMode_t rfswitch_table[] = { + // mode DIO5 DIO6 DIO7 + {LR11x0::MODE_STBY, {LOW, LOW, LOW}}, {LR11x0::MODE_RX, {HIGH, LOW, LOW}}, + {LR11x0::MODE_TX, {LOW, HIGH, LOW}}, {LR11x0::MODE_TX_HP, {LOW, HIGH, LOW}}, + {LR11x0::MODE_TX_HF, {LOW, LOW, LOW}}, {LR11x0::MODE_GNSS, {LOW, LOW, HIGH}}, + {LR11x0::MODE_WIFI, {LOW, LOW, LOW}}, END_OF_MODE_TABLE, +}; \ No newline at end of file diff --git a/variants/diy/nrf52_promicro_diy_tcxo/variant.h b/variants/diy/nrf52_promicro_diy_tcxo/variant.h index 5c535ba1e8..6ffb86cff9 100644 --- a/variants/diy/nrf52_promicro_diy_tcxo/variant.h +++ b/variants/diy/nrf52_promicro_diy_tcxo/variant.h @@ -122,12 +122,13 @@ NRF52 PRO MICRO PIN ASSIGNMENT #define USE_SX1262 #define USE_RF95 #define USE_SX1268 +#define USE_LR1121 // RF95 CONFIG -#define LORA_DIO0 (0 + 29) // P0.10 IRQ +#define LORA_DIO0 (0 + 29) // P0.29 BUSY #define LORA_DIO1 (0 + 10) // P0.10 IRQ -#define LORA_RESET (0 + 9) // P0.09 +#define LORA_RESET (0 + 9) // P0.09 NRST // RX/TX for RFM95/SX127x #define RF95_RXEN (0 + 17) // P0.17 @@ -143,6 +144,19 @@ NRF52 PRO MICRO PIN ASSIGNMENT #define SX126X_RXEN (0 + 17) // P0.17 #define SX126X_TXEN RADIOLIB_NC // Assuming that DIO2 is connected to TXEN pin. If not, TXEN must be connected. +// LR1121 +#ifdef USE_LR1121 +#define LR1121_IRQ_PIN (0 + 10) // P0.10 IRQ +#define LR1121_NRESET_PIN LORA_RESET // P0.09 NRST +#define LR1121_BUSY_PIN (0 + 29) // P0.29 BUSY +#define LR1121_SPI_NSS_PIN LORA_CS // P1.13 +#define LR1121_SPI_SCK_PIN LORA_SCK +#define LR1121_SPI_MOSI_PIN LORA_MOSI +#define LR1121_SPI_MISO_PIN LORA_MISO +#define LR11X0_DIO3_TCXO_VOLTAGE 1.8 +#define LR11X0_DIO_AS_RF_SWITCH +#endif + // #define SX126X_MAX_POWER 8 set this if using a high-power board! /* @@ -164,6 +178,7 @@ settings. | Seeed | Wio-SX1262 | yes | Int | Sooooo cute! | | AI-Thinker | RA-02 | No | Int | SX1278 **433mhz band only** | | RF Solutions | RFM95 | No | Int | Untested | +| Ebyte | E80-900M2213S | Yes | Int | LR1121 radio | */ @@ -179,4 +194,4 @@ extern float tcxoVoltage; // make this available everywhere * Arduino objects - C++ only *----------------------------------------------------------------------------*/ -#endif +#endif \ No newline at end of file