Adapted to T3 S3 V1.2 without PA

This commit is contained in:
lewishe 2023-06-12 11:46:53 +08:00
commit 227e29e2d9
19 changed files with 295 additions and 55 deletions

View file

@ -222,7 +222,7 @@
#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

View file

@ -222,7 +222,7 @@
#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

View file

@ -164,7 +164,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

View file

@ -11,6 +11,7 @@
// #define LILYGO_T3_V1_6
// #define LILYGO_T3_V2_0
// #define LILYGO_T3_S3_V1_0
// #define LILYGO_T3_S3_V1_2
/*
@ -162,7 +163,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

View file

@ -153,7 +153,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

View file

@ -153,7 +153,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

View file

@ -25,8 +25,15 @@
#define DIO1 9
#define DIO2 -1//33
#define DIO3 -1//34
#ifdef LILYGO_T3_S3_V1_0
#define RX_EN 21
#define TX_EN 10
#define TX_POWER 3
#else
#define RX_EN -1
#define TX_EN -1
#define TX_POWER 13
#endif
#define LORA_DEVICE DEVICE_SX1280 //we need to define the device we are using
@ -40,7 +47,7 @@ const uint8_t SpreadingFactor = LORA_SF8; //LoRa spreading factor
const uint8_t CodeRate = LORA_CR_4_5; //LoRa coding rate
const uint16_t Calibration = 11350; //Manual Ranging calibrarion value
const int8_t RangingTXPower = 3; //Transmit power used
const int8_t RangingTXPower = TX_POWER; //Transmit power used
const uint32_t RangingAddress = 16; //must match address in recever
const uint16_t waittimemS = 10000; //wait this long in mS for packet before assuming timeout

View file

@ -13,6 +13,7 @@
//connected and should be included and be set to -1.
#define I2C_SDA 18
#define I2C_SCL 17
#define RADIO_SCLK_PIN 5
@ -26,8 +27,16 @@
#define DIO1 9
#define DIO2 -1//33
#define DIO3 -1//34
#ifdef LILYGO_T3_S3_V1_0
#define RX_EN 21
#define TX_EN 10
#define TX_POWER 3
#else
#define RX_EN -1
#define TX_EN -1
#define TX_POWER 13
#endif
#define LORA_DEVICE DEVICE_SX1280 //we need to define the device we are using
@ -41,7 +50,7 @@ const uint8_t SpreadingFactor = LORA_SF8; //LoRa spreading factor
const uint8_t CodeRate = LORA_CR_4_5; //LoRa coding rate
const uint16_t Calibration = 11350; //Manual Ranging calibration value
const int8_t TXpower = 3; //Transmit power used
const int8_t TXpower = TX_POWER; //Transmit power used
const uint32_t RangingAddress = 16; //must match address in master
const uint16_t rangingRXTimeoutmS = 0xFFFF; //ranging RX timeout in mS

View file

@ -50,11 +50,20 @@ void setup()
while (true);
}
#if defined(RADIO_RX_PIN) && defined(RADIO_TX_PIN)
//Set ANT Control pins
radio.setRfSwitchPins(RADIO_RX_PIN, RADIO_TX_PIN);
#endif
// Set output power to 3 dBm !!Cannot be greater than 3dbm!!
if (radio.setOutputPower(3) == RADIOLIB_ERR_INVALID_OUTPUT_POWER) {
#ifdef LILYGO_T3_S3_V1_0
// T3 S3 V1.1 with PA Version Set output power to 3 dBm !!Cannot be greater than 3dbm!!
int8_t TX_Power = 3;
#else
// T3 S3 V1.2 (No PA) Version Set output power to 3 dBm !!Cannot be greater than 3dbm!!
int8_t TX_Power = 13;
#endif
if (radio.setOutputPower(TX_Power) == RADIOLIB_ERR_INVALID_OUTPUT_POWER) {
Serial.println(F("Selected output power is invalid for this module!"));
while (true);
}

View file

@ -11,9 +11,8 @@
// #define LILYGO_T3_V1_6 //NO SUPPOTR
// #define LILYGO_T3_V2_0 //NO SUPPOTR
// #define LILYGO_T3_V1_8
#ifndef LILYGO_T3_S3_V1_0
#define LILYGO_T3_S3_V1_0
#endif
// #define LILYGO_T3_S3_V1_0 //SUPPORT
// #define LILYGO_T3_S3_V1_2 //SUPPORT
#define UNUSE_PIN (0)
@ -205,7 +204,37 @@
#define BAT_ADC_PIN 1
#define BUTTON_PIN 0
// #define HAS_SDCARD
#define HAS_SDCARD
#define HAS_DISPLAY
#elif defined(LILYGO_T3_S3_V1_2)
#define I2C_SDA 18
#define I2C_SCL 17
#define OLED_RST UNUSE_PIN
#define RADIO_SCLK_PIN 5
#define RADIO_MISO_PIN 3
#define RADIO_MOSI_PIN 6
#define RADIO_CS_PIN 7
#define RADIO_DIO1_PIN 9
#define RADIO_DIO2_PIN 33
#define RADIO_DIO3_PIN 34
#define RADIO_RST_PIN 8
#define RADIO_BUSY_PIN 36
#define SDCARD_MOSI 11
#define SDCARD_MISO 2
#define SDCARD_SCLK 14
#define SDCARD_CS 13
#define BOARD_LED 37
#define LED_ON HIGH
#define BAT_ADC_PIN 1
#define BUTTON_PIN 0
#define HAS_SDCARD
#define HAS_DISPLAY
#else

View file

@ -50,11 +50,18 @@ void setup()
while (true);
}
#if defined(RADIO_RX_PIN) && defined(RADIO_TX_PIN)
//Set ANT Control pins
radio.setRfSwitchPins(RADIO_RX_PIN, RADIO_TX_PIN);
#endif
#ifdef LILYGO_T3_S3_V1_0
int8_t TX_Power = 3;
#else
int8_t TX_Power = 13;
#endif
// Set output power to 3 dBm !!Cannot be greater than 3dbm!!
if (radio.setOutputPower(3) == RADIOLIB_ERR_INVALID_OUTPUT_POWER) {
if (radio.setOutputPower(TX_Power) == RADIOLIB_ERR_INVALID_OUTPUT_POWER) {
Serial.println(F("Selected output power is invalid for this module!"));
while (true);
}

View file

@ -11,9 +11,8 @@
// #define LILYGO_T3_V1_6 //NO SUPPOTR
// #define LILYGO_T3_V2_0 //NO SUPPOTR
// #define LILYGO_T3_V1_8
#ifndef LILYGO_T3_S3_V1_0
#define LILYGO_T3_S3_V1_0
#endif
// #define LILYGO_T3_S3_V1_0 //SUPPORT
// #define LILYGO_T3_S3_V1_2 //SUPPORT
@ -207,7 +206,37 @@
#define BAT_ADC_PIN 1
#define BUTTON_PIN 0
// #define HAS_SDCARD
#define HAS_SDCARD
#define HAS_DISPLAY
#elif defined(LILYGO_T3_S3_V1_2)
#define I2C_SDA 18
#define I2C_SCL 17
#define OLED_RST UNUSE_PIN
#define RADIO_SCLK_PIN 5
#define RADIO_MISO_PIN 3
#define RADIO_MOSI_PIN 6
#define RADIO_CS_PIN 7
#define RADIO_DIO1_PIN 9
#define RADIO_DIO2_PIN 33
#define RADIO_DIO3_PIN 34
#define RADIO_RST_PIN 8
#define RADIO_BUSY_PIN 36
#define SDCARD_MOSI 11
#define SDCARD_MISO 2
#define SDCARD_SCLK 14
#define SDCARD_CS 13
#define BOARD_LED 37
#define LED_ON HIGH
#define BAT_ADC_PIN 1
#define BUTTON_PIN 0
#define HAS_SDCARD
#define HAS_DISPLAY
#else

View file

@ -75,20 +75,47 @@ void setup()
while (true);
}
#if defined(RADIO_RX_PIN) && defined(RADIO_TX_PIN)
//Set ANT Control pins
radio.setRfSwitchPins(RADIO_RX_PIN, RADIO_TX_PIN);
#endif
// set output power to 3 dBm !!Cannot be greater than 3dbm!!
if (radio.setOutputPower(3) == RADIOLIB_ERR_INVALID_OUTPUT_POWER) {
#ifdef LILYGO_T3_S3_V1_0
// T3 S3 V1.1 with PA Version Set output power to 3 dBm !!Cannot be greater than 3dbm!!
int8_t TX_Power = 3;
#else
// T3 S3 V1.2 (No PA) Version Set output power to 3 dBm !!Cannot be greater than 3dbm!!
int8_t TX_Power = 13;
#endif
if (radio.setOutputPower(TX_Power) == RADIOLIB_ERR_INVALID_OUTPUT_POWER) {
Serial.println(F("Selected output power is invalid for this module!"));
while (true);
}
// set carrier frequency to 2410.5 MHz
if (radio.setFrequency(2400.0) == RADIOLIB_ERR_INVALID_FREQUENCY) {
Serial.println(F("Selected frequency is invalid for this module!"));
while (true);
}
// set bandwidth to 203.125 kHz
if (radio.setBandwidth(203.125) == RADIOLIB_ERR_INVALID_BANDWIDTH) {
Serial.println(F("Selected bandwidth is invalid for this module!"));
while (true);
}
// set spreading factor to 10
if (radio.setSpreadingFactor(10) == RADIOLIB_ERR_INVALID_SPREADING_FACTOR) {
Serial.println(F("Selected spreading factor is invalid for this module!"));
while (true);
}
// set coding rate to 6
if (radio.setCodingRate(6) == RADIOLIB_ERR_INVALID_CODING_RATE) {
Serial.println(F("Selected coding rate is invalid for this module!"));
while (true);
}
// set the function that will be called
// when packet transmission is finished
radio.setDio1Action(setFlag);
@ -104,15 +131,6 @@ void setup()
while (true);
}
// if needed, 'listen' mode can be disabled by calling
// any of the following methods:
//
// radio.standby()
// radio.sleep()
// radio.transmit();
// radio.receive();
// radio.readData();
// radio.scanChannel();
}

View file

@ -11,9 +11,8 @@
// #define LILYGO_T3_V1_6 //NO SUPPOTR
// #define LILYGO_T3_V2_0 //NO SUPPOTR
// #define LILYGO_T3_V1_8
#ifndef LILYGO_T3_S3_V1_0
#define LILYGO_T3_S3_V1_0
#endif
// #define LILYGO_T3_S3_V1_0 //SUPPORT
// #define LILYGO_T3_S3_V1_2 //SUPPORT
#define UNUSE_PIN (0)
@ -209,6 +208,36 @@
#define HAS_SDCARD
#define HAS_DISPLAY
#elif defined(LILYGO_T3_S3_V1_2)
#define I2C_SDA 18
#define I2C_SCL 17
#define OLED_RST UNUSE_PIN
#define RADIO_SCLK_PIN 5
#define RADIO_MISO_PIN 3
#define RADIO_MOSI_PIN 6
#define RADIO_CS_PIN 7
#define RADIO_DIO1_PIN 9
#define RADIO_DIO2_PIN 33
#define RADIO_DIO3_PIN 34
#define RADIO_RST_PIN 8
#define RADIO_BUSY_PIN 36
#define SDCARD_MOSI 11
#define SDCARD_MISO 2
#define SDCARD_SCLK 14
#define SDCARD_CS 13
#define BOARD_LED 37
#define LED_ON HIGH
#define BAT_ADC_PIN 1
#define BUTTON_PIN 0
#define HAS_SDCARD
#define HAS_DISPLAY
#else
#error "For the first use, please define the board version and model in <utilities. h>"
#endif

View file

@ -75,21 +75,49 @@ void setup()
while (true);
}
#if defined(RADIO_RX_PIN) && defined(RADIO_TX_PIN)
//Set ANT Control pins
radio.setRfSwitchPins(RADIO_RX_PIN, RADIO_TX_PIN);
#endif
// Set output power to 3 dBm !!Cannot be greater than 3dbm!!
if (radio.setOutputPower(3) == RADIOLIB_ERR_INVALID_OUTPUT_POWER) {
#ifdef LILYGO_T3_S3_V1_0
// T3 S3 V1.1 with PA Version Set output power to 3 dBm !!Cannot be greater than 3dbm!!
int8_t TX_Power = 3;
#else
// T3 S3 V1.2 (No PA) Version Set output power to 3 dBm !!Cannot be greater than 3dbm!!
int8_t TX_Power = 13;
#endif
if (radio.setOutputPower(TX_Power) == RADIOLIB_ERR_INVALID_OUTPUT_POWER) {
Serial.println(F("Selected output power is invalid for this module!"));
while (true);
}
// set carrier frequency to 2410.5 MHz
if (radio.setFrequency(2400.0) == RADIOLIB_ERR_INVALID_FREQUENCY) {
Serial.println(F("Selected frequency is invalid for this module!"));
while (true);
}
// set bandwidth to 203.125 kHz
if (radio.setBandwidth(203.125) == RADIOLIB_ERR_INVALID_BANDWIDTH) {
Serial.println(F("Selected bandwidth is invalid for this module!"));
while (true);
}
// set spreading factor to 10
if (radio.setSpreadingFactor(10) == RADIOLIB_ERR_INVALID_SPREADING_FACTOR) {
Serial.println(F("Selected spreading factor is invalid for this module!"));
while (true);
}
// set coding rate to 6
if (radio.setCodingRate(6) == RADIOLIB_ERR_INVALID_CODING_RATE) {
Serial.println(F("Selected coding rate is invalid for this module!"));
while (true);
}
// set the function that will be called
// when packet transmission is finished
radio.setDio1Action(setFlag);
@ -108,7 +136,7 @@ void setup()
// state = radio.startTransmit(byteArr, 8);
transmissionState = radio.startTransmit((uint8_t *)&counter, 4);
transmissionState = radio.startTransmit("Hello Word!");
}
@ -144,7 +172,7 @@ void loop()
}
// wait a second before transmitting again
delay(500);
delay(2);
// send another one
Serial.print(F("[SX1280] Sending another packet ... "));
@ -160,7 +188,7 @@ void loop()
int state = radio.startTransmit(byteArr, 8);
*/
transmissionState = radio.startTransmit((uint8_t *)&counter, 4);
transmissionState = radio.startTransmit("Hello Word!");
counter++;
// we're ready to send more packets,

