This is the library for the DeltaLink development. Deltalink is the universal communication protocol for all of the Delta Robotics systems. For now, the only implemented communication system is with the ThermoFlex Node controller. Check the TF-Node-Firmware repo for its implementation of this protocol and the Python API for the master implementation of controlling these devices.
Start Byte | 1
Packet Length | 2
Proto Version | 1
Sender ID | 3 (X.X.X syntax like ip)
Dest ID | 3
payload | p < 501 # Enforced manually
checksum | 1
Total size: 11 + p (max 512 bytes)
NodeCommand - A packet which commands a TF-Node device to change state, configuration, or return a status. NodeResponse - A packet which the TF-Node sends to either respond to a NodeCommand or provide status information.
Heartbeat - A packet with empty payload designed for informing another device that the connection is still alive.
- The master broadcasts heartbeat packets to all Nodes after 2 seconds of not sending any other packet type. The Node devices send the master heartbeat packets after 2 seconds of not sending any other packet type.
- If a TF-Node does not receive any packet from the master within 2.5 seconds (check firmware repo to confirm timeout value), then it will automatically disable its control over ThermoFlex actuators.
All DeltaLink enabled devices must have a 3 byte address, called DeltaLink Address or Node ID (both mean the same thing).
| Range | Type |
|---|---|
| 0.0.0 - 0.255.255 | Reserved |
| 1.0.0 - 10.255.255 | DeltaLink Devices |
| 11.0.0 - 255.255.254 | Unallocated |
| 255.255.255 | Broadcast |
| Address | Purpose |
|---|---|
| 0.0.0 | Master Device |
| 0.0.1 | "Don't Care Device" |
| 255.255.255 | Broadcast Address |
The entire 0.X.X Range is reserved for future multicast or other special device groups.