I’ve been noticing alot about the watchdog and its errors. Our robot is also experiencing watchdog errors but for some reason it only shows when our compressor is in the code. In Begin.vi I have: Open >> Start >> Set refnum.
and in Periodic Tasks I have : Get refnum >> Start
for some reason its still not working but there is not error - only watchdog. So i had an idea. WOuld it be possible to delete ALL watchdog references in the code. Then create a loop that would constantly read true and set the watchdog to feed that loop (this would be the only reference through out the entire code).
Could this work.
Any ideas would help Thanks
Take the compressor stuff out of Periodic Tasks. A Compressor Open and a Compressor Start in Begin is all that is necessary. The code will take care of everything for you behind the scenes.
If you’re going to feed the watchdog in a separate continuous loop, you have removed its usefulness and you might as well just disable it at the beginning.
Watchdog errors are trying to tell you that your code is taking too long to do what you’re asking it to do. Instead of figuring out ways to ignore the problem, it’s better to figure out what’s causing them and correct the problem.
That sort of defeats the purpose of having a watchdog in the first place.
The watchdog is meant to make sure that your robot is not in an exceptional state, like, hey, everything is fine here! It prevents robots from rampaging out of control.
I would suggest you try and understand your code better before you go about circumventing safety features.
It may take more time, but you’ll definitely learn more, and understand why its so important to write maintainable code.
Be sure you have the latest Driver Station and cRIO updates. They somehow fixed quite a bit of the watchdog errors we were getting for no apparent reason.
Plus you need the latest updates to compete anyway.