RepRap SNAP Command Documentation
Communication Protocol
These modules communicate using the
SNAP Communications library. This is an implementation of the
SNAP Protocol in a ring network.
Protocol Version 1
Global Commands
These commands should be implemented by every single device with an address.
[0] Get Version
Returns the version of the module. This message is the only message universally supported by all devices and is therefore useful as a test.
Parameters:
Returns:
- 1 byte: Response type (0)
- 1 byte: major version number
- 1 byte: minor version number
[255] Get Module Type
Returns the type of the module. This message is used to query every device in the network to determine what types of devices are connected. For example: the
RepRap host software queries all devices for their type, compiles a list of connected devices, then queries each device for its version. From there, it can easily autoconfigure its internal software and automatically communicate properly with each device in the network. All this can be done transparently to the end user.
Parameters:
Returns:
- 1 byte: Response type (255)
- 1 byte: module type (see table below)
Module Types:
| Id | Type  |
| 3 | Cartesian Robot |
| 5 | Cutting Toolhead |
| 4 | Laser Cutter/Etcher |
| 0 | Linear Axis / Stepper Controller |
| 2 | Support Extruder |
| 1 | Thermoplastic Extruder |
Allocated addresses
- 0 PC
- 1 Master controller (not currently used for ring network)
- 2 X axis
- 3 Y axis
- 4 Z axis
- 5-7 Reserved for 6 DoF? platforms (Stewart platform etc.)
- 8..27 Extruders 1 to 20
- 50 IOBox test tool
Next Generation Protocol Ideas
Protocol Modules
to top