View file

@ -11,9 +11,8 @@
// #define LILYGO_T3_V1_6 //NO SUPPOTR
// #define LILYGO_T3_V2_0 //NO SUPPOTR
// #define LILYGO_T3_V1_8
#ifndef LILYGO_T3_S3_V1_0
#define LILYGO_T3_S3_V1_0
#endif
// #define LILYGO_T3_S3_V1_0 //SUPPORT
// #define LILYGO_T3_S3_V1_2 //SUPPORT
#define UNUSE_PIN (0)
@ -209,6 +208,36 @@
#define HAS_SDCARD
#define HAS_DISPLAY
#elif defined(LILYGO_T3_S3_V1_2)
#define I2C_SDA 18
#define I2C_SCL 17
#define OLED_RST UNUSE_PIN
#define RADIO_SCLK_PIN 5
#define RADIO_MISO_PIN 3
#define RADIO_MOSI_PIN 6
#define RADIO_CS_PIN 7
#define RADIO_DIO1_PIN 9
#define RADIO_DIO2_PIN 33
#define RADIO_DIO3_PIN 34
#define RADIO_RST_PIN 8
#define RADIO_BUSY_PIN 36
#define SDCARD_MOSI 11
#define SDCARD_MISO 2
#define SDCARD_SCLK 14
#define SDCARD_CS 13
#define BOARD_LED 37
#define LED_ON HIGH
#define BAT_ADC_PIN 1
#define BUTTON_PIN 0
#define HAS_SDCARD
#define HAS_DISPLAY
#else
#error "For the first use, please define the board version and model in <utilities. h>"
#endif

