M915 Bug? - Value apply to driver, not axis CoreXY.
-
Hello,
I wanted to set my M915 stall detection parameters in a single place - config.g, however, running a CoreXY machine, both X and Y motors are involved in any linear move along a single axis. It turns out that the settings despite setting axes are applied to the X and Y driver and do not update to apply to both when homing.
The detection parameters would ideally look something like:
M915 H200 X S1 R0 F0
M915 H200 Y S3 R0 F0To fix the I would need to put M915 commands in each of the homing files (homex.g, homey.g) as well as homeall.g, they need to combine both X and Y and look like:
M915 H200 X Y S3 R0 F0
It would be nice to be able to set the M915 parameter in a single place such as config.g and have it update both drives when calling a G28 command (whether G28 X, G28 Y, or simply G28) to whatever value as it's easy to forget updating one of the files if changing/tuning the stall detection. A way to implement would be simply calling M915 with a specified axis and it would update the drivers to use the sensitivity set in the config.g.
ie M915 X (would update both drivers to the set sensitivity in config.g).
-
@Merlin246 unless you are trying to detect motor stalls at other times too, you need only use M915 in config.g.
If you are trying to detect stalls at other times too (so that you need two different sets of stall settings), you can use global variables to save repeating the values and make them easier to change. For example, in config.g:
global normalStallSettingX=3 global homingStallSettingX=1
then in homex.g, homey.g and homeall.g:
M915 H200 X S{homingStallSettingX} R0 F0 ... do the homing M915 H200 X S{normalStallSettingX} R0 F0
Similarly for the Y motor.