Full messaging support, implemented fresh in three layers:
- dmrDataProtocol: pure short-data codec (CSBK preamble, data/response
headers, IP/UDP/TMS payload, ETSI CRCs) validated against on-air
captures by a host-side test suite. Transmits Motorola TMS (UDP 4007),
receives TMS and Anytone/"DMR standard" (UDP 5016).
- smsCore/smsStorage: TX queue with wait-for-channel and delivery
confirmation (response PDU / ACK, resend prompt on timeout), ISR-side
block assembly with layout auto-detection (confirmed/unconfirmed,
rate-1/2 and full 18-byte rate-3/4 blocks), delivery reports to
senders that request them, and a checksummed message store in SPI
flash at 0xC00000 (inbox + sent, 8 each; 8 quick texts).
- UI: Messages hub (main menu or long-press GREEN), keypad compose with
multi-tap (160 chars), inbox/sent/view with reply-resend-delete,
quick-text picker/editor, options (Wait for ACK, My ID only), and an
incoming-message popup with chime. Strings in all 20 languages.
The HR-C6000 does the BPTC/FEC; the driver streams 12-byte logical
bursts through the existing TX state machine (repeater wake included),
locks out PTT during a send, and leaves hotspot mode untouched.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Remove the 16x16 main-menu icon bitmaps, menuIconForMenuNumber(),
menuSetNextEntryIconByMenuNum() and the icon drawing + text offset in
menuDisplayEntry(). Top-level menu entries render as plain text as before.
Docs updated.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>