View file

@ -59,7 +59,15 @@ SX1278
#define RADIO_DIO1_PIN 9 //SX1280 DIO1 = IO9
#undef RADIO_BUSY_PIN
#define RADIO_BUSY_PIN 36 //SX1280 BUSY = IO36
#ifdef LILYGO_T3_S3_V1_0
uint8_t txPower = 3; //The SX1280 PA version cannot set the power over 3dBm, otherwise it will burn the PA
#else
//T3 S3 V1.2 No PA Version
uint8_t txPower = 13;
#undef RADIO_RX_PIN
#undef RADIO_TX_PIN
#endif
float radioFreq = 2400.0;
SX1280
#else
@ -211,7 +219,7 @@ void setup()
Serial.println(F("Selected output power is invalid for this module!"));
}
#ifdef USING_SX1280
#if defined(RADIO_RX_PIN) && defined(RADIO_TX_PIN)
//The SX1280 version needs to set RX, TX antenna switching pins
radio.setRfSwitchPins(RADIO_RX_PIN, RADIO_TX_PIN);
#endif

View file

@ -12,9 +12,8 @@
/*
* This sample program only supports T3 S3
* */
#ifndef LILYGO_T3_S3_V1_0
#define LILYGO_T3_S3_V1_0
#endif
// #define LILYGO_T3_S3_V1_0 //SUPPORT
// #define LILYGO_T3_S3_V1_2 //SUPPORT
#define UNUSE_PIN (0)
@ -59,6 +58,9 @@
#define HAS_DISPLAY
#if !defined(LILYGO_T3_S3_V1_0) && !defined(LILYGO_T3_S3_V1_2)
#error "For the first use, please define the board version and model in <utilities. h>"
#endif

