Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
7656d81
feat(firmware): add fail-closed SoftDevice metadata and pinned mainte…
jamesarich Jul 30, 2026
e149c07
feat(firmware): verify pinned maintenance images and gate erase avail…
jamesarich Jul 30, 2026
4283dbd
feat(firmware): resolve OTAFIX bootloaders by the Board-ID the device…
jamesarich Jul 30, 2026
15e3cce
feat(firmware): read the installed SoftDevice off the drive instead o…
jamesarich Jul 30, 2026
57d4054
test(firmware): anchor both SoftDevice variants to captured hardware …
jamesarich Jul 30, 2026
ccafa03
test(firmware): cover the 0.4.3 bootloader vintage and Board-ID stabi…
jamesarich Jul 30, 2026
77bb018
feat(firmware): add UF2 volume tree read/write primitives
jamesarich Jul 30, 2026
ae3ff4e
feat(ui): add a directory-picker launcher alongside the save-file lau…
jamesarich Jul 30, 2026
9366041
feat(firmware): vet the UF2 volume and choose the image from what it …
jamesarich Jul 30, 2026
61bf887
feat(firmware): drive the multi-pass USB maintenance sequence
jamesarich Jul 30, 2026
d2fc445
style(firmware): satisfy the lint gate after the maintenance work
jamesarich Jul 30, 2026
d3bac01
feat(firmware): surface factory erase and bootloader upgrade on the R…
jamesarich Jul 30, 2026
40db007
fix(firmware): correct the claim that a .uf2 cannot update a bootloader
jamesarich Jul 30, 2026
e7593fc
test(firmware): guard the fail-closed SoftDevice map and the maintena…
jamesarich Jul 30, 2026
00961c9
feat(firmware): stop the radio transport claiming the device mid-main…
jamesarich Jul 30, 2026
22866de
fix(firmware): release the maintenance lock when the sequence's final…
jamesarich Jul 30, 2026
28a9548
fix(firmware): refuse a bootloader upgrade the maintenance gate never…
jamesarich Jul 30, 2026
079a4d6
refine(firmware): fix the three deferred review findings
jamesarich Jul 30, 2026
054d9b0
fix(firmware): stop escaping apostrophes in the new maintenance strings
jamesarich Jul 30, 2026
858bab0
Merge remote-tracking branch 'origin/main' into claude/meshtastic-fir…
jamesarich Jul 30, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .skills/compose-ui/strings-index.txt

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

