Firmware: - fix(protocol): SNR type i8→i16 to match lora_phy PacketStatus - fix(display): combine splash + waiting into one screen - fix(display): move TX power to row 0 right-justified - feat(display): sparkline distinguishes TX from RX — TX bars are dotted (alternating pixel rows), RX bars are solid. TX-only slots show a short marker. TX takes precedence over RX in the same time slot. Host tool (tools/meshcore_rx.py): - feat: full MeshCore packet decoder with colored ANSI output - feat: GRP_TXT decryption using 276 channels from channels.csv - feat: Watchman loop/collision reporter to #watchman - feat: ADVERT-informed node registry with 12h TTL persistence - feat: transport code fallback for older MeshCore firmware - fix: robust error handling for long-running operation - fix: collision detection uses evidence-based reasoning from advert cache Channel directory (tools/channels.csv): 276 channels Test corpus (corpus/): JSON Schema, 28 hand-crafted vectors, Hypothesis generator
4 lines
935 B
Plaintext
4 lines
935 B
Plaintext
# file: /home/swaits/Code/lora-dongle/corpus/generate.py
|
|
# hypothesis_version: 6.151.9
|
|
|
|
[1000000.0, -180000000, -90000000, 127, 128, 184, 192, 255, 90000000, 180000000, 4294967295, '*.json', '--count', '<I', '<ii', 'ACK', 'ADVERT', 'ANON_REQ', 'CONTROL', 'GRP_DATA', 'GRP_TXT', 'L', 'MULTIPART', 'N', 'P', 'PATH', 'RAW_CUSTOM', 'REQ', 'RESPONSE', 'TRACE', 'TXT_MSG', 'Z', '__main__', 'ack_crc', 'advert', 'ascii', 'bad_framing', 'bad_path_len', 'channel_hash', 'chat', 'ciphertext_len', 'description', 'direct', 'dst', 'error', 'expected', 'flags', 'flood', 'generated', 'hash_size', 'hops', 'invalid', 'lat', 'location', 'lon', 'mac', 'name', 'node_type', 'not_meshcore', 'packet_hex', 'path', 'payload', 'payload_type', 'payload_ver', 'pubkey_prefix', 'random', 'repeater', 'replace', 'room', 'route_type', 'schema.json', 'sensor', 'src', 'tags', 'tdirect', 'tflood', 'timestamp', 'too_short', 'transport_codes', 'truncate', 'valid'] |