Makefile
  1  # Copyright (C) 2024, Mark Qvist
  2  
  3  # This program is free software: you can redistribute it and/or modify
  4  # it under the terms of the GNU General Public License as published by
  5  # the Free Software Foundation, either version 3 of the License, or
  6  # (at your option) any later version.
  7  
  8  # This program is distributed in the hope that it will be useful,
  9  # but WITHOUT ANY WARRANTY; without even the implied warranty of
 10  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 11  # GNU General Public License for more details.
 12  
 13  # You should have received a copy of the GNU General Public License
 14  # along with this program.  If not, see <https://www.gnu.org/licenses/>.
 15  
 16  # Version 2.0.17 of the Arduino ESP core is based on ESP-IDF v4.4.7
 17  ARDUINO_ESP_CORE_VER = 2.0.17
 18  # Default serial port for Station G2 upload (override: make upload-station_g2 DEVICE_PORT=/dev/ttyUSB0)
 19  DEVICE_PORT ?= /dev/ttyACM0
 20  
 21  # Version 3.2.0 of the Arduino ESP core is based on ESP-IDF v5.4.1
 22  # ARDUINO_ESP_CORE_VER = 3.2.0
 23  
 24  all: release
 25  
 26  clean:
 27  	-rm -r ./build
 28  	-rm ./Release/rnode_firmware*
 29  
 30  prep: prep-avr prep-esp32 prep-samd
 31  
 32  prep-avr:
 33  	arduino-cli core update-index --config-file arduino-cli.yaml
 34  	arduino-cli core install arduino:avr --config-file arduino-cli.yaml
 35  	arduino-cli core install unsignedio:avr --config-file arduino-cli.yaml
 36  
 37  prep-esp32:
 38  	arduino-cli core update-index --config-file arduino-cli.yaml
 39  	arduino-cli core install esp32:esp32@$(ARDUINO_ESP_CORE_VER) --config-file arduino-cli.yaml
 40  	arduino-cli lib install "Adafruit SSD1306"
 41  	arduino-cli lib install "Adafruit SH110X"
 42  	arduino-cli lib install "Adafruit ST7735 and ST7789 Library"
 43  	arduino-cli lib install "Adafruit NeoPixel"
 44  	arduino-cli lib install "XPowersLib"
 45  	arduino-cli lib install "Crypto"
 46  
 47  prep-samd:
 48  	arduino-cli core update-index --config-file arduino-cli.yaml
 49  	arduino-cli core install adafruit:samd --config-file arduino-cli.yaml
 50  
 51  prep-nrf:
 52  	arduino-cli core update-index --config-file arduino-cli.yaml
 53  	arduino-cli core install rakwireless:nrf52 --config-file arduino-cli.yaml
 54  	arduino-cli core install Heltec_nRF52:Heltec_nRF52 --config-file arduino-cli.yaml
 55  	arduino-cli core install adafruit:nrf52 --config-file arduino-cli.yaml
 56  	arduino-cli lib install "GxEPD2"
 57  	arduino-cli config set library.enable_unsafe_install true
 58  	arduino-cli lib install --git-url https://github.com/liamcottle/esp8266-oled-ssd1306#e16cee124fe26490cb14880c679321ad8ac89c95
 59  	pip install adafruit-nrfutil --upgrade
 60  
 61  console-site:
 62  	make -C Console clean site
 63  
 64  spiffs: console-site spiffs-image 
 65  
 66  spiffs-image:
 67  	python3 Release/esptool/spiffsgen.py 1966080 ./Console/build Release/console_image.bin
 68  
 69  upload-spiffs:
 70  	@echo Deploying SPIFFS image...
 71  	python3 ./Release/esptool/esptool.py --chip esp32s3 --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
 72  
 73  check_bt_buffers:
 74  	@./esp32_btbufs.py ~/.arduino15/packages/esp32/hardware/esp32/$(ARDUINO_ESP_CORE_VER)/libraries/BluetoothSerial/src/BluetoothSerial.cpp
 75  
 76  firmware:
 77  	arduino-cli compile --log --fqbn unsignedio:avr:rnode
 78  
 79  firmware-mega2560:
 80  	arduino-cli compile --log --fqbn arduino:avr:mega
 81  
 82  firmware-tbeam: check_bt_buffers
 83  	arduino-cli compile --log --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\""
 84  
 85  firmware-tbeam_sx126x: check_bt_buffers
 86  	arduino-cli compile --log --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\""
 87  
 88  firmware-t3s3:
 89  	arduino-cli compile --log --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\" \"-DMODEM=0x03\""
 90  
 91  firmware-t3s3_sx127x:
 92  	arduino-cli compile --log --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\" \"-DMODEM=0x01\""
 93  
 94  firmware-t3s3_sx1280_pa:
 95  	arduino-cli compile --log --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\" \"-DMODEM=0x04\""
 96  
 97  firmware-tdeck:
 98  	arduino-cli compile --log --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=0x3B\""
 99  
