# 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