252 changes: 251 additions & 1 deletion androidApp/src/main/assets/device_bootloader_ota_quirks.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,255 @@
"requiresBootloaderUpgradeForOta": true,
"infoUrl": "https://meshtastic.org/docs/getting-started/flashing-firmware/nrf52/update-nrf52-bootloader/"
}
],
"softDeviceVariants": [
{
"hwModel": 7,
"hwModelSlug": "T_ECHO",
"platformioTargets": [
"t-echo"
],
"softDevice": "6.1.1"
},
{
"hwModel": 9,
"hwModelSlug": "RAK4631",
"platformioTargets": [
"rak4631"
],
"softDevice": "6.1.1"
},
{
"hwModel": 18,
"hwModelSlug": "NANO_G2_ULTRA",
"platformioTargets": [
"nano-g2-ultra"
],
"softDevice": "6.1.1"
},
{
"hwModel": 21,
"hwModelSlug": "WIO_WM1110",
"platformioTargets": [
"wio-tracker-wm1110"
],
"softDevice": "7.3.0"
},
{
"hwModel": 22,
"hwModelSlug": "WISMESH_HUB",
"platformioTargets": [
"rak2560"
],
"softDevice": "6.1.1"
},
{
"hwModel": 29,
"hwModelSlug": "CANARYONE",
"platformioTargets": [
"canaryone"
],
"softDevice": "6.1.1"
},
{
"hwModel": 33,
"hwModelSlug": "T_ECHO_PLUS",
"platformioTargets": [
"t-echo-plus"
],
"softDevice": "6.1.1"
},
{
"hwModel": 63,
"hwModelSlug": "NRF52_PROMICRO_DIY",
"platformioTargets": [
"nrf52_promicro_diy_tcxo"
],
"softDevice": "6.1.1"
},
{
"hwModel": 69,
"hwModelSlug": "HELTEC_MESH_NODE_T114",
"platformioTargets": [
"heltec-mesh-node-t114"
],
"softDevice": "6.1.1"
},
{
"hwModel": 71,
"hwModelSlug": "TRACKER_T1000_E",
"platformioTargets": [
"tracker-t1000-e"
],
"softDevice": "7.3.0"
},
{
"hwModel": 84,
"hwModelSlug": "WISMESH_TAP",
"platformioTargets": [
"rak_wismeshtap"
],
"softDevice": "6.1.1"
},
{
"hwModel": 88,
"hwModelSlug": "XIAO_NRF52_KIT",
"platformioTargets": [
"seeed_xiao_nrf52840_kit"
],
"softDevice": "7.3.0"
},
{
"hwModel": 89,
"hwModelSlug": "THINKNODE_M1",
"platformioTargets": [
"thinknode_m1"
],
"softDevice": "6.1.1"
},
{
"hwModel": 93,
"hwModelSlug": "MUZI_BASE",
"platformioTargets": [
"muzi-base"
],
"softDevice": "6.1.1"
},
{
"hwModel": 94,
"hwModelSlug": "HELTEC_MESH_POCKET",
"platformioTargets": [
"heltec-mesh-pocket-10000",
"heltec-mesh-pocket-5000"
],
"softDevice": "6.1.1"
},
{
"hwModel": 95,
"hwModelSlug": "SEEED_SOLAR_NODE",
"platformioTargets": [
"seeed_solar_node"
],
"softDevice": "7.3.0"
},
{
"hwModel": 96,
"hwModelSlug": "NOMADSTAR_METEOR_PRO",
"platformioTargets": [
"rak4631_nomadstar_meteor_pro"
],
"softDevice": "6.1.1"
},
{
"hwModel": 99,
"hwModelSlug": "SEEED_WIO_TRACKER_L1",
"platformioTargets": [
"seeed_wio_tracker_L1"
],
"softDevice": "7.3.0"
},
{
"hwModel": 100,
"hwModelSlug": "SEEED_WIO_TRACKER_L1_EINK",
"platformioTargets": [
"seeed_wio_tracker_L1_eink"
],
"softDevice": "7.3.0"
},
{
"hwModel": 101,
"hwModelSlug": "MUZI_R1_NEO",
"platformioTargets": [
"r1-neo"
],
"softDevice": "6.1.1"
},
{
"hwModel": 105,
"hwModelSlug": "WISMESH_TAG",
"platformioTargets": [
"rak_wismeshtag"
],
"softDevice": "6.1.1"
},
{
"hwModel": 108,
"hwModelSlug": "HELTEC_MESH_SOLAR",
"platformioTargets": [
"heltec-mesh-solar"
],
"softDevice": "6.1.1"
},
{
"hwModel": 109,
"hwModelSlug": "T_ECHO_LITE",
"platformioTargets": [
"t-echo-lite"
],
"softDevice": "6.1.1"
},
{
"hwModel": 115,
"hwModelSlug": "THINKNODE_M3",
"platformioTargets": [
"thinknode_m3"
],
"softDevice": "6.1.1"
},
{
"hwModel": 117,
"hwModelSlug": "RAK3401",
"platformioTargets": [
"rak3401-1watt"
],
"softDevice": "6.1.1"
},
{
"hwModel": 119,
"hwModelSlug": "THINKNODE_M4",
"platformioTargets": [
"thinknode_m4"
],
"softDevice": "6.1.1"
},
{
"hwModel": 120,
"hwModelSlug": "THINKNODE_M6",
"platformioTargets": [
"thinknode_m6"
],
"softDevice": "6.1.1"
},
{
"hwModel": 127,
"hwModelSlug": "HELTEC_MESH_NODE_T096",
"platformioTargets": [
"heltec-mesh-node-t096"
],
"softDevice": "6.1.1"
},
{
"hwModel": 128,
"hwModelSlug": "MESH_TRACKER_X1",
"platformioTargets": [
"seeed_mesh_tracker_X1"
],
"softDevice": "7.3.0"
},
{
"hwModel": 130,
"hwModelSlug": "THINKNODE_M8",
"platformioTargets": [
"thinknode_m8"
]
},
{
"hwModel": 133,
"hwModelSlug": "HELTEC_MESH_NODE_T1",
"platformioTargets": [
"heltec-mesh-node-t1"
],
"softDevice": "6.1.1"
}
]
}
}
Loading