]> git.tnoah.ca Git - lora-radio.git/commitdiff
SX126x board defines
authorMark Qvist <mark@unsigned.io>
Tue, 13 Feb 2024 16:26:25 +0000 (17:26 +0100)
committerMark Qvist <mark@unsigned.io>
Tue, 13 Feb 2024 16:26:25 +0000 (17:26 +0100)
Boards.h
Makefile
ROM.h
Release/console_image.bin
Utilities.h
sx126x.cpp

index 63cb2ae10224cadd21689ee08ca30cc153ecfa1f..4f079f3447c6db60b84473059f579fcfacf243ee 100644 (file)
--- a/Boards.h
+++ b/Boards.h
     #elif BOARD_MODEL == BOARD_RNODE_NG_22
       #define IS_ESP32S3 true
       #define MODEM SX1262
+      #define DIO2_AS_RF_SWITCH true
+      #define HAS_BUSY true
+      #define HAS_TCXO true
+
       #define HAS_DISPLAY true
       #define HAS_BLE true
       #define HAS_BLUETOOTH false // TODO: Implement
       #define HAS_CONSOLE false   // TODO: Implement
       #define HAS_PMU true
-      #define HAS_NP true
+      #define HAS_NP false
       #define HAS_SD false
       #define HAS_EEPROM true
-      #define HAS_RF_SWITCH_RX_TX true
-      #define HAS_BUSY true
+
       const int pin_cs = 7;
+      const int pin_reset = 8;
       const int pin_sclk = 5;
       const int pin_mosi = 6;
       const int pin_miso = 3;
-      const int pin_reset = 8;
-      const int pin_rxen = 21;
+      const int pin_tcxo_enable = -1;
+
       const int pin_dio = 33;
       const int pin_busy = 34;
+      
       const int pin_np = 38;
       const int pin_dac = 25;
       const int pin_adc = 1;
+
       const int SD_MISO = 2;
       const int SD_MOSI = 11;
       const int SD_CLK = 14;
index 6513fdfe6c28575cb667464146d5057cbdf3e130..b0bc8c417a929b1f1fb885100b0faed5b423e362 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -66,6 +66,9 @@ 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-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\""
 
@@ -96,9 +99,6 @@ firmware-rnode_ng_20:
 firmware-rnode_ng_21:
        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=0x41\""
 
-firmware-rnode_ng_22:
-       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-featheresp32:
        arduino-cli compile --fqbn esp32:esp32:featheresp32 -e --build-property "build.partitions=no_ota" --build-property "upload.maximum_size=2097152" --build-property "compiler.cpp.extra_flags=\"-DBOARD_MODEL=0x34\""
 
@@ -118,8 +118,8 @@ upload-tbeam:
        arduino-cli upload -p /dev/ttyACM0 --fqbn esp32:esp32:t-beam
        @sleep 1
        rnodeconf /dev/ttyACM0 --firmware-hash $$(./partition_hashes ./build/esp32.esp32.t-beam/RNode_Firmware.ino.bin)
-#      @sleep 3
-#      python ./Release/esptool/esptool.py --chip esp32 --port /dev/ttyACM0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 4MB 0x210000 ./Release/console_image.bin
+       @sleep 3
+       python ./Release/esptool/esptool.py --chip esp32 --port /dev/ttyACM0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 4MB 0x210000 ./Release/console_image.bin
 
 upload-lora32_v10:
        arduino-cli upload -p /dev/ttyUSB0 --fqbn esp32:esp32:ttgo-lora32
@@ -163,7 +163,7 @@ upload-rnode_ng_21:
        @sleep 3
        python ./Release/esptool/esptool.py --chip esp32 --port /dev/ttyACM0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 4MB 0x210000 ./Release/console_image.bin
 
-upload-rnode_ng_22:
+upload-t3s3:
        arduino-cli upload -p /dev/ttyACM0 --fqbn esp32:esp32:esp32s3
        @sleep 1
        rnodeconf /dev/ttyACM0 --firmware-hash $$(./partition_hashes ./build/esp32.esp32.esp32s3/RNode_Firmware.ino.bin)
@@ -184,7 +184,7 @@ upload-rak4630:
 
 release: release-all
 
