]> git.tnoah.ca Git - lora-radio.git/commitdiff
Add T3S3 target and different variants of the board
authorjacob.eva <x00010@disroot.org>
Tue, 9 Jul 2024 08:40:30 +0000 (09:40 +0100)
committerjacob.eva <x00010@disroot.org>
Tue, 9 Jul 2024 08:40:30 +0000 (09:40 +0100)
Boards.h
Display.h
Makefile
RNode_Firmware_CE.ino
Radio.cpp
Utilities.h

index 3d0a80c20679e6f91cd1d2427d5c72ce0e78500a..2165509825258bc1eaabad1dd67989fb3882f742 100644 (file)
--- a/Boards.h
+++ b/Boards.h
@@ -24,6 +24,7 @@
   #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
index cd1a59e5278afe854c0d113ffdb92e5d3137ccf3..86f50555ba0c56a8e1e6d47013d3ec4525ba062f 100644 (file)
--- a/Display.h
+++ b/Display.h
@@ -68,7 +68,7 @@ void busyCallback(const void* p) {
   #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
@@ -200,7 +200,7 @@ bool display_init() {
       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);
index 37b74baa11238a0da99afb2f97da66a3979d99ab..5cd01803bf5d2c27c70b29013ee173d640ee42f7 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -71,8 +71,11 @@ firmware-tbeam:
 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\""
index 5686ac717dc4adbff84150a8378b5725f9e42ea4..18f9e1df3c88ed0e6bc2760bacdc962dd5b4a2bd 100644 (file)
@@ -87,7 +87,7 @@ void setup() {
 
   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
@@ -1283,7 +1283,7 @@ void process_serial() {
 
 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
index 33b46a9a1f5ac03f69ce19f85b624f57a92b256c..f1edfad89c7de6cf57ee5269909e962d972600e8 100644 (file)
--- a/Radio.cpp
+++ b/Radio.cpp
@@ -735,7 +735,7 @@ void sx126x::enableTCXO() {
       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};
index bd55d4a4f5e9db91da3f991a7bf2132a30bcb3b6..407fb180c06ebe5bcfaef7aa7924b9454796f4e9 100644 (file)
@@ -65,9 +65,9 @@ uint8_t eeprom_read(uint32_t mapped_addr);
   #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
@@ -137,7 +137,7 @@ uint8_t boot_vector = 0x00;
                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); }
@@ -1332,7 +1332,7 @@ bool eeprom_model_valid() {
        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) {