10 Commits

Author SHA1 Message Date
Seth d0cc1a9c2a docs: session handoff for RepeaterBook integration 2026-06-14 16:34:06 -04:00
Seth 5d48ad0bfe fix: harden endpoints against malformed input (final-review findings)
- /api/repeaters: bad ?limit= falls back to 25 instead of crashing the handler
- repeaters.load(): tolerate a corrupted repeaters.json (JSONDecodeError -> [])
- tune_repeater/do_POST: catch TypeError so a null field yields {ok:false} not a reset
2026-06-14 16:29:10 -04:00
Seth e28dae2ba4 docs: document RepeaterBook CSV integration + live-verified CI-V findings 2026-06-14 16:25:18 -04:00
Seth 69710e362a fix: ground-truth CI-V offset/tone on live ID-5100
- offset amount (0x0D) is REJECTED (NG) by the radio -> removed the offset
  codec + set_offset/get_offset; tune_repeater now sets only duplex direction
  (radio applies its configured auto-offset)
- repeater tone (0x1B/00) uses a 3-byte field (00 + 2-byte BCD); set_tone
  prepends the pad, get_tone strips it
- duplex (0x0F) and tone-switch (0x16/42) verified working
- added get_duplex; verified full tune_repeater on a live repeater (all steps OK)
2026-06-14 16:22:19 -04:00
Seth 66b368fb87 feat: Repeaters card with per-step tune status 2026-06-14 16:16:00 -04:00
Seth 878e85aefd feat: /api/repeaters and /api/tune-repeater endpoints 2026-06-14 16:14:15 -04:00
Seth 08fd5dbb40 feat: radio duplex/offset/tone control + tune_repeater 2026-06-14 16:12:50 -04:00
Seth 24afa04a4c feat: repeater CSV ingest, load, and rank-ordered search
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 16:09:04 -04:00
Seth 5c597a10b8 feat: offset + CTCSS tone BCD codecs (provisional encodings) 2026-06-14 16:05:48 -04:00
Seth 03000708b6 chore: baseline existing CI-V suite before RepeaterBook integration 2026-06-14 16:02:36 -04:00