-release-all: console-site spiffs-image release-rnode release-tbeam release-lora32_v10 release-lora32_v20 release-lora32_v21 release-lora32_v10_extled release-lora32_v20_extled release-lora32_v21_extled firmware-lora32_v21_tcxo release-featheresp32 release-genericesp32 release-heltec32_v2 release-heltec32_v2_extled release-rnode_ng_20 release-rnode_ng_21 release-hashes
+release-all: console-site spiffs-image release-rnode release-tbeam release-tbeam_sx1262 release-lora32_v10 release-lora32_v20 release-lora32_v21 release-lora32_v10_extled release-lora32_v20_extled release-lora32_v21_extled firmware-lora32_v21_tcxo release-featheresp32 release-genericesp32 release-heltec32_v2 release-heltec32_v2_extled release-rnode_ng_20 release-rnode_ng_21 release-t3s3 release-hashes
 
 release-hashes:
        python ./release_hashes.py > ./Release/release.json
@@ -203,6 +203,15 @@ release-tbeam:
        zip --junk-paths ./Release/rnode_firmware_tbeam.zip ./Release/esptool/esptool.py ./Release/console_image.bin build/rnode_firmware_tbeam.boot_app0 build/rnode_firmware_tbeam.bin build/rnode_firmware_tbeam.bootloader build/rnode_firmware_tbeam.partitions
        rm -r build
 
+release-tbeam_sx1262:
+       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\""
+       cp ~/.arduino15/packages/esp32/hardware/esp32/2.0.*/tools/partitions/boot_app0.bin build/rnode_firmware_tbeam_sx1262.boot_app0
+       cp build/esp32.esp32.t-beam/RNode_Firmware.ino.bin build/rnode_firmware_tbeam_sx1262.bin
+       cp build/esp32.esp32.t-beam/RNode_Firmware.ino.bootloader.bin build/rnode_firmware_tbeam_sx1262.bootloader
+       cp build/esp32.esp32.t-beam/RNode_Firmware.ino.partitions.bin build/rnode_firmware_tbeam_sx1262.partitions
+       zip --junk-paths ./Release/rnode_firmware_tbeam_sx1262.zip ./Release/esptool/esptool.py ./Release/console_image.bin build/rnode_firmware_tbeam_sx1262.boot_app0 build/rnode_firmware_tbeam_sx1262.bin build/rnode_firmware_tbeam_sx1262.bootloader build/rnode_firmware_tbeam_sx1262.partitions
+       rm -r build
+
 release-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\""
        cp ~/.arduino15/packages/esp32/hardware/esp32/2.0.*/tools/partitions/boot_app0.bin build/rnode_firmware_lora32v10.boot_app0
@@ -302,13 +311,13 @@ release-rnode_ng_21:
        zip --junk-paths ./Release/rnode_firmware_ng21.zip ./Release/esptool/esptool.py ./Release/console_image.bin build/rnode_firmware_ng21.boot_app0 build/rnode_firmware_ng21.bin build/rnode_firmware_ng21.bootloader build/rnode_firmware_ng21.partitions
        rm -r build
 
-release-rnode_ng_22:
+release-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\""
-       cp ~/.arduino15/packages/esp32/hardware/esp32/2.0.*/tools/partitions/boot_app0.bin build/rnode_firmware_ng22.boot_app0
-       cp build/esp32.esp32.esp32s3/RNode_Firmware.ino.bin build/rnode_firmware_ng22.bin
-       cp build/esp32.esp32.esp32s3/RNode_Firmware.ino.bootloader.bin build/rnode_firmware_ng22.bootloader
-       cp build/esp32.esp32.esp32s3/RNode_Firmware.ino.partitions.bin build/rnode_firmware_ng22.partitions
-       zip --junk-paths ./Release/rnode_firmware_ng22.zip ./Release/esptool/esptool.py ./Release/console_image.bin build/rnode_firmware_ng22.boot_app0 build/rnode_firmware_ng22.bin build/rnode_firmware_ng22.bootloader build/rnode_firmware_ng22.partitions
+       cp ~/.arduino15/packages/esp32/hardware/esp32/2.0.*/tools/partitions/boot_app0.bin build/rnode_firmware_t3s3.boot_app0
+       cp build/esp32.esp32.esp32s3/RNode_Firmware.ino.bin build/rnode_firmware_t3s3.bin
+       cp build/esp32.esp32.esp32s3/RNode_Firmware.ino.bootloader.bin build/rnode_firmware_t3s3.bootloader
+       cp build/esp32.esp32.esp32s3/RNode_Firmware.ino.partitions.bin build/rnode_firmware_t3s3.partitions
+       zip --junk-paths ./Release/rnode_firmware_t3s3.zip ./Release/esptool/esptool.py ./Release/console_image.bin build/rnode_firmware_t3s3.boot_app0 build/rnode_firmware_t3s3.bin build/rnode_firmware_t3s3.bootloader build/rnode_firmware_t3s3.partitions
        rm -r build
 
 release-featheresp32:
