1.5 KiB
1.5 KiB
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