mbuc

M122 - TMC Debugging

1.1.7 debug Get TMC Debug Info

Description

Do a communication check for configured TMC drivers. Trinamic drivers that support this feature are TMC2130, TMC2160, TMC2208, TMC2209, TMC2660, TMC5130, and TMC5160.

  • With no parameters, this command returns the current settings for all installed and supported Trinamic stepper drivers.
  • Send M122 I to re-initialize drivers after a late power-on. Use S[0|1] to enable/disable continuous debugging output.

Notes

Requires at least one Trinamic stepper driver with SPI or UART connection.

TMC_DEBUG is no longer required to enable this G-code in Marlin 2.x, but enabling it produces an extended report.

Responses of all LOW (00:00:00:00) or all HIGH (FF:FF:FF:FF) are signs of a communication problem.
See TMC Troubleshooting for further information.

Usage

M122 [E] [I] [P<ms>] [S<bool>] [V] [X] [Y] [Z]

Parameters

[E]

Target E driver(s) only.

[I]
2.0.6

Flag to re-initialize stepper drivers with current settings.

[P<ms>]
TMC_DEBUG MONITOR_DRIVER_STATUS

Interval between continuous debug reports, in milliseconds.

    [S<bool>]
    TMC_DEBUG MONITOR_DRIVER_STATUS

    Flag to enable/disable continuous debug reporting.

      [V]
      TMC_DEBUG

      Report raw register data. Refer to the datasheet to decipher the report.

      [X]

      Target X driver(s) only.

      [Y]

      Target Y driver(s) only.

      [Z]

      Target Z driver(s) only.

      Examples

      Enable debugging output:

      M122 S1

      Get all (supported) Trinamic driver states:

      > M122 X Y Enabled false false Set current 850 850 RMS current 826 826 MAX current 1165 1165 Run current 26/31 26/31 Hold current 13/31 13/31 CS actual 13/31 13/31 PWM scale 41 41 vsense 1=.18 1=.18 stealthChop true true msteps 16 16 tstep 1048575 1048575 pwm threshold 0 0 [mm/s] - - OT prewarn false false OT prewarn has been triggered false false off time 5 5 blank time 24 24 hysterisis -end 2 2 -start 3 3 Stallguard thrs 0 0 DRVSTATUS X Y stallguard sg_result 0 0 fsactive stst olb ola s2gb s2ga otpw ot 'Driver registers:' X = 0x80:0D:00:00 Y = 0x80:0D:00:00