#define MCU_ESP32 0x81
#define MCU_NRF52 0x71
+ // Boards
#define BOARD_RNODE 0x31
#define BOARD_HMBRW 0x32
#define BOARD_TBEAM 0x33
#define BOARD_HELTEC32_V3 0x3A
#define BOARD_RNODE_NG_20 0x40
#define BOARD_RNODE_NG_21 0x41
- #define BOARD_RNODE_NG_22 0x42
+ #define BOARD_T3S3 0x42
#define BOARD_GENERIC_NRF52 0x50
#define BOARD_RAK4631 0x51
+ // Variants
+ #define BOARD_T3S3_SX1262 0x01
+ #define BOARD_T3S3_SX1280 0x02
+ #define BOARD_T3S3_SX1280_PA 0x03
+
+ // Displays
#define OLED 0x01
#define EINK_BW 0x02
#define EINK_3C 0x03
}
};
- #elif BOARD_MODEL == BOARD_RNODE_NG_22
+ #elif BOARD_MODEL == BOARD_T3S3
#define IS_ESP32S3 true
#define HAS_DISPLAY true
#endif
#endif
-
+ #if BOARD_VARIANT == BOARD_T3S3_SX1262
const uint8_t interfaces[INTERFACE_COUNT] = {SX1262};
const bool interface_cfg[INTERFACE_COUNT][3] = {
// SX1262
true // DIO2_AS_RF_SWITCH
},
};
+ #elif BOARD_VARIANT == BOARD_T3S3_SX1280_PA
+ const uint8_t interfaces[INTERFACE_COUNT] = {SX1280};
+ const bool interface_cfg[INTERFACE_COUNT][3] = {
+ // SX1262
+ {
+ false, // DEFAULT_SPI
+ false, // HAS_TCXO
+ false // DIO2_AS_RF_SWITCH
+ },
+ };
+ #endif
const uint8_t interface_pins[INTERFACE_COUNT][10] = {
// SX1262
{
-1 // pin_tcxo_enable
}
};
-
#else
#error An unsupported ESP32 board was selected. Cannot compile RNode firmware.
#endif
#define DISP_RST -1
#define DISP_ADDR 0x3C
#endif
-#elif BOARD_MODEL == BOARD_RNODE_NG_22
+#elif BOARD_MODEL == BOARD_T3S3
#if DISPLAY == OLED
#define DISP_RST 21
#define DISP_ADDR 0x3C
digitalWrite(pin_display_en, LOW);
delay(50);
digitalWrite(pin_display_en, HIGH);
- #elif BOARD_MODEL == BOARD_RNODE_NG_22
+ #elif BOARD_MODEL == BOARD_T3S3
Wire.begin(SDA_OLED, SCL_OLED);
#elif BOARD_MODEL == BOARD_HELTEC32_V2
Wire.begin(SDA_OLED, SCL_OLED);
firmware-tbeam_sx126x:
arduino-cli compile --fqbn esp32:esp32:t-beam -e --build-property "build.partitions=no_ota" --build-property "upload.maximum_size=2097152" --build-property "compiler.cpp.extra_flags=\"-DBOARD_MODEL=0x33\" \"-DMODEM=0x03\""
-firmware-t3s3:
- arduino-cli compile --fqbn "esp32:esp32:esp32s3:CDCOnBoot=cdc" -e --build-property "build.partitions=no_ota" --build-property "upload.maximum_size=2097152" --build-property "compiler.cpp.extra_flags=\"-DBOARD_MODEL=0x42\""
+firmware-t3s3_sx1262:
+ arduino-cli compile --fqbn "esp32:esp32:esp32s3:CDCOnBoot=cdc" -e --build-property "build.partitions=no_ota" --build-property "upload.maximum_size=2097152" --build-property "compiler.cpp.extra_flags=\"-DBOARD_MODEL=0x42\" \"-DBOARD_VARIANT=0x01\""
+
+firmware-t3s3_sx1280_pa:
+ arduino-cli compile --fqbn "esp32:esp32:esp32s3:CDCOnBoot=cdc" -e --build-property "build.partitions=no_ota" --build-property "upload.maximum_size=2097152" --build-property "compiler.cpp.extra_flags=\"-DBOARD_MODEL=0x42\" \"-DBOARD_VARIANT=0x03\""
firmware-lora32_v10:
arduino-cli compile --fqbn esp32:esp32:ttgo-lora32 -e --build-property "build.partitions=no_ota" --build-property "upload.maximum_size=2097152" --build-property "compiler.cpp.extra_flags=\"-DBOARD_MODEL=0x39\""
Serial.begin(serial_baudrate);
- #if BOARD_MODEL != BOARD_RAK4631 && BOARD_MODEL != BOARD_RNODE_NG_22
+ #if BOARD_MODEL != BOARD_RAK4631 && BOARD_MODEL != BOARD_T3S3
// Some boards need to wait until the hardware UART is set up before booting
// the full firmware. In the case of the RAK4631, the line below will wait
// until a serial connection is actually established with a master. Thus, it
void sleep_now() {
#if HAS_SLEEP == true
- #if BOARD_MODEL == BOARD_RNODE_NG_22
+ #if BOARD_MODEL == BOARD_T3S3
display_intensity = 0;
update_display(true);
#endif
uint8_t buf[4] = {MODE_TCXO_3_3V_6X, 0x00, 0x00, 0xFF};
#elif BOARD_MODEL == BOARD_TBEAM
uint8_t buf[4] = {MODE_TCXO_1_8V_6X, 0x00, 0x00, 0xFF};
- #elif BOARD_MODEL == BOARD_RNODE_NG_22
+ #elif BOARD_MODEL == BOARD_T3S3
uint8_t buf[4] = {MODE_TCXO_1_8V_6X, 0x00, 0x00, 0xFF};
#else
uint8_t buf[4] = {0};
#if BOARD_MODEL == BOARD_HELTEC32_V3
//https://github.com/espressif/esp-idf/issues/8855
#include "hal/wdt_hal.h"
- #elif BOARD_MODEL == BOARD_RNODE_NG_22
+ #elif BOARD_MODEL == BOARD_T3S3
#include "hal/wdt_hal.h"
- #else BOARD_MODEL != BOARD_RNODE_NG_22
+ #else BOARD_MODEL != BOARD_T3S3
#include "soc/rtc_wdt.h"
#endif
#define ISR_VECT IRAM_ATTR
void led_rx_off() { digitalWrite(pin_led_rx, LOW); }
void led_tx_on() { digitalWrite(pin_led_tx, HIGH); }
void led_tx_off() { digitalWrite(pin_led_tx, LOW); }
- #elif BOARD_MODEL == BOARD_RNODE_NG_22
+ #elif BOARD_MODEL == BOARD_T3S3
void led_rx_on() { digitalWrite(pin_led_rx, HIGH); }
void led_rx_off() { digitalWrite(pin_led_rx, LOW); }
void led_tx_on() { digitalWrite(pin_led_tx, HIGH); }
if (model == MODEL_A3 || model == MODEL_A8) {
#elif BOARD_MODEL == BOARD_RNODE_NG_21
if (model == MODEL_A2 || model == MODEL_A7) {
- #elif BOARD_MODEL == BOARD_RNODE_NG_22
+ #elif BOARD_MODEL == BOARD_T3S3
if (model == MODEL_A1 || model == MODEL_A6) {
#elif BOARD_MODEL == BOARD_HMBRW
if (model == MODEL_FF || model == MODEL_FE) {