A combination of a C# server and an arduino program that allows you to control a bunch of Hull Pixelbots at once. Currently a work in progress - it should be amazing once it's done!
This repository has been archived on 2019-06-21. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
2017-02-03 06:52:21 +00:00
PixelHub-Client Implement PixelBotController for single-brain robots. Hooray! Now we just need to test it.... 2017-02-03 06:45:05 +00:00
PixelHub-Client-Test Add missing test client sln file 2016-11-17 19:35:37 +00:00
PixelHub-Server Begin writing motor control system 2017-01-19 19:53:16 +00:00
.gitignore .orig files should never be allowed to enter the git repo 2016-10-25 18:06:41 +01:00
LICENSE initial commit 2016-10-15 17:15:25 +02:00
README.md Begin documenting PixelHub client protocol. 2017-02-03 06:52:21 +00:00

PixelHub

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

  • Debugging:
    • Andrew C, Karen van Eck, Mike C
  • Soldering:
    • Brian N

Tcp Client

For Multicast networkinterface blog post

Bits and Bobs