Point Wireless Paper release catalogs to the 350-contact update

This commit is contained in:
mikecarper committed 2026-09-08 08:17:28 -07:00
1 parent 00015b8333
commit db143c5ed4
8 files changed
+70 -33

No files matched your search

+6 -3
View File
@@ -1363,8 +1363,8 @@
"femRx": false,
"femTx": false,
"gps": false,
"memoryNote": "Memory-corrected Full Companion: 150 contacts; the 256-message queue and all Full transports are retained. Export contacts before updating if you have more than 150; entries beyond this limit may be unavailable and a later save may omit them.",
"memorySource": "aa20e9278ebdd574c4769fdb58d46fd9d4face68",
"memoryNote": "Wireless Paper Full: 350 contacts and 40 channels; 256 offline message slots normally, 128 while mOTA borrows shared storage. Idle WiFi mOTA listening keeps all 256 slots. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots and frees scratch buffers. USB, Bluetooth, WiFi and the display are retained.",
"memorySource": "1e4d1e167a984abee34e92288b44d55f3d0e15a6",
"mqtt": false,
"platform": "ESP32_PLATFORM",
"primaryEspnow": false,
@@ -11898,5 +11898,8 @@
"webconfig": false
}
},
"source": "2630379365cf47cb7eec146b7d1b57b354efe251"
"source": "2630379365cf47cb7eec146b7d1b57b354efe251",
"memoryFollowupSources": {
"Heltec_Wireless_Paper_companion_radio_full": "1e4d1e167a984abee34e92288b44d55f3d0e15a6"
}
}
+4 -2
View File
@@ -395,9 +395,11 @@ update its entry in each page's `SHA256SUMS.txt` as well.
## Memory-corrected 1.17.1.5 downloads
Corrected downloads retain the 1.17.1.5 release page and use source suffix
`aa20e927`. The picker accepts replacement source hashes within that exact
`aa20e927`, with `1e4d1e16` for Wireless Paper Full's 350-contact follow-up.
The picker accepts replacement source hashes within that exact
release version. Its installation directions identify the nRF52 queue-sharing
behavior and the 150-contact limit on seven affected ESP32 Full profiles.
behavior, Wireless Paper Full's 350 contacts with a shared 256/128-slot queue,
and the 150-contact limit on the other six affected ESP32 Full profiles.
Those notices apply only to the corrected files. See the
[memory correction details](releases/1.17.1.5.md#memory-corrections-in-aa20e927)
and each replacement's `.memory.json` report before updating.
+4 -4
View File
@@ -20,9 +20,9 @@ companion Heltec_WSL3_companion_radio_ble_ps built companion Heltec_WSL3_compani
companion Heltec_WSL3_companion_radio_full built companion Heltec_WSL3_companion_radio_full full Heltec_WSL3_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-26303793.bin
companion Heltec_WSL3_companion_radio_usb built companion Heltec_WSL3_companion_radio_full full Heltec_WSL3_companion_radio_usb -> Heltec_WSL3_companion_radio_full (full_companion) Heltec_WSL3_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-26303793.bin
companion Heltec_WSL3_companion_radio_wifi built companion Heltec_WSL3_companion_radio_full full Heltec_WSL3_companion_radio_wifi -> Heltec_WSL3_companion_radio_full (full_companion) Heltec_WSL3_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-26303793.bin
companion Heltec_Wireless_Paper_companion_radio_ble built companion Heltec_Wireless_Paper_companion_radio_full full Heltec_Wireless_Paper_companion_radio_ble -> Heltec_Wireless_Paper_companion_radio_full (full_companion) Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-aa20e927.bin
companion Heltec_Wireless_Paper_companion_radio_ble_ps built companion Heltec_Wireless_Paper_companion_radio_full full Heltec_Wireless_Paper_companion_radio_ble_ps -> Heltec_Wireless_Paper_companion_radio_ble (runtime setting); Heltec_Wireless_Paper_companion_radio_ble -> Heltec_Wireless_Paper_companion_radio_full (full_companion) Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-aa20e927.bin
companion Heltec_Wireless_Paper_companion_radio_usb built companion Heltec_Wireless_Paper_companion_radio_full full Heltec_Wireless_Paper_companion_radio_usb -> Heltec_Wireless_Paper_companion_radio_full (full_companion) Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-aa20e927.bin
companion Heltec_Wireless_Paper_companion_radio_ble built companion Heltec_Wireless_Paper_companion_radio_full full Heltec_Wireless_Paper_companion_radio_ble -> Heltec_Wireless_Paper_companion_radio_full (full_companion) Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-1e4d1e16.bin
companion Heltec_Wireless_Paper_companion_radio_ble_ps built companion Heltec_Wireless_Paper_companion_radio_full full Heltec_Wireless_Paper_companion_radio_ble_ps -> Heltec_Wireless_Paper_companion_radio_ble (runtime setting); Heltec_Wireless_Paper_companion_radio_ble -> Heltec_Wireless_Paper_companion_radio_full (full_companion) Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-1e4d1e16.bin
companion Heltec_Wireless_Paper_companion_radio_usb built companion Heltec_Wireless_Paper_companion_radio_full full Heltec_Wireless_Paper_companion_radio_usb -> Heltec_Wireless_Paper_companion_radio_full (full_companion) Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-1e4d1e16.bin
companion Heltec_Wireless_Tracker_companion_radio_ble built companion Heltec_Wireless_Tracker_companion_radio_full full Heltec_Wireless_Tracker_companion_radio_ble -> Heltec_Wireless_Tracker_companion_radio_full (full_companion) Heltec_Wireless_Tracker_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-aa20e927.bin
companion Heltec_Wireless_Tracker_companion_radio_ble_ps built companion Heltec_Wireless_Tracker_companion_radio_full full Heltec_Wireless_Tracker_companion_radio_ble_ps -> Heltec_Wireless_Tracker_companion_radio_ble (runtime setting); Heltec_Wireless_Tracker_companion_radio_ble -> Heltec_Wireless_Tracker_companion_radio_full (full_companion) Heltec_Wireless_Tracker_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-aa20e927.bin
companion Heltec_Wireless_Tracker_companion_radio_usb built companion Heltec_Wireless_Tracker_companion_radio_full full Heltec_Wireless_Tracker_companion_radio_usb -> Heltec_Wireless_Tracker_companion_radio_full (full_companion) Heltec_Wireless_Tracker_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-aa20e927.bin
@@ -573,7 +573,7 @@ logging Heltec_WSL3_repeater-logging built repeater-room Heltec_WSL3_repeater st
logging Heltec_WSL3_repeater_bridge_rs232-logging built repeater-room Heltec_WSL3_repeater standard Heltec_WSL3_repeater_bridge_rs232 -> Heltec_WSL3_repeater (rs232) Heltec_WSL3_repeater-v1.17.1.5-halo-keymind-cascade-dev-26303793.bin
logging Heltec_WSL3_room_server-logging built repeater-room Heltec_WSL3_room_server standard Heltec_WSL3_room_server-v1.17.1.5-halo-keymind-cascade-dev-26303793.bin
logging Heltec_WSL3_sensor-logging built utility Heltec_WSL3_sensor standard Heltec_WSL3_sensor-v1.17.1.5-halo-keymind-cascade-dev-26303793.bin
logging Heltec_Wireless_Paper_companion_radio_usb-logging built companion Heltec_Wireless_Paper_companion_radio_full full Heltec_Wireless_Paper_companion_radio_usb -> Heltec_Wireless_Paper_companion_radio_full (full_companion) Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-aa20e927.bin
logging Heltec_Wireless_Paper_companion_radio_usb-logging built companion Heltec_Wireless_Paper_companion_radio_full full Heltec_Wireless_Paper_companion_radio_usb -> Heltec_Wireless_Paper_companion_radio_full (full_companion) Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-1e4d1e16.bin
logging Heltec_Wireless_Paper_repeater-logging built repeater-room Heltec_Wireless_Paper_repeater standard Heltec_Wireless_Paper_repeater-v1.17.1.5-halo-keymind-cascade-dev-26303793.bin
logging Heltec_Wireless_Paper_room_server-logging built repeater-room Heltec_Wireless_Paper_room_server standard Heltec_Wireless_Paper_room_server-v1.17.1.5-halo-keymind-cascade-dev-26303793.bin
logging Heltec_Wireless_Tracker_companion_radio_usb-logging built companion Heltec_Wireless_Tracker_companion_radio_full full Heltec_Wireless_Tracker_companion_radio_usb -> Heltec_Wireless_Tracker_companion_radio_full (full_companion) Heltec_Wireless_Tracker_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-aa20e927.bin
1 old_group old_target status new_group new_target profile mapping app_file exclusion_reason
20 companion Heltec_WSL3_companion_radio_full built companion Heltec_WSL3_companion_radio_full full Heltec_WSL3_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-26303793.bin
21 companion Heltec_WSL3_companion_radio_usb built companion Heltec_WSL3_companion_radio_full full Heltec_WSL3_companion_radio_usb -> Heltec_WSL3_companion_radio_full (full_companion) Heltec_WSL3_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-26303793.bin
22 companion Heltec_WSL3_companion_radio_wifi built companion Heltec_WSL3_companion_radio_full full Heltec_WSL3_companion_radio_wifi -> Heltec_WSL3_companion_radio_full (full_companion) Heltec_WSL3_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-26303793.bin
23 companion Heltec_Wireless_Paper_companion_radio_ble built companion Heltec_Wireless_Paper_companion_radio_full full Heltec_Wireless_Paper_companion_radio_ble -> Heltec_Wireless_Paper_companion_radio_full (full_companion) Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-aa20e927.bin Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-1e4d1e16.bin
24 companion Heltec_Wireless_Paper_companion_radio_ble_ps built companion Heltec_Wireless_Paper_companion_radio_full full Heltec_Wireless_Paper_companion_radio_ble_ps -> Heltec_Wireless_Paper_companion_radio_ble (runtime setting); Heltec_Wireless_Paper_companion_radio_ble -> Heltec_Wireless_Paper_companion_radio_full (full_companion) Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-aa20e927.bin Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-1e4d1e16.bin
25 companion Heltec_Wireless_Paper_companion_radio_usb built companion Heltec_Wireless_Paper_companion_radio_full full Heltec_Wireless_Paper_companion_radio_usb -> Heltec_Wireless_Paper_companion_radio_full (full_companion) Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-aa20e927.bin Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-1e4d1e16.bin
26 companion Heltec_Wireless_Tracker_companion_radio_ble built companion Heltec_Wireless_Tracker_companion_radio_full full Heltec_Wireless_Tracker_companion_radio_ble -> Heltec_Wireless_Tracker_companion_radio_full (full_companion) Heltec_Wireless_Tracker_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-aa20e927.bin
27 companion Heltec_Wireless_Tracker_companion_radio_ble_ps built companion Heltec_Wireless_Tracker_companion_radio_full full Heltec_Wireless_Tracker_companion_radio_ble_ps -> Heltec_Wireless_Tracker_companion_radio_ble (runtime setting); Heltec_Wireless_Tracker_companion_radio_ble -> Heltec_Wireless_Tracker_companion_radio_full (full_companion) Heltec_Wireless_Tracker_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-aa20e927.bin
28 companion Heltec_Wireless_Tracker_companion_radio_usb built companion Heltec_Wireless_Tracker_companion_radio_full full Heltec_Wireless_Tracker_companion_radio_usb -> Heltec_Wireless_Tracker_companion_radio_full (full_companion) Heltec_Wireless_Tracker_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-aa20e927.bin
573 logging Heltec_WSL3_repeater_bridge_rs232-logging built repeater-room Heltec_WSL3_repeater standard Heltec_WSL3_repeater_bridge_rs232 -> Heltec_WSL3_repeater (rs232) Heltec_WSL3_repeater-v1.17.1.5-halo-keymind-cascade-dev-26303793.bin
574 logging Heltec_WSL3_room_server-logging built repeater-room Heltec_WSL3_room_server standard Heltec_WSL3_room_server-v1.17.1.5-halo-keymind-cascade-dev-26303793.bin
575 logging Heltec_WSL3_sensor-logging built utility Heltec_WSL3_sensor standard Heltec_WSL3_sensor-v1.17.1.5-halo-keymind-cascade-dev-26303793.bin
576 logging Heltec_Wireless_Paper_companion_radio_usb-logging built companion Heltec_Wireless_Paper_companion_radio_full full Heltec_Wireless_Paper_companion_radio_usb -> Heltec_Wireless_Paper_companion_radio_full (full_companion) Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-aa20e927.bin Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-1e4d1e16.bin
577 logging Heltec_Wireless_Paper_repeater-logging built repeater-room Heltec_Wireless_Paper_repeater standard Heltec_Wireless_Paper_repeater-v1.17.1.5-halo-keymind-cascade-dev-26303793.bin
578 logging Heltec_Wireless_Paper_room_server-logging built repeater-room Heltec_Wireless_Paper_room_server standard Heltec_Wireless_Paper_room_server-v1.17.1.5-halo-keymind-cascade-dev-26303793.bin
579 logging Heltec_Wireless_Tracker_companion_radio_usb-logging built companion Heltec_Wireless_Tracker_companion_radio_full full Heltec_Wireless_Tracker_companion_radio_usb -> Heltec_Wireless_Tracker_companion_radio_full (full_companion) Heltec_Wireless_Tracker_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-aa20e927.bin
+24 -8
View File
@@ -24,17 +24,30 @@ All 583 published profiles (the 540-profile matrix plus 43 supplemental Full
repeaters) were checked against the new
[runtime RAM policy](../firmware_memory_budget.md). **All 11 failing profiles
have replacements**, and the same queue sharing has been applied to the other
41 nRF52 Full profiles: **52 corrected profiles in total**, built from
41 nRF52 Full profiles: **52 corrected profiles in total**, initially built from
[`aa20e927`](https://github.com/mikecarper/MeshCore/tree/aa20e9278ebdd574c4769fdb58d46fd9d4face68).
The existing release tags stay in place; corrected filenames end in `aa20e927`.
The existing release tags stay in place; corrected filenames end in `aa20e927`,
except Wireless Paper Full's capacity-restoring follow-up, `1e4d1e16`.
Companion remains Latest. Both Mesh America catalogs and the firmware picker
point to the replacement files.
All 43 nRF52 Full Companions keep 256 offline frames normally and lend 128
slots to mOTA while needed. The seven corrected ESP32 Full profiles below use
**150 contacts**, preserving their 256-frame queue and Full transports.
slots to mOTA while needed. Wireless Paper Full now also shares its queue and
keeps **350 contacts and 40 channels**. The other six corrected ESP32 Full
profiles below use **150 contacts**, preserving their 256-frame queue and Full transports.
**Export contacts before upgrading if you have more than 150**; entries beyond
that limit may be unavailable and a later save may omit them.
that limit may be unavailable and a later save may omit them. This warning
applies to those six profiles and the superseded `aa20e927` Wireless Paper image.
Wireless Paper Full's
[`1e4d1e16` update](https://github.com/mikecarper/MeshCore/tree/1e4d1e167a984abee34e92288b44d55f3d0e15a6)
has 256 message slots normally and 128 while an mOTA session borrows its
workspace. Idle WiFi listening leaves all 256 slots available. If more than
128 unread messages are queued, sync them with an app before starting mOTA.
Source stop/disconnect restores all 256 slots and frees ESP32 scratch buffers.
USB, Bluetooth, WiFi, the display and the partition layout are retained.
The application is 1,869,976 bytes; use its app-only `.bin` for a compatible
WiFi update, or its merged image for USB installation.
The T096 and T1 LoRa OTA repeater corrections allocate the diagnostic manual
staging buffer only when requested, recovering about 4 KiB at startup.
@@ -44,12 +57,12 @@ repairs require an explicit exact-target manual LoRa installation or USB;
forward-only trusted autoinstall does not select an equal-version repair.
Available RAM below means capacity **before startup allocations**, not free
heap after boot:
heap after boot. The Wireless Paper row includes its latest `1e4d1e16` update:
| Failing original profile | Original bytes | Replacement bytes | Required bytes |
| --- | ---: | ---: | ---: |
| `Generic_ESPNOW_companion_radio_full` | 101,920 | 139,456 | 136,192 |
| `Heltec_Wireless_Paper_companion_radio_full` | 150,144 | 187,680 | 152,576 |
| `Heltec_Wireless_Paper_companion_radio_full` | 150,144 | 161,336 | 152,576 |
| `Heltec_Wireless_Tracker_companion_radio_full` | 148,496 | 186,032 | 169,986 |
| `Heltec_ct62_companion_radio_full` | 99,104 | 136,640 | 136,192 |
| `Heltec_t096_companion_radio_full_femon` | 54,724 | 74,060 | 73,728 |
@@ -66,7 +79,10 @@ and firmware-file hashes. The
distinguishes original binary/log calculations from new ELF checks.
All 52 exact firmware builds, their native file pairs, and 150 native mOTA
tests passed, alongside memory, allocation-failure, shared-queue and picker
regressions. Physical boot/load/soak validation remains pending.
regressions. Wireless Paper's follow-up also passed complete TCP mOTA transfers
with address/leak sanitizers, repeated disconnects, queue-full refusal, idle
listening and USB/TCP ownership changes. Physical boot/load/soak validation
remains pending.
## G3 USB disappearance with power saving enabled
+4 -2
View File
@@ -3,8 +3,10 @@
Both active provider catalogs now use **1.17.1.5 USA Cascade**, published from
original firmware commit `26303793`, with **52 memory-corrected entries** from
`aa20e927`. All 11 release profiles that failed the RAM budget have replacements;
all 43 nRF52 Full Companions use shared mOTA/queue storage. The seven corrected
ESP32 Full profiles use 150 contacts and keep their 256-message queue; read
all 43 nRF52 Full Companions use shared mOTA/queue storage. Wireless Paper Full
now uses source `1e4d1e16`, restoring 350 contacts and 40 channels with 256
message slots normally, or 128 while mOTA borrows the other half. The other six
corrected ESP32 Full profiles use 150 contacts and keep their 256-message queue; read
the entry notes and export contacts before upgrading if you exceed that limit.
The release audit also covers 43 supplemental Full repeater profiles available
on GitHub and in the firmware picker. The catalogs retain their canonical
@@ -1,5 +1,5 @@
{
"description": "Keymind Cascade MeshCore v1.17.1.5 USA Cascade development prerelease. USA/Canada 910.525 MHz / BW62.5 / SF7 / CR5. Canonical firmware replaces separate transport, logging, power-saving, and gain variants; use runtime settings. All Full Companions send MOTA; infrastructure has a qualified wireless self-update path. Exact-target bootloader, storage and partition requirements are in each entry. Logging uses the same firmware as the standard catalog; enable USB or MQTT output using the role-specific commands. USB web console: https://flasher.meshcore.io/console. Feature switches: https://github.com/mikecarper/MeshCore/blob/eb4ca56f1ba87bf08741b6c479ed601cccdb1d84/docs/role_feature_switches.md Memory audit: all 583 published release profiles assessed; 11 failing profiles replaced. Source aa20e927 also applies shared mOTA storage to all 43 nRF52 Full Companions. Seven corrected ESP32 Full profiles use 150 contacts and retain 256 queued messages; read their entry notes before updating.",
"description": "Keymind Cascade MeshCore v1.17.1.5 USA Cascade development prerelease. USA/Canada 910.525 MHz / BW62.5 / SF7 / CR5. Canonical firmware replaces separate transport, logging, power-saving, and gain variants; use runtime settings. All Full Companions send MOTA; infrastructure has a qualified wireless self-update path. Exact-target bootloader, storage and partition requirements are in each entry. Logging uses the same firmware as the standard catalog; enable USB or MQTT output using the role-specific commands. USB web console: https://flasher.meshcore.io/console. Feature switches: https://github.com/mikecarper/MeshCore/blob/eb4ca56f1ba87bf08741b6c479ed601cccdb1d84/docs/role_feature_switches.md Memory audit: all 583 published release profiles assessed; 11 failing profiles replaced. Source aa20e927 also applies shared mOTA storage to all 43 nRF52 Full Companions. Wireless Paper Full now uses 1e4d1e16 and restores 350 contacts with 256 queued messages normally, 128 during mOTA. The other six corrected ESP32 Full profiles use 150 contacts and retain 256 queued messages; read their entry notes before updating.",
"maker": {
"ebyte": {
"name": "Ebyte"
@@ -2031,19 +2031,19 @@
"title": "Full Companion",
"subTitle": "Heltec_Wireless_Paper_companion_radio_full \u2014 USB + supported wireless transports; MOTA sender",
"version": {
"full-companion-v1.17.1.5-halo-keymind-cascade-dev-aa20e927": {
"notes": "MEMORY UPDATE (aa20e927) - Memory-corrected Full Companion: 150 contacts; the 256-message queue and all Full transports are retained. Export contacts before updating if you have more than 150; entries beyond this limit may be unavailable and a later save may omit them.\n\nThis exact replacement passed the linked runtime RAM capacity check. Physical boot/load/soak validation remains pending. RAM report: https://github.com/mikecarper/MeshCore/releases/download/v1.17.1.5-halo-keymind-cascade-dev-26303793/Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-aa20e927.memory.json\n\nKeymind Cascade MeshCore v1.17.1.5 development prerelease. USA/Canada 910.525 MHz / BW62.5 / SF7 / CR5; Cascade defaults. Saved settings take precedence.\n\nROLE - Full Companion: Connects a phone or host to the mesh through the board's supported transports; can send MOTA to other nodes.\n\nEXACT TARGET - Heltec_Wireless_Paper_companion_radio_full. Match the radio, display, memory and storage hardware before flashing.\n\nUSB CONSOLE - Full Companion starts in ASCII mode at 115200 baud. Open https://flasher.meshcore.io/console. Use board and version. If a Companion app has selected binary mode, send +++MESHCORE-TERM-START. Send +++MESHCORE-TERM-STOP and close the terminal before connecting a Companion app or MOTA host.\n\nLOGGING - set usb.logging on enables USB logs; set usb.logging off stops them. Logging and binary Companion share one USB port. Turn logging off before handing USB to a Companion app or MOTA host. Fresh installs leave logging off.\n\nPOWER SAVING - powersaving on enables device power saving; powersaving off disables it. This is independent of set radio.rxps on/off and WiFi modem sleep. See the role guide for GPS and hardware gain controls.\n\nMOTA SOURCE - Close the USB console and run motatool serve --serial /dev/ttyACM0 --dir ./motas -v on the host. Full Companion serves host-supplied packages to other nodes; it does not LoRa-install them onto itself. Source and destination need overlapping temporary radio windows.\n\nSELF-UPDATE - USB is supported. Qualified optional wireless methods: wifi. Full ESP32 WiFi updates use port 8080 only when two application slots are installed. Use the exact board application package.\n\nINSTALL - Full install writes the merged bootloader/partition/application image over USB. Use the app-only Update for compatible in-place updates. OTA does not change partitions: the image must fit the installed slots. A layout migration or explicit erase can lose settings; an ordinary compatible update normally preserves them.\n\nCOMMANDS / BOARD EXCEPTIONS - https://github.com/mikecarper/MeshCore/blob/eb4ca56f1ba87bf08741b6c479ed601cccdb1d84/docs/role_feature_switches.md\n\nRELEASE - https://github.com/mikecarper/MeshCore/releases/tag/v1.17.1.5-halo-keymind-cascade-dev-26303793\n\nLOGGING CATALOG - These are the same canonical release binaries as the standard catalog. Enable the desired USB/MQTT logging paths at runtime; selecting this catalog does not change saved settings.",
"full-companion-v1.17.1.5-halo-keymind-cascade-dev-1e4d1e16": {
"notes": "MEMORY UPDATE (1e4d1e16) - Wireless Paper Full: 350 contacts and 40 channels; 256 offline message slots normally, 128 while mOTA borrows shared storage. Idle WiFi mOTA listening keeps all 256 slots. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots and frees scratch buffers. USB, Bluetooth, WiFi and the display are retained.\n\nThis exact replacement passed the linked runtime RAM capacity check. Physical boot/load/soak validation remains pending. RAM report: https://github.com/mikecarper/MeshCore/releases/download/v1.17.1.5-halo-keymind-cascade-dev-26303793/Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-1e4d1e16.memory.json\n\nKeymind Cascade MeshCore v1.17.1.5 development prerelease. USA/Canada 910.525 MHz / BW62.5 / SF7 / CR5; Cascade defaults. Saved settings take precedence.\n\nROLE - Full Companion: Connects a phone or host to the mesh through the board's supported transports; can send MOTA to other nodes.\n\nEXACT TARGET - Heltec_Wireless_Paper_companion_radio_full. Match the radio, display, memory and storage hardware before flashing.\n\nUSB CONSOLE - Full Companion starts in ASCII mode at 115200 baud. Open https://flasher.meshcore.io/console. Use board and version. If a Companion app has selected binary mode, send +++MESHCORE-TERM-START. Send +++MESHCORE-TERM-STOP and close the terminal before connecting a Companion app or MOTA host.\n\nLOGGING - set usb.logging on enables USB logs; set usb.logging off stops them. Logging and binary Companion share one USB port. Turn logging off before handing USB to a Companion app or MOTA host. Fresh installs leave logging off.\n\nPOWER SAVING - powersaving on enables device power saving; powersaving off disables it. This is independent of set radio.rxps on/off and WiFi modem sleep. See the role guide for GPS and hardware gain controls.\n\nMOTA SOURCE - Close the USB console and run motatool serve --serial /dev/ttyACM0 --dir ./motas -v on the host. Full Companion serves host-supplied packages to other nodes; it does not LoRa-install them onto itself. Source and destination need overlapping temporary radio windows.\n\nSELF-UPDATE - USB is supported. Qualified optional wireless methods: wifi. Full ESP32 WiFi updates use port 8080 only when two application slots are installed. Use the exact board application package.\n\nINSTALL - Full install writes the merged bootloader/partition/application image over USB. Use the app-only Update for compatible in-place updates. OTA does not change partitions: the image must fit the installed slots. A layout migration or explicit erase can lose settings; an ordinary compatible update normally preserves them.\n\nCOMMANDS / BOARD EXCEPTIONS - https://github.com/mikecarper/MeshCore/blob/eb4ca56f1ba87bf08741b6c479ed601cccdb1d84/docs/role_feature_switches.md\n\nRELEASE - https://github.com/mikecarper/MeshCore/releases/tag/v1.17.1.5-halo-keymind-cascade-dev-26303793\n\nLOGGING CATALOG - These are the same canonical release binaries as the standard catalog. Enable the desired USB/MQTT logging paths at runtime; selecting this catalog does not change saved settings.",
"files": [
{
"type": "flash-wipe",
"name": "Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-aa20e927-merged.bin",
"url": "https://github.com/mikecarper/MeshCore/releases/download/v1.17.1.5-halo-keymind-cascade-dev-26303793/Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-aa20e927-merged.bin",
"name": "Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-1e4d1e16-merged.bin",
"url": "https://github.com/mikecarper/MeshCore/releases/download/v1.17.1.5-halo-keymind-cascade-dev-26303793/Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-1e4d1e16-merged.bin",
"title": "Full install (bootloader + firmware)"
},
{
"type": "flash-update",
"name": "Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-aa20e927.bin",
"url": "https://github.com/mikecarper/MeshCore/releases/download/v1.17.1.5-halo-keymind-cascade-dev-26303793/Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-aa20e927.bin",
"name": "Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-1e4d1e16.bin",
"url": "https://github.com/mikecarper/MeshCore/releases/download/v1.17.1.5-halo-keymind-cascade-dev-26303793/Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-1e4d1e16.bin",
"title": "Update (app only)"
}
]
@@ -1,5 +1,5 @@
{
"description": "Keymind Cascade MeshCore v1.17.1.5 USA Cascade development prerelease. USA/Canada 910.525 MHz / BW62.5 / SF7 / CR5. Canonical firmware replaces separate transport, logging, power-saving, and gain variants; use runtime settings. All Full Companions send MOTA; infrastructure has a qualified wireless self-update path. Exact-target bootloader, storage and partition requirements are in each entry. USB web console: https://flasher.meshcore.io/console. Feature switches: https://github.com/mikecarper/MeshCore/blob/eb4ca56f1ba87bf08741b6c479ed601cccdb1d84/docs/role_feature_switches.md Memory audit: all 583 published release profiles assessed; 11 failing profiles replaced. Source aa20e927 also applies shared mOTA storage to all 43 nRF52 Full Companions. Seven corrected ESP32 Full profiles use 150 contacts and retain 256 queued messages; read their entry notes before updating.",
"description": "Keymind Cascade MeshCore v1.17.1.5 USA Cascade development prerelease. USA/Canada 910.525 MHz / BW62.5 / SF7 / CR5. Canonical firmware replaces separate transport, logging, power-saving, and gain variants; use runtime settings. All Full Companions send MOTA; infrastructure has a qualified wireless self-update path. Exact-target bootloader, storage and partition requirements are in each entry. USB web console: https://flasher.meshcore.io/console. Feature switches: https://github.com/mikecarper/MeshCore/blob/eb4ca56f1ba87bf08741b6c479ed601cccdb1d84/docs/role_feature_switches.md Memory audit: all 583 published release profiles assessed; 11 failing profiles replaced. Source aa20e927 also applies shared mOTA storage to all 43 nRF52 Full Companions. Wireless Paper Full now uses 1e4d1e16 and restores 350 contacts with 256 queued messages normally, 128 during mOTA. The other six corrected ESP32 Full profiles use 150 contacts and retain 256 queued messages; read their entry notes before updating.",
"maker": {
"ebyte": {
"name": "Ebyte"
@@ -2031,19 +2031,19 @@
"title": "Full Companion",
"subTitle": "Heltec_Wireless_Paper_companion_radio_full \u2014 USB + supported wireless transports; MOTA sender",
"version": {
"full-companion-v1.17.1.5-halo-keymind-cascade-dev-aa20e927": {
"notes": "MEMORY UPDATE (aa20e927) - Memory-corrected Full Companion: 150 contacts; the 256-message queue and all Full transports are retained. Export contacts before updating if you have more than 150; entries beyond this limit may be unavailable and a later save may omit them.\n\nThis exact replacement passed the linked runtime RAM capacity check. Physical boot/load/soak validation remains pending. RAM report: https://github.com/mikecarper/MeshCore/releases/download/v1.17.1.5-halo-keymind-cascade-dev-26303793/Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-aa20e927.memory.json\n\nKeymind Cascade MeshCore v1.17.1.5 development prerelease. USA/Canada 910.525 MHz / BW62.5 / SF7 / CR5; Cascade defaults. Saved settings take precedence.\n\nROLE - Full Companion: Connects a phone or host to the mesh through the board's supported transports; can send MOTA to other nodes.\n\nEXACT TARGET - Heltec_Wireless_Paper_companion_radio_full. Match the radio, display, memory and storage hardware before flashing.\n\nUSB CONSOLE - Full Companion starts in ASCII mode at 115200 baud. Open https://flasher.meshcore.io/console. Use board and version. If a Companion app has selected binary mode, send +++MESHCORE-TERM-START. Send +++MESHCORE-TERM-STOP and close the terminal before connecting a Companion app or MOTA host.\n\nLOGGING - set usb.logging on enables USB logs; set usb.logging off stops them. Logging and binary Companion share one USB port. Turn logging off before handing USB to a Companion app or MOTA host. Fresh installs leave logging off.\n\nPOWER SAVING - powersaving on enables device power saving; powersaving off disables it. This is independent of set radio.rxps on/off and WiFi modem sleep. See the role guide for GPS and hardware gain controls.\n\nMOTA SOURCE - Close the USB console and run motatool serve --serial /dev/ttyACM0 --dir ./motas -v on the host. Full Companion serves host-supplied packages to other nodes; it does not LoRa-install them onto itself. Source and destination need overlapping temporary radio windows.\n\nSELF-UPDATE - USB is supported. Qualified optional wireless methods: wifi. Full ESP32 WiFi updates use port 8080 only when two application slots are installed. Use the exact board application package.\n\nINSTALL - Full install writes the merged bootloader/partition/application image over USB. Use the app-only Update for compatible in-place updates. OTA does not change partitions: the image must fit the installed slots. A layout migration or explicit erase can lose settings; an ordinary compatible update normally preserves them.\n\nCOMMANDS / BOARD EXCEPTIONS - https://github.com/mikecarper/MeshCore/blob/eb4ca56f1ba87bf08741b6c479ed601cccdb1d84/docs/role_feature_switches.md\n\nRELEASE - https://github.com/mikecarper/MeshCore/releases/tag/v1.17.1.5-halo-keymind-cascade-dev-26303793",
"full-companion-v1.17.1.5-halo-keymind-cascade-dev-1e4d1e16": {
"notes": "MEMORY UPDATE (1e4d1e16) - Wireless Paper Full: 350 contacts and 40 channels; 256 offline message slots normally, 128 while mOTA borrows shared storage. Idle WiFi mOTA listening keeps all 256 slots. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots and frees scratch buffers. USB, Bluetooth, WiFi and the display are retained.\n\nThis exact replacement passed the linked runtime RAM capacity check. Physical boot/load/soak validation remains pending. RAM report: https://github.com/mikecarper/MeshCore/releases/download/v1.17.1.5-halo-keymind-cascade-dev-26303793/Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-1e4d1e16.memory.json\n\nKeymind Cascade MeshCore v1.17.1.5 development prerelease. USA/Canada 910.525 MHz / BW62.5 / SF7 / CR5; Cascade defaults. Saved settings take precedence.\n\nROLE - Full Companion: Connects a phone or host to the mesh through the board's supported transports; can send MOTA to other nodes.\n\nEXACT TARGET - Heltec_Wireless_Paper_companion_radio_full. Match the radio, display, memory and storage hardware before flashing.\n\nUSB CONSOLE - Full Companion starts in ASCII mode at 115200 baud. Open https://flasher.meshcore.io/console. Use board and version. If a Companion app has selected binary mode, send +++MESHCORE-TERM-START. Send +++MESHCORE-TERM-STOP and close the terminal before connecting a Companion app or MOTA host.\n\nLOGGING - set usb.logging on enables USB logs; set usb.logging off stops them. Logging and binary Companion share one USB port. Turn logging off before handing USB to a Companion app or MOTA host. Fresh installs leave logging off.\n\nPOWER SAVING - powersaving on enables device power saving; powersaving off disables it. This is independent of set radio.rxps on/off and WiFi modem sleep. See the role guide for GPS and hardware gain controls.\n\nMOTA SOURCE - Close the USB console and run motatool serve --serial /dev/ttyACM0 --dir ./motas -v on the host. Full Companion serves host-supplied packages to other nodes; it does not LoRa-install them onto itself. Source and destination need overlapping temporary radio windows.\n\nSELF-UPDATE - USB is supported. Qualified optional wireless methods: wifi. Full ESP32 WiFi updates use port 8080 only when two application slots are installed. Use the exact board application package.\n\nINSTALL - Full install writes the merged bootloader/partition/application image over USB. Use the app-only Update for compatible in-place updates. OTA does not change partitions: the image must fit the installed slots. A layout migration or explicit erase can lose settings; an ordinary compatible update normally preserves them.\n\nCOMMANDS / BOARD EXCEPTIONS - https://github.com/mikecarper/MeshCore/blob/eb4ca56f1ba87bf08741b6c479ed601cccdb1d84/docs/role_feature_switches.md\n\nRELEASE - https://github.com/mikecarper/MeshCore/releases/tag/v1.17.1.5-halo-keymind-cascade-dev-26303793",
"files": [
{
"type": "flash-wipe",
"name": "Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-aa20e927-merged.bin",
"url": "https://github.com/mikecarper/MeshCore/releases/download/v1.17.1.5-halo-keymind-cascade-dev-26303793/Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-aa20e927-merged.bin",
"name": "Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-1e4d1e16-merged.bin",
"url": "https://github.com/mikecarper/MeshCore/releases/download/v1.17.1.5-halo-keymind-cascade-dev-26303793/Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-1e4d1e16-merged.bin",
"title": "Full install (bootloader + firmware)"
},
{
"type": "flash-update",
"name": "Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-aa20e927.bin",
"url": "https://github.com/mikecarper/MeshCore/releases/download/v1.17.1.5-halo-keymind-cascade-dev-26303793/Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-aa20e927.bin",
"name": "Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-1e4d1e16.bin",
"url": "https://github.com/mikecarper/MeshCore/releases/download/v1.17.1.5-halo-keymind-cascade-dev-26303793/Heltec_Wireless_Paper_companion_radio_full-v1.17.1.5-halo-keymind-cascade-dev-1e4d1e16.bin",
"title": "Update (app only)"
}
]
+14
View File
@@ -956,6 +956,20 @@ const mixedMemoryProfile = mixedMemoryCatalog.profiles[0];
assert(!picker.installSteps(mixedMemoryProfile, 'bin').includes(memoryControl.memoryNote));
assert(picker.installSteps(mixedMemoryProfile, 'merged-bin').includes(memoryControl.memoryNote));
const paperControl = controls.profiles.Heltec_Wireless_Paper_companion_radio_full;
assert(paperControl.memoryNote.includes('350 contacts and 40 channels'));
assert(paperControl.memoryNote.includes('128 while mOTA'));
const paperFilename = 'Heltec_Wireless_Paper_companion_radio_full-' +
liveFamily.replace('26303793', paperControl.memorySource.slice(0, 8)) + '.bin';
const paperCatalog = picker.buildCatalog([
release(liveFamily, '2026-09-08T00:00:00Z', [asset(paperFilename)])
], controls);
assert(picker.installSteps(paperCatalog.profiles[0], 'bin').includes(paperControl.memoryNote));
const oldPaperCatalog = picker.buildCatalog([
release(liveFamily, '2026-09-08T00:00:00Z', [asset(paperFilename.replace('1e4d1e16', 'aa20e927'))])
], controls);
assert(!picker.installSteps(oldPaperCatalog.profiles[0], 'bin').includes(paperControl.memoryNote));
const stale = picker.buildCatalog(controlledReleases, {...controls, familyTag: 'v0.0.0'});
assert(stale.profiles.every(p => !p.controls));
assert(!picker.runtimeDirections({...mqttCompanion, controls: undefined}, {}).some(s => s.title === 'GPS'));