Files
mayhem-firmware/firmware/baseband
VasylSamoilov cf44076a34 FLEX RX: comprehensive decoder rewrite (#3131)
Baseband (proc_flex.cpp):
- Fix numeric vector field width (3-bit n+1 for types 3,4,7)
- Fix capcode range classification for long address components
- Add long address decode (Set 1-2, 1-3/1-4, 2-3)
- Add vector checksum validation (4-bit nibble sum)
- Add tone-only boundary detection via vector pre-scan
- Add idle phase detection (skip all-zeros/all-ones before BCH)
- Skip spurious TON for capcode 1 (BCH-corrected idle artifact)
- Add BIW parsing: SSID1/SSID2, DATE, TIME, TZ, SYSMSG, CHAN
- Add alpha fragment flags: frag, more_frag, seq, new, maildrop, sig
- Add secure message enc= field (alpha/binary/separate)
- Add numbered numeric flags: seq, new, fmt
- Add HEX/Binary header decode: block_bits, new, maildrop, rtl
- Add short instruction decode: temp group slot/target, sys events
- Add short message (SMSG) decode: tone/numeric/source/numbered
- Add group/temp-group/priority flags per address
- Add S2 C-pattern detection with ±1 symbol boundary correction
- Extract FIW roaming, repeat, traffic fields
- Replace snprintf with lightweight str_* helpers (no heap/_sbrk)
- Mark uncorrectable BCH words as ? instead of aborting phase
- ETX/NUL handling: trim trailing padding, show mid-message as ?

App (ui_flex_rx.cpp):
- Add status bar: cycle/frame, bitrate, polarity, time, timezone
- Add network info bar: LID, CZ, CC, roaming flag
- Pipe-delimited serial output for all message types
- BIW events to serial and status bar (not console)
- Human-readable console: +GRP for temp group, G/TG/P flags
- USB serial via UsbSerialAsyncmsg

Packet (flex_defs.hpp):
- uint64_t capcode (long address support)
- 256-byte message buffer
- Fragment flags, BIW raw values, address type, group/priority

Known limitation: phase label unreliable on multi-phase modes
(3200/2FSK, 6400/4FSK). Data always decodes correctly.
2026-04-10 08:37:38 +02:00
..
2026-02-24 11:23:41 +01:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2024-03-19 15:30:05 -05:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2025-05-11 20:24:52 +02:00
2025-05-11 20:24:52 +02:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2026-04-07 19:42:21 +02:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2025-12-14 11:26:21 +01:00
2023-05-19 08:16:05 +12:00
2023-06-07 11:25:35 +02:00
2024-07-08 11:11:12 +02:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2026-02-24 11:23:41 +01:00
2025-08-11 07:42:58 +02:00
2025-08-27 06:37:57 +00:00
2025-08-27 06:37:57 +00:00
2023-05-19 08:16:05 +12:00
2023-08-02 21:59:26 +02:00
2023-08-02 21:59:26 +02:00
2025-08-27 06:37:57 +00:00
2025-05-19 19:16:28 +02:00
2026-02-24 11:23:41 +01:00
2026-01-30 17:18:13 +01:00
2026-01-30 17:18:13 +01:00
2025-05-11 20:24:52 +02:00
2025-12-14 11:26:21 +01:00
2025-12-21 11:21:55 +01:00
2025-12-21 11:21:55 +01:00
2023-05-19 08:16:05 +12:00
2026-02-16 14:34:55 +01:00
2026-02-16 14:34:55 +01:00
2026-02-16 14:34:55 +01:00
2026-02-16 14:34:55 +01:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2026-02-06 17:20:14 +01:00
2026-02-06 17:20:14 +01:00
2024-10-17 10:22:01 +02:00
2025-12-21 11:21:55 +01:00
2024-10-17 10:22:01 +02:00
2024-10-17 10:22:01 +02:00
2025-03-18 18:31:40 -05:00
2023-08-21 10:17:23 +02:00
2023-05-19 08:16:05 +12:00
2026-04-07 19:42:21 +02:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2024-03-19 10:53:55 +01:00
2023-08-21 10:17:23 +02:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00