Repository navigation
FrogAlert 0.3.1
Repair likely causes of reduced BLE survey counts following the Rust rewrite.
- Correct a confirmed SDK adapter bug: TMOS timer success returns Boolean 1,
not status 0. Successful timers no longer create immediate wake loops. - Reuse the scheduled timer instead of stopping and allocating it per report.
Retry allocation failure on the existing 200 ms recovery-button cadence. - Read controller state once per report and reuse rendered frames until a
deadline, view change, or higher-priority alert requires an update. - Preserve active scan results across transient INIT/ERROR peripheral states.
New scans and shutdown still require readable idle state; actual connections,
unknown states, and failed state reads continue to cancel scanning. - Reapply and verify the original scan settings and 64-result capacity before
each discovery, including after role startup retries. - Execute the production C survey adapter with the real Rust library and
pinned WCH headers in the emulation suite. Cover scheduler failure, bursts,
completion lists, state transitions, synchronous callbacks and clock wrap.
Passive three-second surveys about every twenty seconds, power handling,
button roles, and KEY2 ROM-ISP recovery are retained. The scheduler defect is
reproduced in host tests; restored physical RF counts still need confirmation
on the new images. Releases remain CI-audited with truthful hardware status.
Audited artifacts
frogalert-0.3.1-top-b1144c-260404-usb-c.bin- profile:
B1144C_260404_USB_C - physical PCB marking:
B1144C_260404 - size: 213,824 bytes
- SHA-256:
2ab02a01399a6870b40965c38a4f01d5dab22fbe4a9bb0989745663dd07636d4 - debug ELF:
frogalert-0.3.1-top-b1144c-260404-usb-c.elf· SHA-256082523a34bb9a474818deb4f70393acb013ecab572ba1917acdd54be622144df - verification: cloud-built and audited from the recorded GitHub Actions candidate
- hardware status: not hardware-tested
- Actions run: 33944985016 · attempt 1
- candidate artifact:
frogalert-candidate-c838c9ef3a8539cb5d6c27f71b8cf0002e4ea1a8· id9963055995 - candidate archive SHA-256:
sha256:0130df700b309873a14df5ad67315e5a3721c4f576d0f36f4a008a7539b3606a - candidate receipt SHA-256:
714070e22869c79b31b205ef143062dd8ceb9eaf2deaa87ba86b5f123bac48f4
- profile:
frogalert-0.3.1-bottom-b1144c-250901-usb-c.bin- profile:
B1144C_250901_USB_C - physical PCB marking:
B1144C_250901 - size: 214,032 bytes
- SHA-256:
a9a06ce1c2dfcdee349bf46ada6f24502dd1891339149f1318864befbfb1a7ff - debug ELF:
frogalert-0.3.1-bottom-b1144c-250901-usb-c.elf· SHA-256db134666b35c0d9c6bb034993b2a8a4ebb443f07b1c54ca38183181cc8ea7f11 - verification: cloud-built and audited from the recorded GitHub Actions candidate
- hardware status: not hardware-tested
- Actions run: 33944985016 · attempt 1
- candidate artifact:
frogalert-candidate-c838c9ef3a8539cb5d6c27f71b8cf0002e4ea1a8· id9963055995 - candidate archive SHA-256:
sha256:0130df700b309873a14df5ad67315e5a3721c4f576d0f36f4a008a7539b3606a - candidate receipt SHA-256:
714070e22869c79b31b205ef143062dd8ceb9eaf2deaa87ba86b5f123bac48f4
- profile:
Before flashing
Replacing the original read-protected firmware is irreversible: the OEM image cannot be backed up or restored. Use only the artifact whose exact hardware profile and physical PCB marking match the opened badge.
The browser flasher downloads the same-origin copy from frogalert.org/flash/, recalculates its SHA-256 locally, and still requires every normal identification, board-binding, consent, program, and byte-verification step. wchisp remains the command-line fallback.
Firmware source commit: c838c9ef3a8539cb5d6c27f71b8cf0002e4ea1a8