From 634a2750cdb26d5e80a4f07a6cc2a295a1ffff5b Mon Sep 17 00:00:00 2001 From: lewishe Date: Mon, 23 Oct 2023 10:21:17 +0800 Subject: [PATCH] Update T3 V1.61 TXCO Board --- examples/ArduinoLoRa/LoRaReceiver/boards.h | 8 +++ examples/ArduinoLoRa/LoRaReceiver/utilities.h | 36 +++++++++++ examples/ArduinoLoRa/LoRaSender/boards.h | 8 +++ examples/ArduinoLoRa/LoRaSender/utilities.h | 36 +++++++++++ examples/LoRaWAN/OTTA/utilities.h | 36 +++++++++++ examples/OLED/SSD1306SimpleDemo/utilities.h | 48 +++++++++++++-- examples/OLED/SSD1306UiDemo/utilities.h | 60 +++++++++++++++++-- .../SX1276/SX1276_Receive_Interrupt/boards.h | 8 +++ .../SX1276_Receive_Interrupt/utilities.h | 38 +++++++++++- .../SX1276/SX1276_Transmit_Interrupt/boards.h | 9 ++- .../SX1276_Transmit_Interrupt/utilities.h | 35 +++++++++++ platformio.ini | 12 +++- 12 files changed, 317 insertions(+), 17 deletions(-) diff --git a/examples/ArduinoLoRa/LoRaReceiver/boards.h b/examples/ArduinoLoRa/LoRaReceiver/boards.h index e6a9be0..76e437c 100644 --- a/examples/ArduinoLoRa/LoRaReceiver/boards.h +++ b/examples/ArduinoLoRa/LoRaReceiver/boards.h @@ -317,6 +317,14 @@ void initBoard() Wire1.begin(I2C1_SDA, I2C1_SCL); #endif +#ifdef RADIO_TXCO_ENABLE + /* + * In the T3 V1.6.1 TXCO version, Radio DIO1 is connected to Radio’s + * internal temperature-compensated crystal oscillator enable + * */ + pinMode(RADIO_TXCO_ENABLE, OUTPUT); + digitalWrite(RADIO_TXCO_ENABLE, HIGH); +#endif #ifdef HAS_GPS Serial1.begin(GPS_BAUD_RATE, SERIAL_8N1, GPS_RX_PIN, GPS_TX_PIN); diff --git a/examples/ArduinoLoRa/LoRaReceiver/utilities.h b/examples/ArduinoLoRa/LoRaReceiver/utilities.h index 652d0bc..808602a 100644 --- a/examples/ArduinoLoRa/LoRaReceiver/utilities.h +++ b/examples/ArduinoLoRa/LoRaReceiver/utilities.h @@ -138,6 +138,42 @@ #define HAS_SDCARD #define HAS_DISPLAY + +#elif defined(LILYGO_T3_V1_6_TXCO) + + +#define I2C_SDA 21 +#define I2C_SCL 22 +#define OLED_RST UNUSE_PIN + +#define RADIO_SCLK_PIN 5 +#define RADIO_MISO_PIN 19 +#define RADIO_MOSI_PIN 27 +#define RADIO_CS_PIN 18 +#define RADIO_DIO0_PIN 26 +#define RADIO_RST_PIN 23 +// #define RADIO_DIO1_PIN 33 +/* +* In the T3 V1.6.1 TXCO version, Radio DIO1 is connected to Radio’s +* internal temperature-compensated crystal oscillator enable +* */ +#define RADIO_TXCO_ENABLE 33 +#define RADIO_BUSY_PIN 32 + +#define SDCARD_MOSI 15 +#define SDCARD_MISO 2 +#define SDCARD_SCLK 14 +#define SDCARD_CS 13 + +#define BOARD_LED 25 +#define LED_ON HIGH + +#define ADC_PIN 35 + +#define HAS_SDCARD +#define HAS_DISPLAY + + #elif defined(LILYGO_T3_V2_0) #define I2C_SDA 21 #define I2C_SCL 22 diff --git a/examples/ArduinoLoRa/LoRaSender/boards.h b/examples/ArduinoLoRa/LoRaSender/boards.h index d24fa66..cd82405 100644 --- a/examples/ArduinoLoRa/LoRaSender/boards.h +++ b/examples/ArduinoLoRa/LoRaSender/boards.h @@ -317,6 +317,14 @@ void initBoard() Wire1.begin(I2C1_SDA, I2C1_SCL); #endif +#ifdef RADIO_TXCO_ENABLE + /* + * In the T3 V1.6.1 TXCO version, Radio DIO1 is connected to Radio’s + * internal temperature-compensated crystal oscillator enable + * */ + pinMode(RADIO_TXCO_ENABLE, OUTPUT); + digitalWrite(RADIO_TXCO_ENABLE, HIGH); +#endif #ifdef HAS_GPS Serial1.begin(GPS_BAUD_RATE, SERIAL_8N1, GPS_RX_PIN, GPS_TX_PIN); diff --git a/examples/ArduinoLoRa/LoRaSender/utilities.h b/examples/ArduinoLoRa/LoRaSender/utilities.h index 0281911..0de731d 100644 --- a/examples/ArduinoLoRa/LoRaSender/utilities.h +++ b/examples/ArduinoLoRa/LoRaSender/utilities.h @@ -138,6 +138,42 @@ #define HAS_SDCARD #define HAS_DISPLAY + +#elif defined(LILYGO_T3_V1_6_TXCO) + + +#define I2C_SDA 21 +#define I2C_SCL 22 +#define OLED_RST UNUSE_PIN + +#define RADIO_SCLK_PIN 5 +#define RADIO_MISO_PIN 19 +#define RADIO_MOSI_PIN 27 +#define RADIO_CS_PIN 18 +#define RADIO_DIO0_PIN 26 +#define RADIO_RST_PIN 23 +// #define RADIO_DIO1_PIN 33 +/* +* In the T3 V1.6.1 TXCO version, Radio DIO1 is connected to Radio’s +* internal temperature-compensated crystal oscillator enable +* */ +#define RADIO_TXCO_ENABLE 33 +#define RADIO_BUSY_PIN 32 + +#define SDCARD_MOSI 15 +#define SDCARD_MISO 2 +#define SDCARD_SCLK 14 +#define SDCARD_CS 13 + +#define BOARD_LED 25 +#define LED_ON HIGH + +#define ADC_PIN 35 + +#define HAS_SDCARD +#define HAS_DISPLAY + + #elif defined(LILYGO_T3_V2_0) #define I2C_SDA 21 #define I2C_SCL 22 diff --git a/examples/LoRaWAN/OTTA/utilities.h b/examples/LoRaWAN/OTTA/utilities.h index 1432da0..f8a1321 100644 --- a/examples/LoRaWAN/OTTA/utilities.h +++ b/examples/LoRaWAN/OTTA/utilities.h @@ -135,6 +135,42 @@ #define HAS_SDCARD #define HAS_DISPLAY + +#elif defined(LILYGO_T3_V1_6_TXCO) + + +#define I2C_SDA 21 +#define I2C_SCL 22 +#define OLED_RST UNUSE_PIN + +#define RADIO_SCLK_PIN 5 +#define RADIO_MISO_PIN 19 +#define RADIO_MOSI_PIN 27 +#define RADIO_CS_PIN 18 +#define RADIO_DIO0_PIN 26 +#define RADIO_RST_PIN 23 +// #define RADIO_DIO1_PIN 33 +/* +* In the T3 V1.6.1 TXCO version, Radio DIO1 is connected to Radio’s +* internal temperature-compensated crystal oscillator enable +* */ +#define RADIO_TXCO_ENABLE 33 +#define RADIO_BUSY_PIN 32 + +#define SDCARD_MOSI 15 +#define SDCARD_MISO 2 +#define SDCARD_SCLK 14 +#define SDCARD_CS 13 + +#define BOARD_LED 25 +#define LED_ON HIGH + +#define ADC_PIN 35 + +#define HAS_SDCARD +#define HAS_DISPLAY + + #elif defined(LILYGO_T3_V2_0) #define I2C_SDA 21 #define I2C_SCL 22 diff --git a/examples/OLED/SSD1306SimpleDemo/utilities.h b/examples/OLED/SSD1306SimpleDemo/utilities.h index 3ad8c4a..1ad5fcf 100644 --- a/examples/OLED/SSD1306SimpleDemo/utilities.h +++ b/examples/OLED/SSD1306SimpleDemo/utilities.h @@ -1,22 +1,26 @@ + #pragma once +/* +* This sample program only supports SX1276 +* */ // #define LILYGO_TBeam_V0_7 // #define LILYGO_TBeam_V1_X // #define LILYGO_T3_V1_0 // #define LILYGO_T3_V1_3 // #define LILYGO_T3_V1_6 +// #define LILYGO_T3_V1_6_TXCO // #define LILYGO_T3_V2_0 // #define LILYGO_T3_S3_V1_0 +// #define LILYGO_T3_S3_V1_2 /* -* The default program uses 433MHz, +* The default program uses 868MHz, * if you need to change it, * please open this note and change to the frequency you need to test * */ -// #define LoRa_frequency 433.0 - #define UNUSE_PIN (0) @@ -71,7 +75,7 @@ #define GPS_BAUD_RATE 9600 #define HAS_GPS #define HAS_DISPLAY //Optional, bring your own board, no OLED !! - +#define HAS_PMU #elif defined(LILYGO_T3_V1_0) #define I2C_SDA 4 #define I2C_SCL 15 @@ -135,6 +139,40 @@ #define HAS_SDCARD #define HAS_DISPLAY +#elif defined(LILYGO_T3_V1_6_TXCO) + + +#define I2C_SDA 21 +#define I2C_SCL 22 +#define OLED_RST UNUSE_PIN + +#define RADIO_SCLK_PIN 5 +#define RADIO_MISO_PIN 19 +#define RADIO_MOSI_PIN 27 +#define RADIO_CS_PIN 18 +#define RADIO_DIO0_PIN 26 +#define RADIO_RST_PIN 23 +// #define RADIO_DIO1_PIN 33 +/* +* In the T3 V1.6.1 TXCO version, Radio DIO1 is connected to Radio’s +* internal temperature-compensated crystal oscillator enable +* */ +#define RADIO_TXCO_ENABLE 33 +#define RADIO_BUSY_PIN 32 + +#define SDCARD_MOSI 15 +#define SDCARD_MISO 2 +#define SDCARD_SCLK 14 +#define SDCARD_CS 13 + +#define BOARD_LED 25 +#define LED_ON HIGH + +#define ADC_PIN 35 + +#define HAS_SDCARD +#define HAS_DISPLAY + #elif defined(LILYGO_T3_V2_0) #define I2C_SDA 21 #define I2C_SCL 22 @@ -160,7 +198,7 @@ #define HAS_DISPLAY #define HAS_SDCARD -#elif defined(LILYGO_T3_S3_V1_0) +#elif defined(LILYGO_T3_S3_V1_0) || defined(LILYGO_T3_S3_V1_2) #define I2C_SDA 18 #define I2C_SCL 17 diff --git a/examples/OLED/SSD1306UiDemo/utilities.h b/examples/OLED/SSD1306UiDemo/utilities.h index 2f6e8eb..1ad5fcf 100644 --- a/examples/OLED/SSD1306UiDemo/utilities.h +++ b/examples/OLED/SSD1306UiDemo/utilities.h @@ -1,22 +1,26 @@ #pragma once +/* +* This sample program only supports SX1276 +* */ // #define LILYGO_TBeam_V0_7 // #define LILYGO_TBeam_V1_X // #define LILYGO_T3_V1_0 // #define LILYGO_T3_V1_3 // #define LILYGO_T3_V1_6 +// #define LILYGO_T3_V1_6_TXCO // #define LILYGO_T3_V2_0 // #define LILYGO_T3_S3_V1_0 +// #define LILYGO_T3_S3_V1_2 + /* -* The default program uses 433MHz, +* The default program uses 868MHz, * if you need to change it, * please open this note and change to the frequency you need to test * */ -// #define LoRa_frequency 433.0 - #define UNUSE_PIN (0) @@ -71,7 +75,7 @@ #define GPS_BAUD_RATE 9600 #define HAS_GPS #define HAS_DISPLAY //Optional, bring your own board, no OLED !! - +#define HAS_PMU #elif defined(LILYGO_T3_V1_0) #define I2C_SDA 4 #define I2C_SCL 15 @@ -135,6 +139,40 @@ #define HAS_SDCARD #define HAS_DISPLAY +#elif defined(LILYGO_T3_V1_6_TXCO) + + +#define I2C_SDA 21 +#define I2C_SCL 22 +#define OLED_RST UNUSE_PIN + +#define RADIO_SCLK_PIN 5 +#define RADIO_MISO_PIN 19 +#define RADIO_MOSI_PIN 27 +#define RADIO_CS_PIN 18 +#define RADIO_DIO0_PIN 26 +#define RADIO_RST_PIN 23 +// #define RADIO_DIO1_PIN 33 +/* +* In the T3 V1.6.1 TXCO version, Radio DIO1 is connected to Radio’s +* internal temperature-compensated crystal oscillator enable +* */ +#define RADIO_TXCO_ENABLE 33 +#define RADIO_BUSY_PIN 32 + +#define SDCARD_MOSI 15 +#define SDCARD_MISO 2 +#define SDCARD_SCLK 14 +#define SDCARD_CS 13 + +#define BOARD_LED 25 +#define LED_ON HIGH + +#define ADC_PIN 35 + +#define HAS_SDCARD +#define HAS_DISPLAY + #elif defined(LILYGO_T3_V2_0) #define I2C_SDA 21 #define I2C_SCL 22 @@ -159,7 +197,8 @@ #define HAS_DISPLAY #define HAS_SDCARD -#elif defined(LILYGO_T3_S3_V1_0) + +#elif defined(LILYGO_T3_S3_V1_0) || defined(LILYGO_T3_S3_V1_2) #define I2C_SDA 18 #define I2C_SCL 17 @@ -197,4 +236,13 @@ #else #error "For the first use, please define the board version and model in " -#endif \ No newline at end of file +#endif + + + + + + + + + diff --git a/examples/RadioLibExamples/SX1276/SX1276_Receive_Interrupt/boards.h b/examples/RadioLibExamples/SX1276/SX1276_Receive_Interrupt/boards.h index 747c2ef..d1f5af2 100644 --- a/examples/RadioLibExamples/SX1276/SX1276_Receive_Interrupt/boards.h +++ b/examples/RadioLibExamples/SX1276/SX1276_Receive_Interrupt/boards.h @@ -318,6 +318,14 @@ void initBoard() #endif +#ifdef RADIO_TXCO_ENABLE + /* + * In the T3 V1.6.1 TXCO version, Radio DIO1 is connected to Radio’s + * internal temperature-compensated crystal oscillator enable + * */ + pinMode(RADIO_TXCO_ENABLE, OUTPUT); + digitalWrite(RADIO_TXCO_ENABLE, HIGH); +#endif #ifdef HAS_GPS diff --git a/examples/RadioLibExamples/SX1276/SX1276_Receive_Interrupt/utilities.h b/examples/RadioLibExamples/SX1276/SX1276_Receive_Interrupt/utilities.h index 81bf945..1ad5fcf 100644 --- a/examples/RadioLibExamples/SX1276/SX1276_Receive_Interrupt/utilities.h +++ b/examples/RadioLibExamples/SX1276/SX1276_Receive_Interrupt/utilities.h @@ -9,8 +9,10 @@ // #define LILYGO_T3_V1_0 // #define LILYGO_T3_V1_3 // #define LILYGO_T3_V1_6 +// #define LILYGO_T3_V1_6_TXCO // #define LILYGO_T3_V2_0 // #define LILYGO_T3_S3_V1_0 +// #define LILYGO_T3_S3_V1_2 /* @@ -19,8 +21,6 @@ * please open this note and change to the frequency you need to test * */ -// #define LoRa_frequency 915.0 - #define UNUSE_PIN (0) @@ -139,6 +139,40 @@ #define HAS_SDCARD #define HAS_DISPLAY +#elif defined(LILYGO_T3_V1_6_TXCO) + + +#define I2C_SDA 21 +#define I2C_SCL 22 +#define OLED_RST UNUSE_PIN + +#define RADIO_SCLK_PIN 5 +#define RADIO_MISO_PIN 19 +#define RADIO_MOSI_PIN 27 +#define RADIO_CS_PIN 18 +#define RADIO_DIO0_PIN 26 +#define RADIO_RST_PIN 23 +// #define RADIO_DIO1_PIN 33 +/* +* In the T3 V1.6.1 TXCO version, Radio DIO1 is connected to Radio’s +* internal temperature-compensated crystal oscillator enable +* */ +#define RADIO_TXCO_ENABLE 33 +#define RADIO_BUSY_PIN 32 + +#define SDCARD_MOSI 15 +#define SDCARD_MISO 2 +#define SDCARD_SCLK 14 +#define SDCARD_CS 13 + +#define BOARD_LED 25 +#define LED_ON HIGH + +#define ADC_PIN 35 + +#define HAS_SDCARD +#define HAS_DISPLAY + #elif defined(LILYGO_T3_V2_0) #define I2C_SDA 21 #define I2C_SCL 22 diff --git a/examples/RadioLibExamples/SX1276/SX1276_Transmit_Interrupt/boards.h b/examples/RadioLibExamples/SX1276/SX1276_Transmit_Interrupt/boards.h index 499c385..f5863ef 100644 --- a/examples/RadioLibExamples/SX1276/SX1276_Transmit_Interrupt/boards.h +++ b/examples/RadioLibExamples/SX1276/SX1276_Transmit_Interrupt/boards.h @@ -317,7 +317,14 @@ void initBoard() Wire1.begin(I2C1_SDA, I2C1_SCL); #endif - +#ifdef RADIO_TXCO_ENABLE + /* + * In the T3 V1.6.1 TXCO version, Radio DIO1 is connected to Radio’s + * internal temperature-compensated crystal oscillator enable + * */ + pinMode(RADIO_TXCO_ENABLE, OUTPUT); + digitalWrite(RADIO_TXCO_ENABLE, HIGH); +#endif #ifdef HAS_GPS diff --git a/examples/RadioLibExamples/SX1276/SX1276_Transmit_Interrupt/utilities.h b/examples/RadioLibExamples/SX1276/SX1276_Transmit_Interrupt/utilities.h index fda4352..1ad5fcf 100644 --- a/examples/RadioLibExamples/SX1276/SX1276_Transmit_Interrupt/utilities.h +++ b/examples/RadioLibExamples/SX1276/SX1276_Transmit_Interrupt/utilities.h @@ -9,6 +9,7 @@ // #define LILYGO_T3_V1_0 // #define LILYGO_T3_V1_3 // #define LILYGO_T3_V1_6 +// #define LILYGO_T3_V1_6_TXCO // #define LILYGO_T3_V2_0 // #define LILYGO_T3_S3_V1_0 // #define LILYGO_T3_S3_V1_2 @@ -138,6 +139,40 @@ #define HAS_SDCARD #define HAS_DISPLAY +#elif defined(LILYGO_T3_V1_6_TXCO) + + +#define I2C_SDA 21 +#define I2C_SCL 22 +#define OLED_RST UNUSE_PIN + +#define RADIO_SCLK_PIN 5 +#define RADIO_MISO_PIN 19 +#define RADIO_MOSI_PIN 27 +#define RADIO_CS_PIN 18 +#define RADIO_DIO0_PIN 26 +#define RADIO_RST_PIN 23 +// #define RADIO_DIO1_PIN 33 +/* +* In the T3 V1.6.1 TXCO version, Radio DIO1 is connected to Radio’s +* internal temperature-compensated crystal oscillator enable +* */ +#define RADIO_TXCO_ENABLE 33 +#define RADIO_BUSY_PIN 32 + +#define SDCARD_MOSI 15 +#define SDCARD_MISO 2 +#define SDCARD_SCLK 14 +#define SDCARD_CS 13 + +#define BOARD_LED 25 +#define LED_ON HIGH + +#define ADC_PIN 35 + +#define HAS_SDCARD +#define HAS_DISPLAY + #elif defined(LILYGO_T3_V2_0) #define I2C_SDA 21 #define I2C_SCL 22 diff --git a/platformio.ini b/platformio.ini index d398b02..ecfbe6f 100644 --- a/platformio.ini +++ b/platformio.ini @@ -23,10 +23,11 @@ ; default_envs = T3_V1_0 ; default_envs = T3_V1_3 ; default_envs = T3_V1_6 +default_envs = T3_V1_6_TXCO ; default_envs = T3_V1_8 ; default_envs = T3_V2_0 ; default_envs = T_BEAM_V0_7 -default_envs = T_BEAM_V1_x +; default_envs = T_BEAM_V1_x ; default_envs = t-beams3-supreme ; default_envs = T3_S3_V1_1_SX1268 ; default_envs = T3_S3_V1_1_SX1278 @@ -60,7 +61,7 @@ default_envs = T_BEAM_V1_x ; src_dir = examples/Display/Free_Font_Demo ; src_dir = examples/Display/TFT_Char_times ; src_dir = examples/Display/UTFT_demo -src_dir = examples/Display/TBeam_TFT_Shield +; src_dir = examples/Display/TBeam_TFT_Shield @@ -71,7 +72,7 @@ src_dir = examples/Display/TBeam_TFT_Shield ; src_dir = examples/RadioLibExamples/SX1268/SX1268_Transmit_Interrupt ; src_dir = examples/RadioLibExamples/SX1276/SX1276_Receive_Interrupt -; src_dir = examples/RadioLibExamples/SX1276/SX1276_Transmit_Interrupt +src_dir = examples/RadioLibExamples/SX1276/SX1276_Transmit_Interrupt ; src_dir = examples/RadioLibExamples/SX1278/SX1278_Receive ; src_dir = examples/RadioLibExamples/SX1278/SX1278_Receive_Interrupt @@ -166,6 +167,11 @@ board = esp32dev build_flags = ${esp32dev_base.build_flags} -DLILYGO_T3_V1_6 +[env:T3_V1_6_TXCO] +board = esp32dev +build_flags = ${esp32dev_base.build_flags} + -DLILYGO_T3_V1_6_TXCO + [env:T3_V1_8] board = esp32dev build_flags = ${esp32dev_base.build_flags}