diff --git a/Document/PROTOCOL.md b/Document/PROTOCOL.md new file mode 100644 index 0000000..86fa785 --- /dev/null +++ b/Document/PROTOCOL.md @@ -0,0 +1,34 @@ +# Protocol + +This document introduce the protocol used between Basalt Presenter and Basalt Trainer. + +## Command Protocol + +|Code|Direction|Comment| +|:---|:---|:---| +|`0x01`|Presenter-->Trainer|Data was ready. Please Trainer receive it.| +|`0x02`|Presenter<--Trainer|Data has been received. Please go into next loop.| +|`0x61`|Presenter<--Trainer|Handshake code (Are Presenter ready?)| +|`0x62`|Presenter-->Trainer|Handshake code (Presenter is ready)| + +### 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