Watchdog interrupts encoder index search

We have a setup where we need the watchdog to disable the motor in case of loss of communication. If I enable the watchdog from ODrivetool the startup encoder index search sometimes fails (depends on the position of the encoder). I have sorted this out by disabling the WD by default, and enabling the WD with CAN commands.

It took me some time to figure out that the problem was the WD. Maybe there should be a boolean to disable the WD at index search, especially if it is the startup index search?

Curious. What is the error that it fails with?

I get the error: AXIS_ERROR_WATCHDOG_TIMER_EXPIRED
If i manually rotate the motor (while WD error) the encoder index is found.

Sounds like you’re not continuing to send commands (or it’s not responding to commands?) during the index search period.

Yes, I am not sending. That’s because the system has not started yet. For me this was not an “error report” but more like a “feature request”. I think the WD should stop the motor if there is a loss of communication, not stop the motor from being initialized. Thats why I mentioned an additional boolean, “disable_WD_at_startup_idx_search” for instance.

But I have found a solution that is working for me. If this is intended design of the WD I am totally fine with that, I see the benefit of the current design also.