Wire format
A packet is a byte stream starting with $ (0x24) and ending with # (0x23).
Between the delimiters, one or more TLV triplets are placed sequentially:
block-beta
columns 6
TAG["TAG\n2 bytes\n(big-endian)"]:2
LEN["LEN\n2 bytes\n(big-endian)"]:2
VAL["VALUE\nLEN bytes\n(raw data)"]:2
Data type encoding
| Type | Wire Size | Encoding |
|---|---|---|
| String | N bytes | Raw ASCII, 1 byte per character, no null terminator |
| Bool | 1 byte | 0x01 = true, 0x00 = false |
| uint8 | 1 byte | Unsigned |
| uint16 | 2 bytes | Big-endian unsigned |
| uint32 | 4 bytes | Big-endian unsigned |
| int16 | 2 bytes | Big-endian two's complement |