]> git.tnoah.ca Git - lora-radio.git/commitdiff
T3S3 SX1280 support
authorMark Qvist <mark@unsigned.io>
Fri, 3 Jan 2025 18:16:19 +0000 (19:16 +0100)
committerMark Qvist <mark@unsigned.io>
Fri, 3 Jan 2025 18:16:19 +0000 (19:16 +0100)
Boards.h
RNode_Firmware.ino
Utilities.h

index eb5476a97b4cc214b931c386f834327e23a92667..c5548b96694f58f2645f027d01a2d36e32fbc712 100644 (file)
--- a/Boards.h
+++ b/Boards.h
@@ -46,7 +46,7 @@
   #define MODEL_A5            0xA5 // RNode v2.2, 433 MHz with SX1278
   #define MODEL_A6            0xA6 // RNode v2.2, 868 MHz with SX1262
   #define MODEL_AA            0xAA // RNode v2.2, 868 MHz with SX1276
-  #define MODEL_AB            0xAB // RNode v2.2, 2.4 GHz with SX1280
+  #define MODEL_AC            0xAC // RNode v2.2, 2.4 GHz with SX1280 and PA
 
   #define PRODUCT_TBEAM       0xE0 // T-Beam devices
   #define BOARD_TBEAM         0x33
     #elif BOARD_MODEL == BOARD_RNODE_NG_22
       #define IS_ESP32S3 true
       #define HAS_DISPLAY true
-      #define HAS_CONSOLE false
+      #define HAS_CONSOLE true
       #define HAS_BLUETOOTH false
       #define HAS_BLE true
       #define HAS_PMU true
         const int pin_dio = 33;
         const int pin_tcxo_enable = -1;
       #elif MODEM == SX1280
-        #define DIO2_AS_RF_SWITCH true
+        #define DIO2_AS_RF_SWITCH false
         #define HAS_BUSY true
         #define HAS_TCXO true
         #define HAS_PA true
         const int pa_max_input = 3;
+
+        #define HAS_RF_SWITCH_RX_TX false
+        const int pin_rxen = 21;
+        const int pin_txen = 10;
+        
         const int pin_busy = 36;
         const int pin_dio = 9;
         const int pin_tcxo_enable = -1;
index 5203f6ff0fe2b1b28e2fa7ecf0335fd840210179..b9643cfb149d4238eb5be1b418a7c31e139cf1d7 100644 (file)
@@ -769,6 +769,12 @@ void serialCallback(uint8_t sbyte) {
         int txp = sbyte;
         #if MODEM == SX1262
           if (txp > 22) txp = 22;
+        #elif MODEM == SX1280
+          #if HAS_PA
+            if (txp > 20) txp = 20;
+          #else
+            if (txp > 13) txp = 13;
+          #endif
         #else
           if (txp > 17) txp = 17;
         #endif
index 1a25b894b6f6550bc36408270582375396847d4c..4d85fea97cc00c477d8a44dfaf661818b8df53eb 100644 (file)
@@ -1095,11 +1095,17 @@ void updateBitrate() {
                        if (csma_slot_ms > CSMA_SLOT_MAX_MS) { csma_slot_ms = CSMA_SLOT_MAX_MS; }
                        if (csma_slot_ms < CSMA_SLOT_MIN_MS) { csma_slot_ms = CSMA_SLOT_MIN_MS; }
                        float target_preamble_symbols = (LORA_PREAMBLE_TARGET_MS/lora_symbol_time_ms)-LORA_PREAMBLE_SYMBOLS_HW;
-                       if (target_preamble_symbols < LORA_PREAMBLE_SYMBOLS_MIN) {
-                               target_preamble_symbols = LORA_PREAMBLE_SYMBOLS_MIN;
-                       } else {
-                               target_preamble_symbols = ceil(target_preamble_symbols);
-                       }
+                       
+                       #if MODEM == SX1280
+                               target_preamble_symbols = 12;
+                       #else
+                               if (target_preamble_symbols < LORA_PREAMBLE_SYMBOLS_MIN) {
+                                       target_preamble_symbols = LORA_PREAMBLE_SYMBOLS_MIN;
+                               } else {
+                                       target_preamble_symbols = ceil(target_preamble_symbols);
+                               }
+                       #endif
+                       
                        lora_preamble_symbols = (long)target_preamble_symbols;
                        setPreamble();
                } else {