mirror of
https://github.com/mikecarper/MeshCore.git
synced 2026-10-24 23:12:21 +00:00
Point Wireless Paper release catalogs to the 350-contact update
This commit is contained in:
1 parent
00015b8333
commit
db143c5ed4
8 files changed
+70
-33
No files matched your search
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -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.
|
||||
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
||||
@@ -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)"
|
||||
}
|
||||
]
|
||||
|
||||
@@ -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'));
|
||||
|
||||
Reference in new issue
Block a user