diff --git a/ROM.h b/ROM.h
index df4dd089bb7baf2959ff2b1bd12fb799047c6beb..b1863184cca9aeeaac52f768bc8b9995ded2f421 100644 (file)
--- a/ROM.h
+++ b/ROM.h
@@ -43,6 +43,8 @@
        #define MODEL_C9 0xC9
        #define MODEL_E4 0xE4
        #define MODEL_E9 0xE9
+       #define MODEL_E3 0xE3
+       #define MODEL_E8 0xE8
        #define MODEL_FE 0xFE
        #define MODEL_FF 0xFF
 
index 5ccbbbaaa5f4c3f3de254b3337a9c529be0a156e..ac329298fae33f53a16d18456700857df6c875e9 100644 (file)
Binary files a/Release/console_image.bin and b/Release/console_image.bin differ
index 3ed11daabd578661e0a024609f7960f6f3fe361c..dcb085e81d801327a6cce1a07da059a6661fa699 100644 (file)
@@ -146,6 +146,11 @@ 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
+               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); }
+               void led_tx_off() { digitalWrite(pin_led_tx, LOW); }
        #elif BOARD_MODEL == BOARD_TBEAM
                void led_rx_on()  { digitalWrite(pin_led_rx, HIGH); }
                void led_rx_off() {     digitalWrite(pin_led_rx, LOW); }
@@ -1058,6 +1063,8 @@ void setTXPower() {
 
                if (model == MODEL_E4) LoRa->setTxPower(lora_txp, PA_OUTPUT_PA_BOOST_PIN);
                if (model == MODEL_E9) LoRa->setTxPower(lora_txp, PA_OUTPUT_PA_BOOST_PIN);
+               if (model == MODEL_E3) LoRa->setTxPower(lora_txp, PA_OUTPUT_PA_BOOST_PIN);
+               if (model == MODEL_E8) LoRa->setTxPower(lora_txp, PA_OUTPUT_PA_BOOST_PIN);
 
                if (model == MODEL_FE) LoRa->setTxPower(lora_txp, PA_OUTPUT_PA_BOOST_PIN);
                if (model == MODEL_FF) LoRa->setTxPower(lora_txp, PA_OUTPUT_RFO_PIN);
@@ -1295,7 +1302,7 @@ bool eeprom_model_valid() {
        #elif BOARD_MODEL == BOARD_HMBRW
        if (model == MODEL_FF || model == MODEL_FE) {
        #elif BOARD_MODEL == BOARD_TBEAM
-       if (model == MODEL_E4 || model == MODEL_E9) {
+       if (model == MODEL_E4 || model == MODEL_E9 || model == MODEL_E3 || model == MODEL_E8) {
        #elif BOARD_MODEL == BOARD_LORA32_V1_0
        if (model == MODEL_BA || model == MODEL_BB) {
        #elif BOARD_MODEL == BOARD_LORA32_V2_0
index 0a3cd84b1a3c6a8c4f5f7172aa928b1e258e33d6..5f6db5576b525f2e04d606cd4f0ee3009bce558e 100644 (file)
@@ -721,6 +721,8 @@ 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
+      uint8_t buf[4] = {MODE_TCXO_1_8V_6X, 0x00, 0x00, 0xFF};
     #endif
     executeOpcode(OP_DIO3_TCXO_CTRL_6X, buf, 4);
   #endif