Skip to content

v0.1.5 - Persistent capture diagnostics and adaptive timing

Pre-release
Pre-release

Choose a tag to compare

@aobeidat85 aobeidat85 released this 03 Nov 05:17

Adds persistent diagnostics and conservative adaptive timing.

  • Every new attempt gets a journal record, including quiet windows, payload failures, successful packets, and USB failures. Decoder candidates retain stage-specific header/checksum/counter results.
  • Receiver > Capture diagnostics displays the latest failures and provides raw-capture downloads and a full JSONL export. The latest 1,000 raw failed transfers are retained. Quiet MON windows have metadata only; older unlogged failures cannot be reconstructed.
  • Verified matching-station arrivals can update the estimated period. Same-burst copies and other decoded station IDs do not steer rate learning. Timing survives short restarts.
  • A mismatching-ID candidate no longer blocks further recovery for a preferred station. Two retained live failures recovered a valid 14AB payload through measured repetition combining without relabeling IDs.

Validation: 31 local tests and GitHub Actions host tests / ESP32 build passed. Live records, raw downloads, and journal export were verified across a server restart. The physical USB device temporarily disappeared and was reconnected; transport faults remain possible.

Longer-snapshot experiment: 192 samples slowed observations to 52-53 us and decoded 1/3 predicted bursts (no accepted controls). This small sequential test did not demonstrate a gain. The original 128-sample firmware was restored and remains the default. An advanced compile-time option and snapshot-length metadata support reproducing the experiment.

Logging and timing tracking do not establish reliable range, a guaranteed success rate, RF tuning accuracy, harmonic origin, or native 915 MHz reception. The receiver remains experimental.