Skip to content

CAN messages

CAN 2.0, 1 Mbit/s, 11-bit identifiers. The identifier carries the node ID (bits 10 to 7, 0 to 13), the command ID (bits 6 to 1, 0 to 63) and, in frames from the gripper, the error bit (bit 0). Over CAN explains how the pieces are used; this page lists them.

Three kinds of message:

  • Send_… — the host sends data to the gripper. The gripper command is answered with Respond_Gripper_data_pack; the others are not answered.
  • Send_Respond_… — the host asks for data with a remote frame (RTR bit set, no data) under the command ID; the gripper answers with a data frame under the same command ID.
  • Respond_… — frames only the gripper sends.

Multi-byte values are big-endian (data[0] first); bits inside a byte are numbered from the most significant bit (bit 7 first).

The messages a gripper needs

ID Message Direction Length Group
0 Send_ESTOP host → driver 0 System
1 Send_Clear_Error host → driver 0 System
9 Respond_Heartbeat driver → host 0 Status requests
10 Send_Respond_Ping host → driver as a remote frame, driver → host as a data frame 0 (remote) / 0 Status requests
11 Send_CAN_ID host → driver 1 System
12 Send_Idle host → driver 0 System
13 Send_Save_config host → driver 0 System
14 Send_Reset host → driver 0 System
15 Send_Watchdog host → driver 5 System
23 Send_Respond_Temperature host → driver as a remote frame, driver → host as a data frame 0 (remote) / 2 Status requests
24 Send_Respond_Voltage host → driver as a remote frame, driver → host as a data frame 0 (remote) / 2 Status requests
25 Send_Respond_Device_Info host → driver as a remote frame, driver → host as a data frame 0 (remote) / 7 Status requests
26 Send_Respond_State_of_Errors host → driver as a remote frame, driver → host as a data frame 0 (remote) / 2 Status requests
30 Send_Heartbeat_Setup host → driver 4 System
60 Respond_Gripper_data_pack driver → host 4 Gripper
61 Send_gripper_data_pack host → driver 0, 5 Gripper
62 Send_gripper_calibrate host → driver 0 Gripper

The driver's other messages (the motion commands, the gains and limits, the encoder and current requests) are not listed here; they are in the Spectral CAN reference.

By group

  • Gripper: the move command and its answer, the gripper calibration
  • System: node ID, E-stop, idle, save, reset, clear, watchdog, heartbeat setup
  • Status requests: temperature, voltage, identity, the driver's error flags, the heartbeat

The Python library

Every message the host can send has a method of the same name in Spectral_BLDC.SpectralCAN, listed in Python library.

Tools and downloads

Build or decode a CAN frame, and download this firmware's JSON and DBC definitions.

Comments


Found a mistake on this page? Edit it on GitHub · Report it · Get help · This page as Markdown · llms.txt · The whole manual as PDF