From 4edeca5f846024365bbd8855a454d42d2eae4d57 Mon Sep 17 00:00:00 2001 From: Tom <116762865+Nestpebble@users.noreply.github.com> Date: Tue, 17 Dec 2024 16:25:37 +0000 Subject: [PATCH 1/2] Added support for the LR1121 radio to the NRF52 Pro-Micro (#5515) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Added support for the LR1121 radio Added support for the LR1121 radio, tested as functional with an E80-900M2213S from CDEbyte. * Swap PNG for PDF * remove PNG * put TCXO voltage to 1.8, as in example file It worked at 1.6v, but ¯\_(ツ)_/¯ * Hopefully this will appease Trunk * Update rf switch pins and Schematic --------- Co-authored-by: Ben Meadors --- ...Schematic_Pro-Micro_Pinouts 2024-12-14.pdf | Bin 0 -> 119617 bytes .../diy/nrf52_promicro_diy_tcxo/rfswitch.h | 17 ++++++++++++++ .../diy/nrf52_promicro_diy_tcxo/variant.h | 21 +++++++++++++++--- 3 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 variants/diy/nrf52_promicro_diy_tcxo/Schematic_Pro-Micro_Pinouts 2024-12-14.pdf create mode 100644 variants/diy/nrf52_promicro_diy_tcxo/rfswitch.h 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 0000000000000000000000000000000000000000..de87af141f9b2952df23a04e864c3f71b17a0e70 GIT binary patch literal 119617 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 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 From af79970ad7a4f6f10d0a1cdc9374a07c78ddae96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=F0=9F=93=A1=20WatskeBart=20=F0=9F=A4=96?= Date: Wed, 18 Dec 2024 05:46:18 +0100 Subject: [PATCH 2/2] Added product url (#5594) --- boards/t-echo.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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" }