]> git.tnoah.ca Git - lora-radio.git/commitdiff
Initial support for SX1276/8 with TCXO
authorMark Qvist <mark@unsigned.io>
Thu, 18 Jan 2024 23:10:24 +0000 (00:10 +0100)
committerMark Qvist <mark@unsigned.io>
Thu, 18 Jan 2024 23:10:24 +0000 (00:10 +0100)
Config.h
Makefile
RNode_Firmware.ino

index 07927f4286aee2bc3ff3d724ed43df37f053fd32..9ecc47d78b092a2385916fc2612fda82f964f30b 100644 (file)
--- a/Config.h
+++ b/Config.h
     #define HAS_PMU false
     #define HAS_NP false
 
+    #if defined(ENABLE_TCXO)
+        #define HAS_TCXO true
+    #endif
+
        #if MCU_VARIANT == MCU_1284P
                const int pin_cs = 4;
                const int pin_reset = 3;
                        const int pin_cs = 18;
                        const int pin_reset = 23;
                        const int pin_dio = 26;
+                       #if HAS_TCXO == true
+                               const int pin_tcxo_enable = 33;
+                       #endif
                        #if defined(EXTERNAL_LEDS)
                                const int pin_led_rx = 15;
                                const int pin_led_tx = 4;
index 91cf74d6446e7ae4c573210b9c9d6d6eb256bd56..cf4aef15033ceb08f60b717c6a0e97f47d1322ff 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -73,6 +73,9 @@ firmware-lora32_v21:
 firmware-lora32_v21_extled:
        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=0x37\" \"-DEXTERNAL_LEDS=true\""
 
+firmware-lora32_v21_tcxo:
+       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=0x37\" \"-DENABLE_TCXO=true\""
+
 firmware-heltec32_v2:
        arduino-cli compile --fqbn esp32:esp32:heltec_wifi_lora_32_V2 -e --build-property "build.partitions=no_ota" --build-property "upload.maximum_size=2097152" --build-property "compiler.cpp.extra_flags=\"-DBOARD_MODEL=0x38\""
 
@@ -157,7 +160,7 @@ upload-featheresp32:
 
 release: release-all
 
-release-all: console-site spiffs-image release-rnode release-mega2560 release-tbeam release-lora32_v10 release-lora32_v20 release-lora32_v21 release-lora32_v10_extled release-lora32_v20_extled release-lora32_v21_extled 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-mega2560 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-hashes:
        python ./release_hashes.py > ./Release/release.json
@@ -230,6 +233,15 @@ release-lora32_v21_extled:
        zip --junk-paths ./Release/rnode_firmware_lora32v21_extled.zip ./Release/esptool/esptool.py ./Release/console_image.bin build/rnode_firmware_lora32v21.boot_app0 build/rnode_firmware_lora32v21.bin build/rnode_firmware_lora32v21.bootloader build/rnode_firmware_lora32v21.partitions
        rm -r build
 
+release-lora32_v21_tcxo:
+       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=0x37\" \"-DENABLE_TCXO=true\""
+       cp ~/.arduino15/packages/esp32/hardware/esp32/2.0.*/tools/partitions/boot_app0.bin build/rnode_firmware_lora32v21.boot_app0
+       cp build/esp32.esp32.ttgo-lora32/RNode_Firmware.ino.bin build/rnode_firmware_lora32v21.bin
+       cp build/esp32.esp32.ttgo-lora32/RNode_Firmware.ino.bootloader.bin build/rnode_firmware_lora32v21.bootloader
+       cp build/esp32.esp32.ttgo-lora32/RNode_Firmware.ino.partitions.bin build/rnode_firmware_lora32v21.partitions
+       zip --junk-paths ./Release/rnode_firmware_lora32v21_tcxo.zip ./Release/esptool/esptool.py ./Release/console_image.bin build/rnode_firmware_lora32v21.boot_app0 build/rnode_firmware_lora32v21.bin build/rnode_firmware_lora32v21.bootloader build/rnode_firmware_lora32v21.partitions
+       rm -r build
+
 release-heltec32_v2:
        arduino-cli compile --fqbn esp32:esp32:heltec_wifi_lora_32_V2 -e --build-property "build.partitions=no_ota" --build-property "upload.maximum_size=2097152" --build-property "compiler.cpp.extra_flags=\"-DBOARD_MODEL=0x38\""
        cp ~/.arduino15/packages/esp32/hardware/esp32/2.0.*/tools/partitions/boot_app0.bin build/rnode_firmware_heltec32v2.boot_app0
index 53395640e8fd7c0ea7489d0779da64dec5436f57..dcddb56d652f10fb54647f35a8e2be88d840fcb8 100644 (file)
@@ -72,6 +72,11 @@ void setup() {
     pinMode(pin_led_tx, OUTPUT);
   #endif
 
+  #if HAS_TCXO == true
+    pinMode(pin_tcxo_enable, OUTPUT);
+    digitalWrite(pin_tcxo_enable, HIGH);
+  #endif
+
   // Initialise buffers
   memset(pbuf, 0, sizeof(pbuf));
   memset(cmdbuf, 0, sizeof(cmdbuf));