Overview
The BenchBot V3 will use a ClearCore motion controller to actuate the X and Z axis servos as well as interface will I/O such as End-stops, E-stops, and motor brakes. The ClearCore will communicate to the host PC via the Amiga’s onboard ethernet network.
...
The ClearCore provides up to 4 channels of motor control, considerable I/O, and could be expanded indefinitely with further controllers added at different IP addresses.
Communication Protocol
The communication protocol between the ClearCore and the Brain will likely be custom and very simple. In theory any network device would be able to control the ClearCore, and read its status and position. The ClearCore is provided with a fairly extensive programming API that includes an IP stack with UDP and TCP (server or client) support.
Therefore, wiring our own protocol that is packaged in UDP or TCP datagrams should be fairly straightforward. We will need to decide if UDP or TCP is more suitable and how (or if) we will handle multiple connections.
Messages
Info |
---|
Direction is from the point of view of the ClearCore Controller |
Description | Direction | Frequency | Format |
---|---|---|---|
Request to move to X, Z position | IN | As needed | |
Request Complete? (echo back request, with completed flag?) [multi usage?] | OUT | As needed | |
Status (X & Z position, command complete Y/N, errors?, connections?) | OUT | Periodic (10hz?) | |
Request Configuration | IN | As needed | |
Respond Configuration (Num Axis, Axis Size, run time?) | OUT | As needed | |
Set Configuration? [this would be complex and possibly dangerous, will detail later] | IN | As needed | |