View file

@ -28,11 +28,19 @@
; default_envs = T_BEAM_V0_7
; default_envs = T_BEAM_V1_x
; default_envs = t-beams3-supreme
; default_envs = T3_S3_V1_X_SX1268
; default_envs = T3_S3_V1_X_SX1278
; default_envs = T3_S3_V1_X_SX1276
; default_envs = T3_S3_V1_X_SX1262
; default_envs = T3_S3_V1_X_SX1280
; default_envs = T3_S3_V1_1_SX1268
; default_envs = T3_S3_V1_1_SX1278
; default_envs = T3_S3_V1_1_SX1276
; default_envs = T3_S3_V1_1_SX1262
; default_envs = T3_S3_V1_1_SX1280
; default_envs = T3_S3_V1_2_SX1268
; default_envs = T3_S3_V1_2_SX1278
; default_envs = T3_S3_V1_2_SX1276
; default_envs = T3_S3_V1_2_SX1262
default_envs = T3_S3_V1_2_SX1280
; src_dir = examples/ArduinoLoRa/LoRaReceiver
; src_dir = examples/ArduinoLoRa/LoRaSender
@ -181,36 +189,63 @@ build_flags =
; -DLILYGO_TBeamS3_SUPREME_V3_0
; -DBOARD_HAS_PSRAM
[env:T3_S3_V1_X_SX1268]
[env:T3_S3_V1_1_SX1268]
board = t3_s3_v1_x
build_flags = ${esp32s3_base.build_flags}
-DLILYGO_T3_S3_V1_0
-DUSING_SX1268
[env:T3_S3_V1_X_SX1278]
[env:T3_S3_V1_1_SX1278]
board = t3_s3_v1_x
build_flags = ${esp32s3_base.build_flags}
-DLILYGO_T3_S3_V1_0
-DUSING_SX1278
[env:T3_S3_V1_X_SX1276]
[env:T3_S3_V1_1_SX1276]
board = t3_s3_v1_x
build_flags = ${esp32s3_base.build_flags}
-DLILYGO_T3_S3_V1_0
-DUSING_SX1276
[env:T3_S3_V1_X_SX1262]
[env:T3_S3_V1_1_SX1262]
board = t3_s3_v1_x
build_flags = ${esp32s3_base.build_flags}
-DLILYGO_T3_S3_V1_0
-DUSING_SX1262
[env:T3_S3_V1_X_SX1280]
[env:T3_S3_V1_1_SX1280]
board = t3_s3_v1_x
build_flags = ${esp32s3_base.build_flags}
-DLILYGO_T3_S3_V1_0
-DUSING_SX1280
[env:T3_S3_V1_2_SX1268]
board = t3_s3_v1_x
build_flags = ${esp32s3_base.build_flags}
-DLILYGO_T3_S3_V1_2
-DUSING_SX1268
[env:T3_S3_V1_2_SX1278]
board = t3_s3_v1_x
build_flags = ${esp32s3_base.build_flags}
-DLILYGO_T3_S3_V1_2
-DUSING_SX1278
[env:T3_S3_V1_2_SX1276]
board = t3_s3_v1_x
build_flags = ${esp32s3_base.build_flags}
-DLILYGO_T3_S3_V1_2
-DUSING_SX1276
[env:T3_S3_V1_2_SX1262]
board = t3_s3_v1_x
build_flags = ${esp32s3_base.build_flags}
-DLILYGO_T3_S3_V1_2
-DUSING_SX1262
[env:T3_S3_V1_2_SX1280]
board = t3_s3_v1_x
build_flags = ${esp32s3_base.build_flags}
-DLILYGO_T3_S3_V1_2
-DUSING_SX1280