Begin documenting PixelHub client protocol.
This commit is contained in:
parent
f333fa56eb
commit
d6a82dafd8
1 changed files with 13 additions and 0 deletions
13
README.md
13
README.md
|
@ -2,7 +2,20 @@
|
||||||
|
|
||||||
A combination of a C# server and an arduino program that allows the control of a Hull Pixelbot.
|
A combination of a C# server and an arduino program that allows the control of a Hull Pixelbot.
|
||||||
|
|
||||||
|
## PixelHub Cilent protocol
|
||||||
|
The PixelHub client protocol is a (mostly) text-based protocol that the server uses to give the robot instructions. One instruction or message is passed per line (and line endings are '\n'). The message flow works something like this:
|
||||||
|
|
||||||
|
(todo: diagram here :D)
|
||||||
|
|
||||||
|
1. The server sends a command ot the robot
|
||||||
|
2. The robot sends back to say whether it will/can execute the command
|
||||||
|
3. The robot executes the command
|
||||||
|
4. The robot messages back to say it's finished executing a given command.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Split-brain robots
|
||||||
|
If you have a split brain robot, the PixelHub client, while it doesn't support it yet, _can_ be adjusted to add support. Currently, all you need to do is swap out the `PixelHubController` .cpp file with one that can talk to your other microcontroller that actually controls the wheels.
|
||||||
|
|
||||||
## Credits
|
## Credits
|
||||||
- Debugging:
|
- Debugging:
|
||||||
|
|
Reference in a new issue