All in one error function?

Is there a single command that would check for all errors? I am checking the dozen or so errors individually with each loop so I can shut down the whole system the moment one shows up, but it is significantly affecting the loop time

Or at least what is the minimum number of errors I have to check to catch if something went wrong, don’t need to know what happened immediately, just need to be able to shut down all the other motors

For ODrive v3, It should be sufficient to check these, as lower level errors in an axis always sets an axis error too.

odrv0.error
odrv0.axis0.error
(odrv0.axis1.error) if using two axes

For ODrive Pro/S1, if you are just looking to see if it has unexpectedly faulted while running, it is sufficient to check
axis0.disarm_reason

1 Like

Sweet that helps a lot

Alternatively, if you’re using CAN, we broadcast the errors in the heartbeat, so no polling required.

1 Like

No CAN on this one, strictly USB, but thanks for letting me know