Files
rose/protocol.md

34 lines
1003 B
Markdown

# The Specifications for ROSE
Development on the protocol may change the specifications, see the
devlogs for specific decisions on changes.
## Packet specifications
### Packet size
This is determined by the users after considering their applications
during compilation/synthesis of their ROSE setup, the size must be a
power of 2 (and long enough, >16 bytes is recommended).
### Header
#### (1 byte) Command
- Commands are 8 bits with 256 possibilities, see the **Commands**
section for details.
#### (1 byte) Destination address
- This can refer to any end-device or fabric within the network
#### (1 byte) Source address
- This can refer to any end-device or fabric within the network
### Payload
Via commands, leading or trailing bytes in the payload can also be
repurposed to feature extensions.
### (1 byte) CRC-8
To ensure delivery.
## Commands
1. `[CMD: 0]` Idle.
2. `[CMD: 1]` Send packet.
### Feature Extensions
#### [CMD: TBD] Include timestamp
#### [CMD: TBD] Include sequence number