--- tag: m0917 title: L6474 Overcurrent Warning Test brief: Find L6474 minimum current thresholds author: shitcreek requires: MONITOR_L6470_DRIVER_STATUS group: L6474 codes: [ M917 ] related: [ M916, M918] notes: - Requires `MONITOR_L6470_DRIVER_STATUS`. - All tests assume each axis uses matching driver chips. parameters: - tag: J optional: true description: Select which driver(s) to monitor on multi-driver axis. values: - tag: 0 description: (default) Monitor all drivers on the axis or E0. - tag: 1 description: Monitor only X, Y, Z, E1. - tag: 2 description: Monitor only X2, Y2, Z2, E2. - tag: 3 description: Monitor only Z3, E3 - tag: 4 description: Monitor only Z4, E4 - tag: 5 description: Monitor only Z5, E5 - tag: 6 description: Monitor only Z6, E6 - tag: 7 description: Monitor only Z7, E7 - tag: X optional: true description: Monitor X with the given displacement (1 - 255mm) on either side of the current position. values: - type: mm - tag: Y optional: true description: Monitor Y with the given displacement (1 - 255mm) on either side of the current position. values: - type: mm - tag: Z optional: true description: Monitor Z with the given displacement (1 - 255mm) on either side of the current position. values: - type: mm - tag: E optional: true description: Monitor E with the given displacement (1 - 255mm) on either side of the current position. values: - type: mm - tag: F optional: true description: Feedrate for the moves. If unspecified, uses the max feedrate. values: - tag: feedrate type: int - tag: I optional: true description: Starting overcurrent threshold. Report current value from driver if not specified. If there are multiple drivers on the axis then all will be set the same. values: - tag: current type: int - tag: T optional: true description: Current (mA) setting for TVAL (0 - 4A in 31.25mA increments, rounds down) - L6474 only. Report current value from driver if not specified. values: - tag: current type: int - tag: K optional: true description: Value for KVAL_HOLD (0 - 255) (ignored for L6474). Report current value from driver if not specified values: - tag: Kvalue type: int --- The `M917` command runs a test procedure to find the minimum stepper current thresholds. - Decrease OCD current until overcurrent error - Increase OCD until overcurrent error goes away - Decrease stall threshold until stall (not done on L6474) - Increase stall until stall error goes away (not done on L6474)