34 lines
1003 B
Markdown
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
|