frame spec:
- protocol version [2b]
- 00 first version
- 01 v1 (v0 compatible)
- 10 v2 (v0,v1 compatible)
- 11 v3 (incompatible with previous versions)
- Frame context [3b]
- 000 No context (contains hop list)
- 001 Same connection
- 010 Same message
- 011 Termination (End stream)
- 100 Reserved
- 101 Same connection reply
- 110 Same message reply
- 111 Termination reply (End stream)
- Misc flags [3b]
- Require ack [1b]
- Encrypted [1b]
- Anonymous sender [1b]
- Connection id [4B]
- Message id [2B]
- ?Hop list (only if Frame context == 000 no context)
- realm [1B]
- 2b address len
- 00 4B
- 01 8B
- 10 16B
- 11 cstr
- 6b realm id
- addr (>4B)
- Payload type [1B]
- Payload CRC [2B] (if set to 0 ignore)
- Payload len [4B]
- if 0xff 0xff 0xff 0xff then its stream and ends with termination packet
- if 0xff 0xff 0xff 0xfe then the payload is cstring (terminated with 0x00 0x00)
- Payload…
19B min packet
Mesh device spec:
DEFAULT) transmit frame (to next address, if crypto capable decrypt and transmit)
1) Get node info
2) Store key (if crypto capable signed key storage enabled)
3) Get neighbors
Realms
- 00 000000 Lora mesh
- 00 000001 IPv4 (UDP)
- 10 000001 IPv6 (UDP)
- 11 000001 DNS (UDP)
Payload type
[1b] (0 realm specific, 1 general type)
[7b] type
General types (in decimal)
- 0 text message
- 1 file
- 2 tar
Realm specific types