Duet3D / RepRapFirmware

OO C++ RepRap Firmware
GNU General Public License v3.0
947 stars 538 forks source link

When 6XD is used in expansion mode, unused drivers raise driver error events #896

Open dc42 opened 1 year ago

dc42 commented 1 year ago

Duet Forum Discussion Thread

https://forum.duet3d.com/topic/33314/6xd-external-driver-error-signal-handling

Which Duet products are you using?

Firmware Version

3.5.0-beta.4

Duet Web Control Version

3.5.0-beta.4

What happened?

When a 6XD is used as an expansion board, and the drivers have a normally-closed error output, on start up any unused driver outputs raise a driver error event.

Workaround: add a jumper wire between ERR and GND on each unused input, assuming that error input pullups are enabled so that driver error outputs are pulled to ground by the driver when there is no error.

dc42 commented 1 year ago

This probably occurs because when thew 6XD is in expansion mode, RRF does not distinguish between drivers that are in use and drivers that have not been used. There are no commands to set the motor current or set microstepping for external drivers, so we would need some other way to identify that is drive is used or potentially used.