diff --git a/android/app/src/main/assets/rnode_products.json b/android/app/src/main/assets/rnode_products.json index e0f0cec9..a97162f0 100644 --- a/android/app/src/main/assets/rnode_products.json +++ b/android/app/src/main/assets/rnode_products.json @@ -1,521 +1,521 @@ [ - { - "name": "Heltec LoRa32 v2", - "id": 192, - "platform": 128, - "firmware_filename": "rnode_firmware_heltec32v2.zip", - "flash_config": { - "flash_size": "8MB", - "flash_files": { - "0xe000": "rnode_firmware_heltec32v2.boot_app0", - "0x1000": "rnode_firmware_heltec32v2.bootloader", - "0x10000": "rnode_firmware_heltec32v2.bin", - "0x210000": "console_image.bin", - "0x8000": "rnode_firmware_heltec32v2.partitions" - } + { + "name": "Heltec LoRa32 v2", + "id": 192, + "platform": 128, + "firmware_filename": "rnode_firmware_heltec32v2.zip", + "flash_config": { + "flash_size": "8MB", + "flash_files": { + "0xe000": "rnode_firmware_heltec32v2.boot_app0", + "0x1000": "rnode_firmware_heltec32v2.bootloader", + "0x10000": "rnode_firmware_heltec32v2.bin", + "0x210000": "console_image.bin", + "0x8000": "rnode_firmware_heltec32v2.partitions" + } + }, + "models": [ + { + "id": 196, + "name": "433 MHz", + "mapped_id": null, + "flash_config": null, + "firmware_filename": null + }, + { + "id": 201, + "name": "868 MHz / 915 MHz / 923 MHz", + "mapped_id": null, + "flash_config": null, + "firmware_filename": null + } + ] }, - "models": [ - { - "id": 196, - "name": "433 MHz", - "mapped_id": null, - "flash_config": null, - "firmware_filename": null - }, - { - "id": 201, - "name": "868 MHz / 915 MHz / 923 MHz", - "mapped_id": null, - "flash_config": null, - "firmware_filename": null - } - ] - }, - { - "name": "Heltec LoRa32 v3", - "id": 193, - "platform": 128, - "firmware_filename": "rnode_firmware_heltec32v3.zip", - "flash_config": { - "flash_size": "8MB", - "flash_files": { - "0xe000": "rnode_firmware_heltec32v3.boot_app0", - "0x0": "rnode_firmware_heltec32v3.bootloader", - "0x10000": "rnode_firmware_heltec32v3.bin", - "0x210000": "console_image.bin", - "0x8000": "rnode_firmware_heltec32v3.partitions" - } + { + "name": "Heltec LoRa32 v3", + "id": 193, + "platform": 128, + "firmware_filename": "rnode_firmware_heltec32v3.zip", + "flash_config": { + "flash_size": "8MB", + "flash_files": { + "0xe000": "rnode_firmware_heltec32v3.boot_app0", + "0x0": "rnode_firmware_heltec32v3.bootloader", + "0x10000": "rnode_firmware_heltec32v3.bin", + "0x210000": "console_image.bin", + "0x8000": "rnode_firmware_heltec32v3.partitions" + } + }, + "models": [ + { + "id": 197, + "name": "433 MHz", + "mapped_id": null, + "flash_config": null, + "firmware_filename": null + }, + { + "id": 202, + "name": "868 MHz / 915 MHz / 923 MHz", + "mapped_id": null, + "flash_config": null, + "firmware_filename": null + } + ] }, - "models": [ - { - "id": 197, - "name": "433 MHz", - "mapped_id": null, - "flash_config": null, - "firmware_filename": null - }, - { - "id": 202, - "name": "868 MHz / 915 MHz / 923 MHz", - "mapped_id": null, - "flash_config": null, - "firmware_filename": null - } - ] - }, - { - "name": "Heltec LoRa32 v4", - "platform": 128, - "firmware_filename": "rnode_firmware_heltec32v4pa.zip", - "flash_config": { - "flash_size": "16MB", - "flash_files": { - "0xe000": "rnode_firmware_heltec32v4pa.boot_app0", - "0x0": "rnode_firmware_heltec32v4pa.bootloader", - "0x10000": "rnode_firmware_heltec32v4pa.bin", - "0x210000": "console_image.bin", - "0x8000": "rnode_firmware_heltec32v4pa.partitions" - } + { + "name": "Heltec LoRa32 v4", + "platform": 128, + "firmware_filename": "rnode_firmware_heltec32v4pa.zip", + "flash_config": { + "flash_size": "16MB", + "flash_files": { + "0xe000": "rnode_firmware_heltec32v4pa.boot_app0", + "0x0": "rnode_firmware_heltec32v4pa.bootloader", + "0x10000": "rnode_firmware_heltec32v4pa.bin", + "0x210000": "console_image.bin", + "0x8000": "rnode_firmware_heltec32v4pa.partitions" + } + }, + "models": [ + { + "name": "868 MHz / 915 MHz / 923 MHz with PA", + "mapped_id": null, + "flash_config": null, + "firmware_filename": null + } + ] }, - "models": [ - { - "name": "868 MHz / 915 MHz / 923 MHz with PA", - "mapped_id": null, - "flash_config": null, - "firmware_filename": null - } - ] - }, - { - "name": "LilyGO LoRa32 v1.0", - "id": 178, - "platform": 128, - "firmware_filename": "rnode_firmware_lora32v10.zip", - "flash_config": { - "flash_size": "4MB", - "flash_files": { - "0xe000": "rnode_firmware_lora32v10.boot_app0", - "0x1000": "rnode_firmware_lora32v10.bootloader", - "0x10000": "rnode_firmware_lora32v10.bin", - "0x210000": "console_image.bin", - "0x8000": "rnode_firmware_lora32v10.partitions" - } + { + "name": "LilyGO LoRa32 v1.0", + "id": 178, + "platform": 128, + "firmware_filename": "rnode_firmware_lora32v10.zip", + "flash_config": { + "flash_size": "4MB", + "flash_files": { + "0xe000": "rnode_firmware_lora32v10.boot_app0", + "0x1000": "rnode_firmware_lora32v10.bootloader", + "0x10000": "rnode_firmware_lora32v10.bin", + "0x210000": "console_image.bin", + "0x8000": "rnode_firmware_lora32v10.partitions" + } + }, + "models": [ + { + "id": 186, + "name": "433 MHz", + "mapped_id": null, + "flash_config": null, + "firmware_filename": null + }, + { + "id": 187, + "name": "868 MHz / 915 MHz / 923 MHz", + "mapped_id": null, + "flash_config": null, + "firmware_filename": null + } + ] }, - "models": [ - { - "id": 186, - "name": "433 MHz", - "mapped_id": null, - "flash_config": null, - "firmware_filename": null - }, - { - "id": 187, - "name": "868 MHz / 915 MHz / 923 MHz", - "mapped_id": null, - "flash_config": null, - "firmware_filename": null - } - ] - }, - { - "name": "LilyGO LoRa32 v2.0", - "id": 176, - "platform": 128, - "firmware_filename": "rnode_firmware_lora32v20.zip", - "flash_config": { - "flash_size": "4MB", - "flash_files": { - "0xe000": "rnode_firmware_lora32v20.boot_app0", - "0x1000": "rnode_firmware_lora32v20.bootloader", - "0x10000": "rnode_firmware_lora32v20.bin", - "0x210000": "console_image.bin", - "0x8000": "rnode_firmware_lora32v20.partitions" - } + { + "name": "LilyGO LoRa32 v2.0", + "id": 176, + "platform": 128, + "firmware_filename": "rnode_firmware_lora32v20.zip", + "flash_config": { + "flash_size": "4MB", + "flash_files": { + "0xe000": "rnode_firmware_lora32v20.boot_app0", + "0x1000": "rnode_firmware_lora32v20.bootloader", + "0x10000": "rnode_firmware_lora32v20.bin", + "0x210000": "console_image.bin", + "0x8000": "rnode_firmware_lora32v20.partitions" + } + }, + "models": [ + { + "id": 179, + "name": "433 MHz", + "mapped_id": null, + "flash_config": null, + "firmware_filename": null + }, + { + "id": 184, + "name": "868 MHz / 915 MHz / 923 MHz", + "mapped_id": null, + "flash_config": null, + "firmware_filename": null + } + ] }, - "models": [ - { - "id": 179, - "name": "433 MHz", - "mapped_id": null, + { + "name": "LilyGO LoRa32 v2.1", + "id": 177, + "platform": 128, "flash_config": null, - "firmware_filename": null - }, - { - "id": 184, - "name": "868 MHz / 915 MHz / 923 MHz", - "mapped_id": null, - "flash_config": null, - "firmware_filename": null - } - ] - }, - { - "name": "LilyGO LoRa32 v2.1", - "id": 177, - "platform": 128, - "flash_config": null, - "models": [ - { - "id": 180, - "name": "433 MHz", - "mapped_id": null, - "flash_config": { - "flash_size": "4MB", - "flash_files": { - "0xe000": "rnode_firmware_lora32v21.boot_app0", - "0x1000": "rnode_firmware_lora32v21.bootloader", - "0x10000": "rnode_firmware_lora32v21.bin", - "0x210000": "console_image.bin", - "0x8000": "rnode_firmware_lora32v21.partitions" - } - }, - "firmware_filename": "rnode_firmware_lora32v21.zip" - }, - { - "id": 185, - "name": "868/915/923 MHz", - "mapped_id": null, - "flash_config": { - "flash_size": "4MB", - "flash_files": { - "0xe000": "rnode_firmware_lora32v21.boot_app0", - "0x1000": "rnode_firmware_lora32v21.bootloader", - "0x10000": "rnode_firmware_lora32v21.bin", - "0x210000": "console_image.bin", - "0x8000": "rnode_firmware_lora32v21.partitions" - } - }, - "firmware_filename": "rnode_firmware_lora32v21.zip" - }, - { - "id": 4, - "name": "433 MHz, with TCXO", - "mapped_id": 180, - "flash_config": { - "flash_size": "4MB", - "flash_files": { - "0xe000": "rnode_firmware_lora32v21_tcxo.boot_app0", - "0x1000": "rnode_firmware_lora32v21_tcxo.bootloader", - "0x10000": "rnode_firmware_lora32v21_tcxo.bin", - "0x210000": "console_image.bin", - "0x8000": "rnode_firmware_lora32v21_tcxo.partitions" - } - }, - "firmware_filename": "rnode_firmware_lora32v21_tcxo.zip" - }, - { - "id": 9, - "name": "868/915/923 MHz, with TCXO", - "mapped_id": 185, - "flash_config": { - "flash_size": "4MB", - "flash_files": { - "0xe000": "rnode_firmware_lora32v21_tcxo.boot_app0", - "0x1000": "rnode_firmware_lora32v21_tcxo.bootloader", - "0x10000": "rnode_firmware_lora32v21_tcxo.bin", - "0x210000": "console_image.bin", - "0x8000": "rnode_firmware_lora32v21_tcxo.partitions" - } - }, - "firmware_filename": "rnode_firmware_lora32v21_tcxo.zip" - } - ] - }, - { - "name": "LilyGO LoRa T3S3", - "id": 3, - "platform": 128, - "flash_config": null, - "models": [ - { - "id": 165, - "name": "433 MHz (with SX1278 chip)", - "mapped_id": null, - "flash_config": { - "flash_size": "4MB", - "flash_files": { - "0xe000": "rnode_firmware_t3s3_sx127x.boot_app0", - "0x0": "rnode_firmware_t3s3_sx127x.bootloader", - "0x10000": "rnode_firmware_t3s3_sx127x.bin", - "0x210000": "console_image.bin", - "0x8000": "rnode_firmware_t3s3_sx127x.partitions" - } - }, - "firmware_filename": "rnode_firmware_t3s3_sx127x.zip" - }, - { - "id": 170, - "name": "868/915/923 MHz (with SX1276 chip)", - "mapped_id": null, - "flash_config": { - "flash_size": "4MB", - "flash_files": { - "0xe000": "rnode_firmware_t3s3_sx127x.boot_app0", - "0x0": "rnode_firmware_t3s3_sx127x.bootloader", - "0x10000": "rnode_firmware_t3s3_sx127x.bin", - "0x210000": "console_image.bin", - "0x8000": "rnode_firmware_t3s3_sx127x.partitions" - } - }, - "firmware_filename": "rnode_firmware_t3s3_sx127x.zip" - }, - { - "id": 161, - "name": "433 MHz (with SX1268 chip)", - "mapped_id": null, - "flash_config": { - "flash_size": "4MB", - "flash_files": { - "0xe000": "rnode_firmware_t3s3.boot_app0", - "0x0": "rnode_firmware_t3s3.bootloader", - "0x10000": "rnode_firmware_t3s3.bin", - "0x210000": "console_image.bin", - "0x8000": "rnode_firmware_t3s3.partitions" - } - }, - "firmware_filename": "rnode_firmware_t3s3.zip" - }, - { - "id": 166, - "name": "868/915/923 MHz (with SX1262 chip)", - "mapped_id": null, - "flash_config": { - "flash_size": "4MB", - "flash_files": { - "0xe000": "rnode_firmware_t3s3.boot_app0", - "0x0": "rnode_firmware_t3s3.bootloader", - "0x10000": "rnode_firmware_t3s3.bin", - "0x210000": "console_image.bin", - "0x8000": "rnode_firmware_t3s3.partitions" - } - }, - "firmware_filename": "rnode_firmware_t3s3.zip" - }, - { - "id": 172, - "name": "2.4 GHz (with SX1280 chip)", - "mapped_id": null, - "flash_config": { - "flash_size": "4MB", - "flash_files": { - "0xe000": "rnode_firmware_t3s3_sx1280_pa.boot_app0", - "0x0": "rnode_firmware_t3s3_sx1280_pa.bootloader", - "0x10000": "rnode_firmware_t3s3_sx1280_pa.bin", - "0x210000": "console_image.bin", - "0x8000": "rnode_firmware_t3s3_sx1280_pa.partitions" - } - }, - "firmware_filename": "rnode_firmware_t3s3_sx1280_pa.zip" - } - ] - }, - { - "name": "LilyGO T-Beam", - "id": 224, - "platform": 128, - "flash_config": null, - "models": [ - { - "id": 228, - "name": "433 MHz (with SX1278 chip)", - "mapped_id": null, - "flash_config": { - "flash_size": "4MB", - "flash_files": { - "0xe000": "rnode_firmware_tbeam.boot_app0", - "0x1000": "rnode_firmware_tbeam.bootloader", - "0x10000": "rnode_firmware_tbeam.bin", - "0x210000": "console_image.bin", - "0x8000": "rnode_firmware_tbeam.partitions" - } - }, - "firmware_filename": "rnode_firmware_tbeam.zip" - }, - { - "id": 233, - "name": "868/915/923 MHz (with SX1276 chip)", - "mapped_id": null, - "flash_config": { - "flash_size": "4MB", - "flash_files": { - "0xe000": "rnode_firmware_tbeam.boot_app0", - "0x1000": "rnode_firmware_tbeam.bootloader", - "0x10000": "rnode_firmware_tbeam.bin", - "0x210000": "console_image.bin", - "0x8000": "rnode_firmware_tbeam.partitions" - } - }, - "firmware_filename": "rnode_firmware_tbeam.zip" - }, - { - "id": 227, - "name": "433 MHz (with SX1268 chip)", - "mapped_id": null, - "flash_config": { - "flash_size": "4MB", - "flash_files": { - "0xe000": "rnode_firmware_tbeam_sx1262.boot_app0", - "0x1000": "rnode_firmware_tbeam_sx1262.bootloader", - "0x10000": "rnode_firmware_tbeam_sx1262.bin", - "0x210000": "console_image.bin", - "0x8000": "rnode_firmware_tbeam_sx1262.partitions" - } - }, - "firmware_filename": "rnode_firmware_tbeam_sx1262.zip" - }, - { - "id": 232, - "name": "868/915/923 MHz (with SX1262 chip)", - "mapped_id": null, - "flash_config": { - "flash_size": "4MB", - "flash_files": { - "0xe000": "rnode_firmware_tbeam_sx1262.boot_app0", - "0x1000": "rnode_firmware_tbeam_sx1262.bootloader", - "0x10000": "rnode_firmware_tbeam_sx1262.bin", - "0x210000": "console_image.bin", - "0x8000": "rnode_firmware_tbeam_sx1262.partitions" - } - }, - "firmware_filename": "rnode_firmware_tbeam_sx1262.zip" - } - ] - }, - { - "name": "LilyGO T-Beam Supreme", - "id": 234, - "platform": 128, - "firmware_filename": "rnode_firmware_tbeam_supreme.zip", - "flash_config": { - "flash_size": "4MB", - "flash_files": { - "0xe000": "rnode_firmware_tbeam_supreme.boot_app0", - "0x0": "rnode_firmware_tbeam_supreme.bootloader", - "0x10000": "rnode_firmware_tbeam_supreme.bin", - "0x210000": "console_image.bin", - "0x8000": "rnode_firmware_tbeam_supreme.partitions" - } + "models": [ + { + "id": 180, + "name": "433 MHz", + "mapped_id": null, + "flash_config": { + "flash_size": "4MB", + "flash_files": { + "0xe000": "rnode_firmware_lora32v21.boot_app0", + "0x1000": "rnode_firmware_lora32v21.bootloader", + "0x10000": "rnode_firmware_lora32v21.bin", + "0x210000": "console_image.bin", + "0x8000": "rnode_firmware_lora32v21.partitions" + } + }, + "firmware_filename": "rnode_firmware_lora32v21.zip" + }, + { + "id": 185, + "name": "868/915/923 MHz", + "mapped_id": null, + "flash_config": { + "flash_size": "4MB", + "flash_files": { + "0xe000": "rnode_firmware_lora32v21.boot_app0", + "0x1000": "rnode_firmware_lora32v21.bootloader", + "0x10000": "rnode_firmware_lora32v21.bin", + "0x210000": "console_image.bin", + "0x8000": "rnode_firmware_lora32v21.partitions" + } + }, + "firmware_filename": "rnode_firmware_lora32v21.zip" + }, + { + "id": 4, + "name": "433 MHz, with TCXO", + "mapped_id": 180, + "flash_config": { + "flash_size": "4MB", + "flash_files": { + "0xe000": "rnode_firmware_lora32v21_tcxo.boot_app0", + "0x1000": "rnode_firmware_lora32v21_tcxo.bootloader", + "0x10000": "rnode_firmware_lora32v21_tcxo.bin", + "0x210000": "console_image.bin", + "0x8000": "rnode_firmware_lora32v21_tcxo.partitions" + } + }, + "firmware_filename": "rnode_firmware_lora32v21_tcxo.zip" + }, + { + "id": 9, + "name": "868/915/923 MHz, with TCXO", + "mapped_id": 185, + "flash_config": { + "flash_size": "4MB", + "flash_files": { + "0xe000": "rnode_firmware_lora32v21_tcxo.boot_app0", + "0x1000": "rnode_firmware_lora32v21_tcxo.bootloader", + "0x10000": "rnode_firmware_lora32v21_tcxo.bin", + "0x210000": "console_image.bin", + "0x8000": "rnode_firmware_lora32v21_tcxo.partitions" + } + }, + "firmware_filename": "rnode_firmware_lora32v21_tcxo.zip" + } + ] }, - "models": [ - { - "id": 219, - "name": "433 MHz (with SX1268 chip)", - "mapped_id": null, + { + "name": "LilyGO LoRa T3S3", + "id": 3, + "platform": 128, "flash_config": null, - "firmware_filename": null - }, - { - "id": 220, - "name": "868/915/923 MHz (with SX1262 chip)", - "mapped_id": null, - "flash_config": null, - "firmware_filename": null - } - ] - }, - { - "name": "LilyGO T-Deck", - "id": 208, - "platform": 128, - "firmware_filename": "rnode_firmware_tdeck.zip", - "flash_config": { - "flash_size": "4MB", - "flash_files": { - "0xe000": "rnode_firmware_tdeck.boot_app0", - "0x0": "rnode_firmware_tdeck.bootloader", - "0x10000": "rnode_firmware_tdeck.bin", - "0x210000": "console_image.bin", - "0x8000": "rnode_firmware_tdeck.partitions" - } + "models": [ + { + "id": 165, + "name": "433 MHz (with SX1278 chip)", + "mapped_id": null, + "flash_config": { + "flash_size": "4MB", + "flash_files": { + "0xe000": "rnode_firmware_t3s3_sx127x.boot_app0", + "0x0": "rnode_firmware_t3s3_sx127x.bootloader", + "0x10000": "rnode_firmware_t3s3_sx127x.bin", + "0x210000": "console_image.bin", + "0x8000": "rnode_firmware_t3s3_sx127x.partitions" + } + }, + "firmware_filename": "rnode_firmware_t3s3_sx127x.zip" + }, + { + "id": 170, + "name": "868/915/923 MHz (with SX1276 chip)", + "mapped_id": null, + "flash_config": { + "flash_size": "4MB", + "flash_files": { + "0xe000": "rnode_firmware_t3s3_sx127x.boot_app0", + "0x0": "rnode_firmware_t3s3_sx127x.bootloader", + "0x10000": "rnode_firmware_t3s3_sx127x.bin", + "0x210000": "console_image.bin", + "0x8000": "rnode_firmware_t3s3_sx127x.partitions" + } + }, + "firmware_filename": "rnode_firmware_t3s3_sx127x.zip" + }, + { + "id": 161, + "name": "433 MHz (with SX1268 chip)", + "mapped_id": null, + "flash_config": { + "flash_size": "4MB", + "flash_files": { + "0xe000": "rnode_firmware_t3s3.boot_app0", + "0x0": "rnode_firmware_t3s3.bootloader", + "0x10000": "rnode_firmware_t3s3.bin", + "0x210000": "console_image.bin", + "0x8000": "rnode_firmware_t3s3.partitions" + } + }, + "firmware_filename": "rnode_firmware_t3s3.zip" + }, + { + "id": 166, + "name": "868/915/923 MHz (with SX1262 chip)", + "mapped_id": null, + "flash_config": { + "flash_size": "4MB", + "flash_files": { + "0xe000": "rnode_firmware_t3s3.boot_app0", + "0x0": "rnode_firmware_t3s3.bootloader", + "0x10000": "rnode_firmware_t3s3.bin", + "0x210000": "console_image.bin", + "0x8000": "rnode_firmware_t3s3.partitions" + } + }, + "firmware_filename": "rnode_firmware_t3s3.zip" + }, + { + "id": 172, + "name": "2.4 GHz (with SX1280 chip)", + "mapped_id": null, + "flash_config": { + "flash_size": "4MB", + "flash_files": { + "0xe000": "rnode_firmware_t3s3_sx1280_pa.boot_app0", + "0x0": "rnode_firmware_t3s3_sx1280_pa.bootloader", + "0x10000": "rnode_firmware_t3s3_sx1280_pa.bin", + "0x210000": "console_image.bin", + "0x8000": "rnode_firmware_t3s3_sx1280_pa.partitions" + } + }, + "firmware_filename": "rnode_firmware_t3s3_sx1280_pa.zip" + } + ] }, - "models": [ - { - "id": 212, - "name": "433 MHz (with SX1268 chip)", - "mapped_id": null, + { + "name": "LilyGO T-Beam", + "id": 224, + "platform": 128, "flash_config": null, - "firmware_filename": null - }, - { - "id": 217, - "name": "868/915/923 MHz (with SX1262 chip)", - "mapped_id": null, + "models": [ + { + "id": 228, + "name": "433 MHz (with SX1278 chip)", + "mapped_id": null, + "flash_config": { + "flash_size": "4MB", + "flash_files": { + "0xe000": "rnode_firmware_tbeam.boot_app0", + "0x1000": "rnode_firmware_tbeam.bootloader", + "0x10000": "rnode_firmware_tbeam.bin", + "0x210000": "console_image.bin", + "0x8000": "rnode_firmware_tbeam.partitions" + } + }, + "firmware_filename": "rnode_firmware_tbeam.zip" + }, + { + "id": 233, + "name": "868/915/923 MHz (with SX1276 chip)", + "mapped_id": null, + "flash_config": { + "flash_size": "4MB", + "flash_files": { + "0xe000": "rnode_firmware_tbeam.boot_app0", + "0x1000": "rnode_firmware_tbeam.bootloader", + "0x10000": "rnode_firmware_tbeam.bin", + "0x210000": "console_image.bin", + "0x8000": "rnode_firmware_tbeam.partitions" + } + }, + "firmware_filename": "rnode_firmware_tbeam.zip" + }, + { + "id": 227, + "name": "433 MHz (with SX1268 chip)", + "mapped_id": null, + "flash_config": { + "flash_size": "4MB", + "flash_files": { + "0xe000": "rnode_firmware_tbeam_sx1262.boot_app0", + "0x1000": "rnode_firmware_tbeam_sx1262.bootloader", + "0x10000": "rnode_firmware_tbeam_sx1262.bin", + "0x210000": "console_image.bin", + "0x8000": "rnode_firmware_tbeam_sx1262.partitions" + } + }, + "firmware_filename": "rnode_firmware_tbeam_sx1262.zip" + }, + { + "id": 232, + "name": "868/915/923 MHz (with SX1262 chip)", + "mapped_id": null, + "flash_config": { + "flash_size": "4MB", + "flash_files": { + "0xe000": "rnode_firmware_tbeam_sx1262.boot_app0", + "0x1000": "rnode_firmware_tbeam_sx1262.bootloader", + "0x10000": "rnode_firmware_tbeam_sx1262.bin", + "0x210000": "console_image.bin", + "0x8000": "rnode_firmware_tbeam_sx1262.partitions" + } + }, + "firmware_filename": "rnode_firmware_tbeam_sx1262.zip" + } + ] + }, + { + "name": "LilyGO T-Beam Supreme", + "id": 234, + "platform": 128, + "firmware_filename": "rnode_firmware_tbeam_supreme.zip", + "flash_config": { + "flash_size": "4MB", + "flash_files": { + "0xe000": "rnode_firmware_tbeam_supreme.boot_app0", + "0x0": "rnode_firmware_tbeam_supreme.bootloader", + "0x10000": "rnode_firmware_tbeam_supreme.bin", + "0x210000": "console_image.bin", + "0x8000": "rnode_firmware_tbeam_supreme.partitions" + } + }, + "models": [ + { + "id": 219, + "name": "433 MHz (with SX1268 chip)", + "mapped_id": null, + "flash_config": null, + "firmware_filename": null + }, + { + "id": 220, + "name": "868/915/923 MHz (with SX1262 chip)", + "mapped_id": null, + "flash_config": null, + "firmware_filename": null + } + ] + }, + { + "name": "LilyGO T-Deck", + "id": 208, + "platform": 128, + "firmware_filename": "rnode_firmware_tdeck.zip", + "flash_config": { + "flash_size": "4MB", + "flash_files": { + "0xe000": "rnode_firmware_tdeck.boot_app0", + "0x0": "rnode_firmware_tdeck.bootloader", + "0x10000": "rnode_firmware_tdeck.bin", + "0x210000": "console_image.bin", + "0x8000": "rnode_firmware_tdeck.partitions" + } + }, + "models": [ + { + "id": 212, + "name": "433 MHz (with SX1268 chip)", + "mapped_id": null, + "flash_config": null, + "firmware_filename": null + }, + { + "id": 217, + "name": "868/915/923 MHz (with SX1262 chip)", + "mapped_id": null, + "flash_config": null, + "firmware_filename": null + } + ] + }, + { + "name": "RNode", + "id": 3, + "platform": 128, "flash_config": null, - "firmware_filename": null - } - ] - }, - { - "name": "RNode", - "id": 3, - "platform": 128, - "flash_config": null, - "models": [ - { - "id": 162, - "name": "Handheld v2.1 RNode, 410 - 525 MHz", - "mapped_id": null, - "flash_config": { - "flash_size": "4MB", - "flash_files": { - "0xe000": "rnode_firmware_ng21.boot_app0", - "0x1000": "rnode_firmware_ng21.bootloader", - "0x10000": "rnode_firmware_ng21.bin", - "0x210000": "console_image.bin", - "0x8000": "rnode_firmware_ng21.partitions" - } - }, - "firmware_filename": "rnode_firmware_ng21.zip" - }, - { - "id": 167, - "name": "Handheld v2.1 RNode, 820 - 1020 MHz", - "mapped_id": null, - "flash_config": { - "flash_size": "4MB", - "flash_files": { - "0xe000": "rnode_firmware_ng21.boot_app0", - "0x1000": "rnode_firmware_ng21.bootloader", - "0x10000": "rnode_firmware_ng21.bin", - "0x210000": "console_image.bin", - "0x8000": "rnode_firmware_ng21.partitions" - } - }, - "firmware_filename": "rnode_firmware_ng21.zip" - }, - { - "id": 161, - "name": "Prototype v2.2 RNode, 410 - 525 MHz", - "mapped_id": null, - "flash_config": { - "flash_size": "4MB", - "flash_files": { - "0xe000": "rnode_firmware_t3s3.boot_app0", - "0x0": "rnode_firmware_t3s3.bootloader", - "0x10000": "rnode_firmware_t3s3.bin", - "0x210000": "console_image.bin", - "0x8000": "rnode_firmware_t3s3.partitions" - } - }, - "firmware_filename": "rnode_firmware_t3s3.zip" - }, - { - "id": 166, - "name": "Prototype v2.2 RNode, 820 - 1020 MHz", - "mapped_id": null, - "flash_config": { - "flash_size": "4MB", - "flash_files": { - "0xe000": "rnode_firmware_t3s3.boot_app0", - "0x0": "rnode_firmware_t3s3.bootloader", - "0x10000": "rnode_firmware_t3s3.bin", - "0x210000": "console_image.bin", - "0x8000": "rnode_firmware_t3s3.partitions" - } - }, - "firmware_filename": "rnode_firmware_t3s3.zip" - } - ] - } -] \ No newline at end of file + "models": [ + { + "id": 162, + "name": "Handheld v2.1 RNode, 410 - 525 MHz", + "mapped_id": null, + "flash_config": { + "flash_size": "4MB", + "flash_files": { + "0xe000": "rnode_firmware_ng21.boot_app0", + "0x1000": "rnode_firmware_ng21.bootloader", + "0x10000": "rnode_firmware_ng21.bin", + "0x210000": "console_image.bin", + "0x8000": "rnode_firmware_ng21.partitions" + } + }, + "firmware_filename": "rnode_firmware_ng21.zip" + }, + { + "id": 167, + "name": "Handheld v2.1 RNode, 820 - 1020 MHz", + "mapped_id": null, + "flash_config": { + "flash_size": "4MB", + "flash_files": { + "0xe000": "rnode_firmware_ng21.boot_app0", + "0x1000": "rnode_firmware_ng21.bootloader", + "0x10000": "rnode_firmware_ng21.bin", + "0x210000": "console_image.bin", + "0x8000": "rnode_firmware_ng21.partitions" + } + }, + "firmware_filename": "rnode_firmware_ng21.zip" + }, + { + "id": 161, + "name": "Prototype v2.2 RNode, 410 - 525 MHz", + "mapped_id": null, + "flash_config": { + "flash_size": "4MB", + "flash_files": { + "0xe000": "rnode_firmware_t3s3.boot_app0", + "0x0": "rnode_firmware_t3s3.bootloader", + "0x10000": "rnode_firmware_t3s3.bin", + "0x210000": "console_image.bin", + "0x8000": "rnode_firmware_t3s3.partitions" + } + }, + "firmware_filename": "rnode_firmware_t3s3.zip" + }, + { + "id": 166, + "name": "Prototype v2.2 RNode, 820 - 1020 MHz", + "mapped_id": null, + "flash_config": { + "flash_size": "4MB", + "flash_files": { + "0xe000": "rnode_firmware_t3s3.boot_app0", + "0x0": "rnode_firmware_t3s3.bootloader", + "0x10000": "rnode_firmware_t3s3.bin", + "0x210000": "console_image.bin", + "0x8000": "rnode_firmware_t3s3.partitions" + } + }, + "firmware_filename": "rnode_firmware_t3s3.zip" + } + ] + } +] diff --git a/meshchatx.rsm b/meshchatx.rsm index a3898bb7..5b31af2a 100644 Binary files a/meshchatx.rsm and b/meshchatx.rsm differ diff --git a/meshchatx/src/frontend/js/rnode/Capabilities.js b/meshchatx/src/frontend/js/rnode/Capabilities.js index 6553be8c..9df02736 100644 --- a/meshchatx/src/frontend/js/rnode/Capabilities.js +++ b/meshchatx/src/frontend/js/rnode/Capabilities.js @@ -48,9 +48,9 @@ function detectSerial(env, platform) { const hasUsbPolyfillTarget = Boolean(env.navigator?.usb); const hasPolyfillModule = Boolean(env.serial); const hasNativeFlasher = - Boolean(env.MeshChatXAndroid) - && typeof env.MeshChatXAndroid.hasNativeRNodeFlasher === "function" - && Boolean(env.MeshChatXAndroid.hasNativeRNodeFlasher()); + Boolean(env.MeshChatXAndroid) && + typeof env.MeshChatXAndroid.hasNativeRNodeFlasher === "function" && + Boolean(env.MeshChatXAndroid.hasNativeRNodeFlasher()); if (hasNativeFlasher) { return { @@ -112,18 +112,14 @@ function detectBluetooth(env, platform) { if (platform.hasMeshChatXAndroid) { const bridge = env.MeshChatXAndroid; const hasPerms = - typeof bridge?.hasBluetoothPermissions === "function" - ? Boolean(bridge.hasBluetoothPermissions()) - : false; + typeof bridge?.hasBluetoothPermissions === "function" ? Boolean(bridge.hasBluetoothPermissions()) : false; return { // WebView still has no Web Bluetooth GATT. Permissions matter for // mesh RNode BLE and OS pairing. Keep transport disabled for flash // selection, but surface a clearer reason + actions. available: false, kind: "android-bridge", - reason: hasPerms - ? "android_bridge_no_web_bluetooth" - : "android_bluetooth_permission_required", + reason: hasPerms ? "android_bridge_no_web_bluetooth" : "android_bluetooth_permission_required", }; } return { diff --git a/tests/backend/test_android_codec2.py b/tests/backend/test_android_codec2.py index eeab8218..3efcd5ce 100644 --- a/tests/backend/test_android_codec2.py +++ b/tests/backend/test_android_codec2.py @@ -45,7 +45,9 @@ def test_ensure_codec2_prefers_java_load_library(): android_codec2.reset_codec2_preload_state_for_tests() with ( patch.object(android_codec2, "_is_chaquopy_android", return_value=True), - patch.object(android_codec2, "_java_system_load_library", return_value=True) as java_load, + patch.object( + android_codec2, "_java_system_load_library", return_value=True + ) as java_load, patch.object(android_codec2, "_cdll_load") as cdll, ): assert android_codec2.ensure_codec2_native_library() is True diff --git a/tests/frontend/RNodeCapabilities.test.js b/tests/frontend/RNodeCapabilities.test.js index 408fb055..271507d8 100644 --- a/tests/frontend/RNodeCapabilities.test.js +++ b/tests/frontend/RNodeCapabilities.test.js @@ -61,9 +61,7 @@ describe("Capabilities.detectCapabilities", () => { }); const caps = detectCapabilities({ env }); expect(caps.transports[TRANSPORT_BLUETOOTH].available).toBe(false); - expect(caps.transports[TRANSPORT_BLUETOOTH].reason).toBe( - "android_bluetooth_permission_required" - ); + expect(caps.transports[TRANSPORT_BLUETOOTH].reason).toBe("android_bluetooth_permission_required"); }); it("reports bluetooth available when navigator.bluetooth is present", () => { diff --git a/tests/frontend/remoteBackendUrl.test.js b/tests/frontend/remoteBackendUrl.test.js index ebff9d0d..00f8fa9b 100644 --- a/tests/frontend/remoteBackendUrl.test.js +++ b/tests/frontend/remoteBackendUrl.test.js @@ -16,9 +16,7 @@ describe("remoteBackendUrl", () => { it("normalizes http(s) LAN origins", () => { expect(normalizeRemoteBackendUrl("http://192.168.1.10:9337/")).toBe("http://192.168.1.10:9337"); - expect(normalizeRemoteBackendUrl("HTTPS://Mesh.Example:8443/app/")).toBe( - "https://mesh.example:8443/app" - ); + expect(normalizeRemoteBackendUrl("HTTPS://Mesh.Example:8443/app/")).toBe("https://mesh.example:8443/app"); }); it("rejects unsafe URLs", () => {