100  firmware-tbeam_supreme:
101  	arduino-cli compile --log --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=0x3D"
102  
103  firmware-lora32_v10: check_bt_buffers
104  	arduino-cli compile --log --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\""
105  
106  firmware-lora32_v10_extled: check_bt_buffers
107  	arduino-cli compile --log --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\" \"-DEXTERNAL_LEDS=true\""
108  
109  firmware-lora32_v20: check_bt_buffers
110  	arduino-cli compile --log --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=0x36\" \"-DEXTERNAL_LEDS=true\""
111  
112  firmware-lora32_v21: check_bt_buffers
113  	arduino-cli compile --log --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\""
114  
115  firmware-lora32_v21_extled: check_bt_buffers
116  	arduino-cli compile --log --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\""
117  
118  firmware-lora32_v21_tcxo: check_bt_buffers
119  	arduino-cli compile --log --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\""
120  
121  firmware-heltec32_v2: check_bt_buffers
122  	arduino-cli compile --log --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\""
123  
124  firmware-heltec32_v2_extled: check_bt_buffers
125  	arduino-cli compile --log --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\" \"-DEXTERNAL_LEDS=true\""
126  
127  firmware-heltec32_v3:
128  	arduino-cli compile --log --fqbn esp32:esp32:heltec_wifi_lora_32_V3 -e --build-property "build.partitions=no_ota" --build-property "upload.maximum_size=2097152" --build-property "compiler.cpp.extra_flags=\"-DBOARD_MODEL=0x3A\""
129  
130  firmware-heltec32_v4:
131  	arduino-cli compile --log --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=0x3F\""
132  
133  firmware-rnode_ng_20: check_bt_buffers
134  	arduino-cli compile --log --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=0x40\""
135  
136  firmware-rnode_ng_21: check_bt_buffers
137  	arduino-cli compile --log --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\""
138  
139  firmware-featheresp32: check_bt_buffers
140  	arduino-cli compile --log --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\""
141  
142  firmware-genericesp32: check_bt_buffers
143  	arduino-cli compile --log --fqbn esp32:esp32:esp32 -e --build-property "build.partitions=no_ota" --build-property "upload.maximum_size=2097152" --build-property "compiler.cpp.extra_flags=\"-DBOARD_MODEL=0x35\""
144  
145  firmware-rak4631:
146  	arduino-cli compile --log --fqbn rakwireless:nrf52:WisCoreRAK4631Board -e --build-property "build.partitions=no_ota" --build-property "upload.maximum_size=2097152" --build-property "compiler.cpp.extra_flags=\"-DBOARD_MODEL=0x51\""
147  
148  firmware-heltec_t114:
149  	arduino-cli compile --log --fqbn Heltec_nRF52:Heltec_nRF52:HT-n5262 -e --build-property "build.partitions=no_ota" --build-property "upload.maximum_size=2097152" --build-property "compiler.cpp.extra_flags=\"-DBOARD_MODEL=0x3C\""
150  
151  firmware-techo:
152  	arduino-cli compile --log --fqbn adafruit:nrf52:pca10056 -e --build-property "compiler.cpp.extra_flags=\"-DBOARD_MODEL=0x44\""
153  
154  firmware-xiao_s3:
155  	arduino-cli compile --fqbn "esp32:esp32:XIAO_ESP32S3" -e --build-property "build.partitions=no_ota" --build-property "upload.maximum_size=2097152" --build-property "compiler.cpp.extra_flags=\"-DBOARD_MODEL=0x3E\""
156  
157  firmware-station_g2:
158  	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=0x61\""
159  
160  upload:
161  	arduino-cli upload -p /dev/ttyUSB0 --fqbn unsignedio:avr:rnode
162  
163  upload-mega2560:
164  	arduino-cli upload -p /dev/ttyACM0 --fqbn arduino:avr:mega
165  
166  upload-tbeam:
167  	arduino-cli upload -p /dev/ttyUSB0 --fqbn esp32:esp32:t-beam
168  	@sleep 1
169  	rnodeconf /dev/ttyUSB0 --firmware-hash $$(./partition_hashes ./build/esp32.esp32.t-beam/RNode_Firmware_CE_G2.ino.bin)
170  	@sleep 3
171  	python3 ./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
172  
173  upload-tbeam_sx1262:
174  	arduino-cli upload -p /dev/ttyACM0 --fqbn esp32:esp32:t-beam
175  	@sleep 1
176  	rnodeconf /dev/ttyACM0 --firmware-hash $$(./partition_hashes ./build/esp32.esp32.t-beam/RNode_Firmware_CE_G2.ino.bin)
177  	@sleep 3
178  	python3 ./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
179  
180  upload-lora32_v10:
181  	arduino-cli upload -p /dev/ttyUSB0 --fqbn esp32:esp32:ttgo-lora32
182  	@sleep 1
183  	rnodeconf /dev/ttyUSB0 --firmware-hash $$(./partition_hashes ./build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.bin)
184  	@sleep 3
185  	python3 ./Release/esptool/esptool.py --chip esp32 --port /dev/ttyUSB0 --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
186  
187  upload-lora32_v20:
188  	arduino-cli upload -p /dev/ttyUSB0 --fqbn esp32:esp32:ttgo-lora32
189  	@sleep 1
190  	rnodeconf /dev/ttyUSB0 --firmware-hash $$(./partition_hashes ./build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.bin)
191  	@sleep 3
192  	python3 ./Release/esptool/esptool.py --chip esp32 --port /dev/ttyUSB0 --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
193  
194  upload-lora32_v21:
195  	arduino-cli upload -p /dev/ttyACM0 --fqbn esp32:esp32:ttgo-lora32
196  	@sleep 1
197  	rnodeconf /dev/ttyACM0 --firmware-hash $$(./partition_hashes ./build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.bin)
198  	@sleep 3
199  	python3 ./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
200  
201  upload-heltec32_v2:
202  	arduino-cli upload -p /dev/ttyUSB0 --fqbn esp32:esp32:heltec_wifi_lora_32_V2
203  	@sleep 1
204  	rnodeconf /dev/ttyUSB0 --firmware-hash $$(./partition_hashes ./build/esp32.esp32.heltec_wifi_lora_32_V2/RNode_Firmware_CE_G2.ino.bin)
205  	@sleep 3
206  	python3 ./Release/esptool/esptool.py --chip esp32 --port /dev/ttyUSB1 --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
207  
208  upload-heltec32_v3:
209  	arduino-cli upload -p /dev/ttyUSB0 --fqbn esp32:esp32:heltec_wifi_lora_32_V3
210  	@sleep 1
211  	rnodeconf /dev/ttyUSB0 --firmware-hash $$(./partition_hashes ./build/esp32.esp32.heltec_wifi_lora_32_V3/RNode_Firmware_CE_G2.ino.bin)
212  	@sleep 3
213  	python3 ./Release/esptool/esptool.py --chip esp32-s3 --port /dev/ttyUSB0 --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
214  
215  upload-heltec32_v4:
216  	arduino-cli upload -p /dev/ttyACM0 --fqbn esp32:esp32:esp32s3
217  	@sleep 1
218  	rnodeconf /dev/ttyACM0 --firmware-hash $$(./partition_hashes ./build/esp32.esp32.esp32s3/RNode_Firmware_CE_G2.ino.bin)
219  	@sleep 3
220  	python3 ./Release/esptool/esptool.py --chip esp32-s3 --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
221  
222  upload-tdeck:
223  	arduino-cli upload -p /dev/ttyACM0 --fqbn esp32:esp32:esp32s3
224  	@sleep 1
225  	rnodeconf /dev/ttyACM0 --firmware-hash $$(./partition_hashes ./build/esp32.esp32.esp32s3/RNode_Firmware_CE_G2.ino.bin)
226  	@sleep 3
227  	python3 ./Release/esptool/esptool.py --chip esp32-s3 --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
228  
229  upload-tbeam_supreme:
230  	arduino-cli upload -p /dev/ttyACM0 --fqbn esp32:esp32:esp32s3
231  	@sleep 1
232  	rnodeconf /dev/ttyACM0 --firmware-hash $$(./partition_hashes ./build/esp32.esp32.esp32s3/RNode_Firmware_CE_G2.ino.bin)
233  	@sleep 3
234  	python3 ./Release/esptool/esptool.py --chip esp32-s3 --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
235  
236  upload-rnode_ng_20:
237  	arduino-cli upload -p /dev/ttyUSB0 --fqbn esp32:esp32:ttgo-lora32
238  	@sleep 1
239  	rnodeconf /dev/ttyUSB0 --firmware-hash $$(./partition_hashes ./build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.bin)
240  	@sleep 3
241  	python3 ./Release/esptool/esptool.py --chip esp32 --port /dev/ttyUSB0 --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
242  
243  upload-rnode_ng_21:
244  	arduino-cli upload -p /dev/ttyACM0 --fqbn esp32:esp32:ttgo-lora32
245  	@sleep 1
246  	rnodeconf /dev/ttyACM0 --firmware-hash $$(./partition_hashes ./build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.bin)
247  	@sleep 3
248  	python3 ./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
249  
250  upload-t3s3:
251  	arduino-cli upload -p /dev/ttyACM0 --fqbn esp32:esp32:esp32s3
252  	@sleep 1
253  	rnodeconf /dev/ttyACM0 --firmware-hash $$(./partition_hashes ./build/esp32.esp32.esp32s3/RNode_Firmware_CE_G2.ino.bin)
254  	@sleep 3
255  	python3 ./Release/esptool/esptool.py --chip esp32s3 --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
256  
257  upload-featheresp32:
258  	arduino-cli upload -p /dev/ttyUSB0 --fqbn esp32:esp32:featheresp32
259  	@sleep 1
260  	rnodeconf /dev/ttyUSB0 --firmware-hash $$(./partition_hashes ./build/esp32.esp32.featheresp32/RNode_Firmware_CE_G2.ino.bin)
261  	@sleep 3
262  	python3 ./Release/esptool/esptool.py --chip esp32 --port /dev/ttyUSB0 --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
263  
264  upload-rak4631:
265  	arduino-cli upload -p /dev/ttyACM0 --fqbn rakwireless:nrf52:WisCoreRAK4631Board
266  	@sleep 1
267  	rnodeconf /dev/ttyACM0 --firmware-hash $$(./partition_hashes from_device /dev/ttyACM0)
268  
269  upload-heltec_t114:
270  	arduino-cli upload -p /dev/ttyACM0 --fqbn Heltec_nRF52:Heltec_nRF52:HT-n5262
271  	@sleep 1
272  	rnodeconf /dev/ttyACM0 --firmware-hash $$(./partition_hashes from_device /dev/ttyACM0)
273  
274  upload-techo:
275  	arduino-cli upload -p /dev/ttyACM0 --fqbn adafruit:nrf52:pca10056
276  	@sleep 6
277  	rnodeconf /dev/ttyACM0 --firmware-hash $$(./partition_hashes from_device /dev/ttyACM0)
278  
279  upload-xiao_s3:
280  	arduino-cli upload -p /dev/ttyACM0 --fqbn esp32:esp32:XIAO_ESP32S3
281  	@sleep 1
282  	rnodeconf /dev/ttyACM0 --firmware-hash $$(./partition_hashes ./build/esp32.esp32.XIAO_ESP32S3/RNode_Firmware_CE_G2.ino.bin)
283  	@sleep 3
284  	python3 ./Release/esptool/esptool.py --chip esp32s3 --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
285  
286  upload-station_g2:
287  	arduino-cli upload -p $(DEVICE_PORT) --fqbn esp32:esp32:esp32s3
288  	@sleep 1
289  	rnodeconf $(DEVICE_PORT) --firmware-hash $$(./partition_hashes ./build/esp32.esp32.esp32s3/RNode_Firmware_CE_G2.ino.bin)
290  	@sleep 3
291  	python3 ./Release/esptool/esptool.py --chip esp32s3 --port $(DEVICE_PORT) --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
292  
293  release: release-all
294  
295  release-all: console-site spiffs-image 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 release-lora32_v21_tcxo release-featheresp32 release-genericesp32 release-heltec32_v2 release-heltec32_v3 release-heltec32_v4 release-heltec32_v2_extled release-heltec_t114 release-techo release-rnode_ng_20 release-rnode_ng_21 release-t3s3 release-t3s3_sx127x release-t3s3_sx1280_pa release-tdeck release-tbeam_supreme release-rak4631 release-xiao_s3 release-station_g2 release-hashes
296  
297  release-hashes:
298  	python3 ./release_hashes.py > ./Release/release.json
299  
300  release-rnode:
301  	arduino-cli compile --fqbn unsignedio:avr:rnode -e
302  	cp build/unsignedio.avr.rnode/RNode_Firmware_CE_G2.ino.hex Release/rnode_firmware.hex
303  	rm -r build
304  
305  release-tbeam: check_bt_buffers
306  	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\""
307  	cp ~/.arduino15/packages/esp32/hardware/esp32/$(ARDUINO_ESP_CORE_VER)/tools/partitions/boot_app0.bin build/rnode_firmware_tbeam.boot_app0
308  	cp build/esp32.esp32.t-beam/RNode_Firmware_CE_G2.ino.bin build/rnode_firmware_tbeam.bin
309  	cp build/esp32.esp32.t-beam/RNode_Firmware_CE_G2.ino.bootloader.bin build/rnode_firmware_tbeam.bootloader
310  	cp build/esp32.esp32.t-beam/RNode_Firmware_CE_G2.ino.partitions.bin build/rnode_firmware_tbeam.partitions
311  	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
312  	rm -r build
313  
314  release-tbeam_sx1262: check_bt_buffers
315  	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\""
316  	cp ~/.arduino15/packages/esp32/hardware/esp32/$(ARDUINO_ESP_CORE_VER)/tools/partitions/boot_app0.bin build/rnode_firmware_tbeam_sx1262.boot_app0
317  	cp build/esp32.esp32.t-beam/RNode_Firmware_CE_G2.ino.bin build/rnode_firmware_tbeam_sx1262.bin
318  	cp build/esp32.esp32.t-beam/RNode_Firmware_CE_G2.ino.bootloader.bin build/rnode_firmware_tbeam_sx1262.bootloader
319  	cp build/esp32.esp32.t-beam/RNode_Firmware_CE_G2.ino.partitions.bin build/rnode_firmware_tbeam_sx1262.partitions
320  	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
321  	rm -r build
322  
323  release-lora32_v10: check_bt_buffers
324  	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\""
325  	cp ~/.arduino15/packages/esp32/hardware/esp32/$(ARDUINO_ESP_CORE_VER)/tools/partitions/boot_app0.bin build/rnode_firmware_lora32v10.boot_app0
326  	cp build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.bin build/rnode_firmware_lora32v10.bin
327  	cp build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.bootloader.bin build/rnode_firmware_lora32v10.bootloader
328  	cp build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.partitions.bin build/rnode_firmware_lora32v10.partitions
329  	zip --junk-paths ./Release/rnode_firmware_lora32v10.zip ./Release/esptool/esptool.py ./Release/console_image.bin build/rnode_firmware_lora32v10.boot_app0 build/rnode_firmware_lora32v10.bin build/rnode_firmware_lora32v10.bootloader build/rnode_firmware_lora32v10.partitions
330  	rm -r build
331  
332  release-lora32_v20: check_bt_buffers
333  	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=0x36\""
334  	cp ~/.arduino15/packages/esp32/hardware/esp32/$(ARDUINO_ESP_CORE_VER)/tools/partitions/boot_app0.bin build/rnode_firmware_lora32v20.boot_app0
335  	cp build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.bin build/rnode_firmware_lora32v20.bin
336  	cp build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.bootloader.bin build/rnode_firmware_lora32v20.bootloader
337  	cp build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.partitions.bin build/rnode_firmware_lora32v20.partitions
338  	zip --junk-paths ./Release/rnode_firmware_lora32v20.zip ./Release/esptool/esptool.py ./Release/console_image.bin build/rnode_firmware_lora32v20.boot_app0 build/rnode_firmware_lora32v20.bin build/rnode_firmware_lora32v20.bootloader build/rnode_firmware_lora32v20.partitions
339  	rm -r build
340  
341  release-lora32_v21: check_bt_buffers
342  	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\""
343  	cp ~/.arduino15/packages/esp32/hardware/esp32/$(ARDUINO_ESP_CORE_VER)/tools/partitions/boot_app0.bin build/rnode_firmware_lora32v21.boot_app0
344  	cp build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.bin build/rnode_firmware_lora32v21.bin
345  	cp build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.bootloader.bin build/rnode_firmware_lora32v21.bootloader
346  	cp build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.partitions.bin build/rnode_firmware_lora32v21.partitions
347  	zip --junk-paths ./Release/rnode_firmware_lora32v21.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
348  	rm -r build
349  
350  release-lora32_v10_extled: check_bt_buffers
351  	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\" \"-DEXTERNAL_LEDS=true\""
352  	cp ~/.arduino15/packages/esp32/hardware/esp32/$(ARDUINO_ESP_CORE_VER)/tools/partitions/boot_app0.bin build/rnode_firmware_lora32v10.boot_app0
353  	cp build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.bin build/rnode_firmware_lora32v10.bin
354  	cp build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.bootloader.bin build/rnode_firmware_lora32v10.bootloader
355  	cp build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.partitions.bin build/rnode_firmware_lora32v10.partitions
356  	zip --junk-paths ./Release/rnode_firmware_lora32v10.zip ./Release/esptool/esptool.py ./Release/console_image.bin build/rnode_firmware_lora32v10.boot_app0 build/rnode_firmware_lora32v10.bin build/rnode_firmware_lora32v10.bootloader build/rnode_firmware_lora32v10.partitions
357  	rm -r build
358  
359  release-lora32_v20_extled: check_bt_buffers
360  	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=0x36\" \"-DEXTERNAL_LEDS=true\""
361  	cp ~/.arduino15/packages/esp32/hardware/esp32/$(ARDUINO_ESP_CORE_VER)/tools/partitions/boot_app0.bin build/rnode_firmware_lora32v20.boot_app0
362  	cp build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.bin build/rnode_firmware_lora32v20.bin
363  	cp build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.bootloader.bin build/rnode_firmware_lora32v20.bootloader
364  	cp build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.partitions.bin build/rnode_firmware_lora32v20.partitions
365  	zip --junk-paths ./Release/rnode_firmware_lora32v20_extled.zip ./Release/esptool/esptool.py ./Release/console_image.bin build/rnode_firmware_lora32v20.boot_app0 build/rnode_firmware_lora32v20.bin build/rnode_firmware_lora32v20.bootloader build/rnode_firmware_lora32v20.partitions
366  	rm -r build
367  
368  release-lora32_v21_extled: check_bt_buffers
369  	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\""
370  	cp ~/.arduino15/packages/esp32/hardware/esp32/$(ARDUINO_ESP_CORE_VER)/tools/partitions/boot_app0.bin build/rnode_firmware_lora32v21.boot_app0
371  	cp build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.bin build/rnode_firmware_lora32v21.bin
372  	cp build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.bootloader.bin build/rnode_firmware_lora32v21.bootloader
373  	cp build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.partitions.bin build/rnode_firmware_lora32v21.partitions
374  	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
375  	rm -r build
376  
377  release-lora32_v21_tcxo: check_bt_buffers
378  	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\""
379  	cp ~/.arduino15/packages/esp32/hardware/esp32/$(ARDUINO_ESP_CORE_VER)/tools/partitions/boot_app0.bin build/rnode_firmware_lora32v21_tcxo.boot_app0
380  	cp build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.bin build/rnode_firmware_lora32v21_tcxo.bin
381  	cp build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.bootloader.bin build/rnode_firmware_lora32v21_tcxo.bootloader
382  	cp build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.partitions.bin build/rnode_firmware_lora32v21_tcxo.partitions
383  	zip --junk-paths ./Release/rnode_firmware_lora32v21_tcxo.zip ./Release/esptool/esptool.py ./Release/console_image.bin build/rnode_firmware_lora32v21_tcxo.boot_app0 build/rnode_firmware_lora32v21_tcxo.bin build/rnode_firmware_lora32v21_tcxo.bootloader build/rnode_firmware_lora32v21_tcxo.partitions
384  	rm -r build
385  
386  release-heltec32_v2: check_bt_buffers
387  	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\""
388  	cp ~/.arduino15/packages/esp32/hardware/esp32/$(ARDUINO_ESP_CORE_VER)/tools/partitions/boot_app0.bin build/rnode_firmware_heltec32v2.boot_app0
389  	cp build/esp32.esp32.heltec_wifi_lora_32_V2/RNode_Firmware_CE_G2.ino.bin build/rnode_firmware_heltec32v2.bin
390  	cp build/esp32.esp32.heltec_wifi_lora_32_V2/RNode_Firmware_CE_G2.ino.bootloader.bin build/rnode_firmware_heltec32v2.bootloader
391  	cp build/esp32.esp32.heltec_wifi_lora_32_V2/RNode_Firmware_CE_G2.ino.partitions.bin build/rnode_firmware_heltec32v2.partitions
392  	zip --junk-paths ./Release/rnode_firmware_heltec32v2.zip ./Release/esptool/esptool.py ./Release/console_image.bin build/rnode_firmware_heltec32v2.boot_app0 build/rnode_firmware_heltec32v2.bin build/rnode_firmware_heltec32v2.bootloader build/rnode_firmware_heltec32v2.partitions
393  	rm -r build
394  
395  release-heltec32_v3: check_bt_buffers
396  	arduino-cli compile --fqbn esp32:esp32:heltec_wifi_lora_32_V3 -e --build-property "build.partitions=no_ota" --build-property "upload.maximum_size=2097152" --build-property "compiler.cpp.extra_flags=\"-DBOARD_MODEL=0x3A\""
397  	cp ~/.arduino15/packages/esp32/hardware/esp32/$(ARDUINO_ESP_CORE_VER)/tools/partitions/boot_app0.bin build/rnode_firmware_heltec32v3.boot_app0
398  	cp build/esp32.esp32.heltec_wifi_lora_32_V3/RNode_Firmware_CE_G2.ino.bin build/rnode_firmware_heltec32v3.bin
399  	cp build/esp32.esp32.heltec_wifi_lora_32_V3/RNode_Firmware_CE_G2.ino.bootloader.bin build/rnode_firmware_heltec32v3.bootloader
400  	cp build/esp32.esp32.heltec_wifi_lora_32_V3/RNode_Firmware_CE_G2.ino.partitions.bin build/rnode_firmware_heltec32v3.partitions
401  	zip --junk-paths ./Release/rnode_firmware_heltec32v3.zip ./Release/esptool/esptool.py ./Release/console_image.bin build/rnode_firmware_heltec32v3.boot_app0 build/rnode_firmware_heltec32v3.bin build/rnode_firmware_heltec32v3.bootloader build/rnode_firmware_heltec32v3.partitions
402  	rm -r build
403  
404  release-heltec32_v4: check_bt_buffers
405  	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=0x3F\""
406  	cp ~/.arduino15/packages/esp32/hardware/esp32/$(ARDUINO_ESP_CORE_VER)/tools/partitions/boot_app0.bin build/rnode_firmware_heltec32v4pa.boot_app0
407  	cp build/esp32.esp32.esp32s3/RNode_Firmware_CE_G2.ino.bin build/rnode_firmware_heltec32v4pa.bin
408  	cp build/esp32.esp32.esp32s3/RNode_Firmware_CE_G2.ino.bootloader.bin build/rnode_firmware_heltec32v4pa.bootloader
409  	cp build/esp32.esp32.esp32s3/RNode_Firmware_CE_G2.ino.partitions.bin build/rnode_firmware_heltec32v4pa.partitions
410  	zip --junk-paths ./Release/rnode_firmware_heltec32v4pa.zip ./Release/esptool/esptool.py ./Release/console_image.bin build/rnode_firmware_heltec32v4pa.boot_app0 build/rnode_firmware_heltec32v4pa.bin build/rnode_firmware_heltec32v4pa.bootloader build/rnode_firmware_heltec32v4pa.partitions
411  	rm -r build
412  
413  release-heltec32_v2_extled: check_bt_buffers
414  	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\" \"-DEXTERNAL_LEDS=true\""
415  	cp ~/.arduino15/packages/esp32/hardware/esp32/$(ARDUINO_ESP_CORE_VER)/tools/partitions/boot_app0.bin build/rnode_firmware_heltec32v2.boot_app0
416  	cp build/esp32.esp32.heltec_wifi_lora_32_V2/RNode_Firmware_CE_G2.ino.bin build/rnode_firmware_heltec32v2.bin
417  	cp build/esp32.esp32.heltec_wifi_lora_32_V2/RNode_Firmware_CE_G2.ino.bootloader.bin build/rnode_firmware_heltec32v2.bootloader
418  	cp build/esp32.esp32.heltec_wifi_lora_32_V2/RNode_Firmware_CE_G2.ino.partitions.bin build/rnode_firmware_heltec32v2.partitions
419  	zip --junk-paths ./Release/rnode_firmware_heltec32v2.zip ./Release/esptool/esptool.py ./Release/console_image.bin build/rnode_firmware_heltec32v2.boot_app0 build/rnode_firmware_heltec32v2.bin build/rnode_firmware_heltec32v2.bootloader build/rnode_firmware_heltec32v2.partitions
420  	rm -r build
421  
422  release-rnode_ng_20: check_bt_buffers
423  	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=0x40\""
424  	cp ~/.arduino15/packages/esp32/hardware/esp32/$(ARDUINO_ESP_CORE_VER)/tools/partitions/boot_app0.bin build/rnode_firmware_ng20.boot_app0
425  	cp build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.bin build/rnode_firmware_ng20.bin
426  	cp build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.bootloader.bin build/rnode_firmware_ng20.bootloader
427  	cp build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.partitions.bin build/rnode_firmware_ng20.partitions
428  	zip --junk-paths ./Release/rnode_firmware_ng20.zip ./Release/esptool/esptool.py ./Release/console_image.bin build/rnode_firmware_ng20.boot_app0 build/rnode_firmware_ng20.bin build/rnode_firmware_ng20.bootloader build/rnode_firmware_ng20.partitions
429  	rm -r build
430  
431  release-rnode_ng_21: check_bt_buffers
432  	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\""
433  	cp ~/.arduino15/packages/esp32/hardware/esp32/$(ARDUINO_ESP_CORE_VER)/tools/partitions/boot_app0.bin build/rnode_firmware_ng21.boot_app0
434  	cp build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.bin build/rnode_firmware_ng21.bin
435  	cp build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.bootloader.bin build/rnode_firmware_ng21.bootloader
436  	cp build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE_G2.ino.partitions.bin build/rnode_firmware_ng21.partitions
437  	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
438  	rm -r build
439  
440  release-t3s3:
441  	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\" \"-DMODEM=0x03\""
442  	cp ~/.arduino15/packages/esp32/hardware/esp32/$(ARDUINO_ESP_CORE_VER)/tools/partitions/boot_app0.bin build/rnode_firmware_t3s3.boot_app0
443  	cp build/esp32.esp32.esp32s3/RNode_Firmware_CE_G2.ino.bin build/rnode_firmware_t3s3.bin
444  	cp build/esp32.esp32.esp32s3/RNode_Firmware_CE_G2.ino.bootloader.bin build/rnode_firmware_t3s3.bootloader
445  	cp build/esp32.esp32.esp32s3/RNode_Firmware_CE_G2.ino.partitions.bin build/rnode_firmware_t3s3.partitions
446  	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
447  	rm -r build
448  
449  release-t3s3_sx1280_pa:
450  	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\" \"-DMODEM=0x04\""
451  	cp ~/.arduino15/packages/esp32/hardware/esp32/$(ARDUINO_ESP_CORE_VER)/tools/partitions/boot_app0.bin build/rnode_firmware_t3s3_sx1280_pa.boot_app0
452  	cp build/esp32.esp32.esp32s3/RNode_Firmware_CE_G2.ino.bin build/rnode_firmware_t3s3_sx1280_pa.bin
453  	cp build/esp32.esp32.esp32s3/RNode_Firmware_CE_G2.ino.bootloader.bin build/rnode_firmware_t3s3_sx1280_pa.bootloader
454  	cp build/esp32.esp32.esp32s3/RNode_Firmware_CE_G2.ino.partitions.bin build/rnode_firmware_t3s3_sx1280_pa.partitions
455  	zip --junk-paths ./Release/rnode_firmware_t3s3_sx1280_pa.zip ./Release/esptool/esptool.py ./Release/console_image.bin build/rnode_firmware_t3s3_sx1280_pa.boot_app0 build/rnode_firmware_t3s3_sx1280_pa.bin build/rnode_firmware_t3s3_sx1280_pa.bootloader build/rnode_firmware_t3s3_sx1280_pa.partitions
456  	rm -r build
457  
458  release-t3s3_sx127x:
459  	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\" \"-DMODEM=0x01\""
460  	cp ~/.arduino15/packages/esp32/hardware/esp32/$(ARDUINO_ESP_CORE_VER)/tools/partitions/boot_app0.bin build/rnode_firmware_t3s3_sx127x.boot_app0
461  	cp build/esp32.esp32.esp32s3/RNode_Firmware_CE_G2.ino.bin build/rnode_firmware_t3s3_sx127x.bin
462  	cp build/esp32.esp32.esp32s3/RNode_Firmware_CE_G2.ino.bootloader.bin build/rnode_firmware_t3s3_sx127x.bootloader
463  	cp build/esp32.esp32.esp32s3/RNode_Firmware_CE_G2.ino.partitions.bin build/rnode_firmware_t3s3_sx127x.partitions
464  	zip --junk-paths ./Release/rnode_firmware_t3s3_sx127x.zip ./Release/esptool/esptool.py ./Release/console_image.bin build/rnode_firmware_t3s3_sx127x.boot_app0 build/rnode_firmware_t3s3_sx127x.bin build/rnode_firmware_t3s3_sx127x.bootloader build/rnode_firmware_t3s3_sx127x.partitions
465  	rm -r build
466  
467  release-tdeck:
468  	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=0x3B\""
469  	cp ~/.arduino15/packages/esp32/hardware/esp32/$(ARDUINO_ESP_CORE_VER)/tools/partitions/boot_app0.bin build/rnode_firmware_tdeck.boot_app0
470  	cp build/esp32.esp32.esp32s3/RNode_Firmware_CE_G2.ino.bin build/rnode_firmware_tdeck.bin
471  	cp build/esp32.esp32.esp32s3/RNode_Firmware_CE_G2.ino.bootloader.bin build/rnode_firmware_tdeck.bootloader
472  	cp build/esp32.esp32.esp32s3/RNode_Firmware_CE_G2.ino.partitions.bin build/rnode_firmware_tdeck.partitions
473  	zip --junk-paths ./Release/rnode_firmware_tdeck.zip ./Release/esptool/esptool.py ./Release/console_image.bin build/rnode_firmware_tdeck.boot_app0 build/rnode_firmware_tdeck.bin build/rnode_firmware_tdeck.bootloader build/rnode_firmware_tdeck.partitions
474  	rm -r build
475  
476  release-tbeam_supreme:
477  	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=0x3D\""
478  	cp ~/.arduino15/packages/esp32/hardware/esp32/$(ARDUINO_ESP_CORE_VER)/tools/partitions/boot_app0.bin build/rnode_firmware_tbeam_supreme.boot_app0
479  	cp build/esp32.esp32.esp32s3/RNode_Firmware_CE_G2.ino.bin build/rnode_firmware_tbeam_supreme.bin
480  	cp build/esp32.esp32.esp32s3/RNode_Firmware_CE_G2.ino.bootloader.bin build/rnode_firmware_tbeam_supreme.bootloader
481  	cp build/esp32.esp32.esp32s3/RNode_Firmware_CE_G2.ino.partitions.bin build/rnode_firmware_tbeam_supreme.partitions
482  	zip --junk-paths ./Release/rnode_firmware_tbeam_supreme.zip ./Release/esptool/esptool.py ./Release/console_image.bin build/rnode_firmware_tbeam_supreme.boot_app0 build/rnode_firmware_tbeam_supreme.bin build/rnode_firmware_tbeam_supreme.bootloader build/rnode_firmware_tbeam_supreme.partitions
483  	rm -r build
484  
485  release-featheresp32: check_bt_buffers
486  	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\""
487  	cp ~/.arduino15/packages/esp32/hardware/esp32/$(ARDUINO_ESP_CORE_VER)/tools/partitions/boot_app0.bin build/rnode_firmware_featheresp32.boot_app0
488  	cp build/esp32.esp32.featheresp32/RNode_Firmware_CE_G2.ino.bin build/rnode_firmware_featheresp32.bin
489  	cp build/esp32.esp32.featheresp32/RNode_Firmware_CE_G2.ino.bootloader.bin build/rnode_firmware_featheresp32.bootloader
490  	cp build/esp32.esp32.featheresp32/RNode_Firmware_CE_G2.ino.partitions.bin build/rnode_firmware_featheresp32.partitions
491  	zip --junk-paths ./Release/rnode_firmware_featheresp32.zip ./Release/esptool/esptool.py ./Release/console_image.bin build/rnode_firmware_featheresp32.boot_app0 build/rnode_firmware_featheresp32.bin build/rnode_firmware_featheresp32.bootloader build/rnode_firmware_featheresp32.partitions
492  	rm -r build
493  
494  release-genericesp32: check_bt_buffers
495  	arduino-cli compile --fqbn esp32:esp32:esp32 -e --build-property "build.partitions=no_ota" --build-property "upload.maximum_size=2097152" --build-property "compiler.cpp.extra_flags=\"-DBOARD_MODEL=0x35\""
496  	cp ~/.arduino15/packages/esp32/hardware/esp32/$(ARDUINO_ESP_CORE_VER)/tools/partitions/boot_app0.bin build/rnode_firmware_esp32_generic.boot_app0
497  	cp build/esp32.esp32.esp32/RNode_Firmware_CE_G2.ino.bin build/rnode_firmware_esp32_generic.bin
498  	cp build/esp32.esp32.esp32/RNode_Firmware_CE_G2.ino.bootloader.bin build/rnode_firmware_esp32_generic.bootloader
499  	cp build/esp32.esp32.esp32/RNode_Firmware_CE_G2.ino.partitions.bin build/rnode_firmware_esp32_generic.partitions
500  	zip --junk-paths ./Release/rnode_firmware_esp32_generic.zip ./Release/esptool/esptool.py ./Release/console_image.bin build/rnode_firmware_esp32_generic.boot_app0 build/rnode_firmware_esp32_generic.bin build/rnode_firmware_esp32_generic.bootloader build/rnode_firmware_esp32_generic.partitions
501  	rm -r build
502  
503  release-mega2560:
504  	arduino-cli compile --fqbn arduino:avr:mega -e --build-property "compiler.cpp.extra_flags=\"-DMODEM=0x01\""
505  	cp build/arduino.avr.mega/RNode_Firmware_CE_G2.ino.hex Release/rnode_firmware_m2560.hex
506  	rm -r build
507  
508  release-rak4631:
509  	arduino-cli compile --fqbn rakwireless:nrf52:WisCoreRAK4631Board -e --build-property "build.partitions=no_ota" --build-property "upload.maximum_size=2097152" --build-property "compiler.cpp.extra_flags=\"-DBOARD_MODEL=0x51\""
510  	cp build/rakwireless.nrf52.WisCoreRAK4631Board/RNode_Firmware_CE_G2.ino.hex build/rnode_firmware_rak4631.hex
511  	adafruit-nrfutil dfu genpkg --dev-type 0x0052 --application build/rnode_firmware_rak4631.hex Release/rnode_firmware_rak4631.zip
512  
513  release-heltec_t114:
514  	arduino-cli compile --fqbn Heltec_nRF52:Heltec_nRF52:HT-n5262 -e --build-property "build.partitions=no_ota" --build-property "upload.maximum_size=2097152" --build-property "compiler.cpp.extra_flags=\"-DBOARD_MODEL=0x3C\""
515  	cp build/Heltec_nRF52.Heltec_nRF52.HT-n5262/RNode_Firmware_CE_G2.ino.hex build/rnode_firmware_heltec_t114.hex
516  	adafruit-nrfutil dfu genpkg --dev-type 0x0052 --application build/rnode_firmware_heltec_t114.hex Release/rnode_firmware_heltec_t114.zip
517  
518  release-techo:
519  	arduino-cli compile --log --fqbn adafruit:nrf52:pca10056 -e --build-property "compiler.cpp.extra_flags=\"-DBOARD_MODEL=0x44\""
520  	cp build/adafruit.nrf52.pca10056/RNode_Firmware_CE_G2.ino.hex build/rnode_firmware_techo.hex
521  	adafruit-nrfutil dfu genpkg --dev-type 0x0052 --application build/rnode_firmware_techo.hex Release/rnode_firmware_techo.zip
522  
523  release-xiao_s3:
524  	arduino-cli compile --fqbn "esp32:esp32:XIAO_ESP32S3" -e --build-property "build.partitions=no_ota" --build-property "upload.maximum_size=2097152" --build-property "compiler.cpp.extra_flags=\"-DBOARD_MODEL=0x3E\""
525  	cp ~/.arduino15/packages/esp32/hardware/esp32/$(ARDUINO_ESP_CORE_VER)/tools/partitions/boot_app0.bin build/rnode_firmware_xiao_esp32s3.boot_app0
526  	cp build/esp32.esp32.XIAO_ESP32S3/RNode_Firmware_CE_G2.ino.bin build/rnode_firmware_xiao_esp32s3.bin
527  	cp build/esp32.esp32.XIAO_ESP32S3/RNode_Firmware_CE_G2.ino.bootloader.bin build/rnode_firmware_xiao_esp32s3.bootloader
528  	cp build/esp32.esp32.XIAO_ESP32S3/RNode_Firmware_CE_G2.ino.partitions.bin build/rnode_firmware_xiao_esp32s3.partitions
529  	zip --junk-paths ./Release/rnode_firmware_xiao_esp32s3.zip ./Release/esptool/esptool.py ./Release/console_image.bin build/rnode_firmware_xiao_esp32s3.boot_app0 build/rnode_firmware_xiao_esp32s3.bin build/rnode_firmware_xiao_esp32s3.bootloader build/rnode_firmware_xiao_esp32s3.partitions
530  	rm -r build
531  
532  release-station_g2:
533  	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=0x61\""
534  	cp ~/.arduino15/packages/esp32/hardware/esp32/$(ARDUINO_ESP_CORE_VER)/tools/partitions/boot_app0.bin build/rnode_firmware_station_g2.boot_app0
535  	cp build/esp32.esp32.esp32s3/RNode_Firmware_CE_G2.ino.bin build/rnode_firmware_station_g2.bin
536  	cp build/esp32.esp32.esp32s3/RNode_Firmware_CE_G2.ino.bootloader.bin build/rnode_firmware_station_g2.bootloader
537  	cp build/esp32.esp32.esp32s3/RNode_Firmware_CE_G2.ino.partitions.bin build/rnode_firmware_station_g2.partitions
538  	zip --junk-paths ./Release/rnode_firmware_station_g2.zip ./Release/esptool/esptool.py ./Release/console_image.bin build/rnode_firmware_station_g2.boot_app0 build/rnode_firmware_station_g2.bin build/rnode_firmware_station_g2.bootloader build/rnode_firmware_station_g2.partitions
539  	rm -r build