finished the hub's logic, half done with the interfaces, and hopefully working on pi logic soon
This commit is contained in:
18
protocol.md
18
protocol.md
@ -1,14 +1,15 @@
|
||||
# The Specifications for ROSE
|
||||
Extensions to the protocol may change the specifications, see the
|
||||
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 + packet size
|
||||
- Packet sizes are chosen out of 4 predetermined sizes. Using only 2
|
||||
bits in this byte to be represented.
|
||||
- Commands are 6 bits with 64 possibilities, see the **Commands**
|
||||
#### (1 byte) Command
|
||||
- Commands are 8 bits with 256 possibilities, see the **Commands**
|
||||
section for details.
|
||||
|
||||
#### (1 byte) Destination address
|
||||
@ -19,13 +20,14 @@ devlogs for specific decisions on changes.
|
||||
|
||||
### Payload
|
||||
Via commands, leading or trailing bytes in the payload can also be
|
||||
repurposed to timestamps or other feature extensions.
|
||||
repurposed to feature extensions.
|
||||
|
||||
### (1 byte) CRC-8
|
||||
To ensure delivery.
|
||||
|
||||
## Commands
|
||||
TBD.
|
||||
1. `[CMD: 0]` Idle.
|
||||
2. `[CMD: 1]` Send packet.
|
||||
### Feature Extensions
|
||||
#### [CMD: TBD] Include timestamp
|
||||
#### [CMD: TBD] Include sequence number
|
||||
|
Reference in New Issue
Block a user