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