44 lines
1.5 KiB
Markdown
44 lines
1.5 KiB
Markdown
# Protocol
|
|
|
|
This document introduce the protocol used between Basalt Presenter and Basalt Trainer.
|
|
|
|
## Command Protocol
|
|
|
|
Before introducing command protocol, it would be better to the priniciple,
|
|
that Presenter is the slave application, and Trainer is the master application.
|
|
|
|
|Code|Direction|Comment|
|
|
|:---|:---|:---|
|
|
|`0x61`|Presenter<--Trainer|Handshake code (Are Presenter ready?)|
|
|
|`0x62`|Presenter-->Trainer|Handshake code (Presenter is ready).|
|
|
|`0x01`|Presenter-->Trainer|Data was ready. Please Trainer receive it.|
|
|
|`0x02`|Presenter<--Trainer|Data has been received. Please go into next loop.|
|
|
|`0x71`|Presenter-->Trainer|Actively Stop (Presenter request stop).|
|
|
|`0x71`|Presenter<--Trainer|Stop (Trainer agree the stop request, or trainer actively stop).|
|
|
|
|
### Handshake
|
|
|
|
At the beginning of execution,
|
|
Trainer send handshake code to Presenter first and then Presenter send another handshake code to Trainer back.
|
|
After this, both 2 applications start running.
|
|
|
|
When Presenter send handshake code back,
|
|
Presenter should attach some values following it to indicate some essential properties of data which will be passed to Trainer in future.
|
|
There is a table introduce these properties:
|
|
|
|
|Data Type|Comment|
|
|
|:---|:---|
|
|
|u8|The pixel kind of image|
|
|
|u32|The width of image|
|
|
|u32|The height of image|
|
|
|
|
For the all possible values of "pixel kind" in above table, there is also a table:
|
|
|
|
|Value|Comment|
|
|
|:---|:---|
|
|
|`0x01`|Grayscale represneted by one float32|
|
|
|
|
## Data Protocol
|
|
|
|
TODO
|