Commit Graph
3 Commits
Author SHA1 Message Date
Matthew Wolter 1f319159b6 G6: N05 — pad send_trace() to 11 bytes when path is empty
Why: Firmware requires strict len > 10 (MyMesh.cpp:1620). When path is
empty, send_trace() builds exactly 10 bytes (cmd+tag+auth+flags), which
is silently rejected. Appending one zero byte when the packet is <= 10
bytes satisfies the firmware gate without changing the semantic content.

Refs: Forensics report finding N05
2026-04-12 04:14:20 -07:00
Matthew Wolter 8400995600 G6: N01+N02+N03 — add reader branches for CONTACT_DELETED, CONTACTS_FULL, TUNING_PARAMS
Why: Three firmware push/response codes had no SDK handler — frames fell
through to the "Unhandled" debug log. CONTACT_DELETED (0x8F) carries a
32-byte pubkey from onContactOverwrite(); CONTACTS_FULL (0x90) is a
1-byte push from onContactsFull(); TUNING_PARAMS (23) is the 9-byte
response to CMD_GET_TUNING_PARAMS carrying rx_delay and airtime_factor.
All three now dispatch typed events. Short frames are guarded.

Refs: Forensics report findings N01, N02, N03
2026-04-12 04:14:11 -07:00
Matthew Wolter df388e494e G6: N02+R04 — add CONTACTS_FULL and GET_STATS enum entries
Why: PacketType was missing CONTACTS_FULL (0x90), emitted by
MyMesh::onContactsFull(). CommandType was missing GET_STATS (56),
used by get_stats_core/radio/packets but referenced only as literal
b"\\x38". Adding both enum entries prepares for handler and wrapper
implementations in subsequent commits.

Refs: Forensics report findings N02, R04
2026-04-12 04:14:01 -07:00