Post Go back to editing

Intermittent checksum error

Category: Software
Product Number: TMCM6214

Hi,

We are using the TMCM6214 and communicating with it using the PyTrinamic Python library.

We are observing intermittent checksum errors during communication. (Full error below) It generally occurs when we poll the motor driver if we have reached the final position, which we do in a 500ms loop.

Basically we have two questions regarding this:

  1. Is this expected? I.e., are checksum errors common, or does it indicate a hardware issue?
  2. If the latter, what steps can we take to troubleshoot the issue? Its connected via USB.

Full error:

  File "c:\Users\<redacted>\Desktop\<redacted>\venv\lib\site-packages\pytrinamic\modules\TMCM6214.py", line 103, in get_position_reached
    return self.get_axis_parameter(self.AP.PositionReachedFlag)
  File "c:\Users\<redacted>\Desktop\<redacted>\venv\lib\site-packages\pytrinamic\features\motor_control_module.py", line 119, in get_axis_parameter
    return self._parent.get_axis_parameter(ap_type, self._axis, signed)
  File "c:\Users\<redacted>\Desktop\<redacted>\venv\lib\site-packages\pytrinamic\modules\tmcl_module.py", line 84, in get_axis_parameter
    return self.connection.get_axis_parameter(ap_type, axis, self.module_id, signed, self.ap_index_bit_width)
  File "c:\Users\<redacted>\Desktop\<redacted>\venv\lib\site-packages\pytrinamic\connections\tmcl_interface.py", line 201, in get_axis_parameter
    value = self._send_ap_cmd(TMCLCommand.GAP, index, axis, 0, module_id, index_bit_width).value
  File "c:\Users\<redacted>\Desktop\<redacted>\venv\lib\site-packages\pytrinamic\connections\tmcl_interface.py", line 197, in _send_ap_cmd
    return self.send(cmd, tmcl_type, tmcl_motor, value, module_id)
  File "c:\Users\<redacted>\Desktop\<redacted>\venv\lib\site-packages\pytrinamic\connections\tmcl_interface.py", line 130, in send
    return self.send_request(request, no_reply=no_reply)
  File "c:\Users\<redacted>\Desktop\<redacted>\venv\lib\site-packages\pytrinamic\connections\tmcl_interface.py", line 104, in send_request
    self._reply_check(reply)
  File "c:\Users\<redacted>\Desktop\<redacted>\venv\lib\site-packages\pytrinamic\connections\serial_tmcl_interface.py", line 81, in _reply_check
    raise TMCLReplyChecksumError(reply)
pytrinamic.tmcl.TMCLReplyChecksumError: TMCL_Reply:   00,01,64,06,00000000,6D
 TMCL_Reply:   00,01,64,06,00000000,6D