So, today, our programming team had the watchdog disable a PWM. The catch? Watchdog didn’t exist in the programming. Therefore, an imaginary watchdog that didn’t exist in the code STILL broke our bot.
This started a rather long stream of watchdog jokes, including but not limited to: “Imaginary watchdog wants to be born” and “Watchdog was programmed by Stalin and Hitler, that’s why it kills everything”.
Kidding aside, what language, and did you figure out how this was happening or have something that reproduces it? Also, was this on a cold boot? The watchdog is primarily implemented in the FPGA. WPILib has the ability to disable it, but it has a default state, and the state from a default app or previous app since bootup could determine its state if you do not definitively disable it.
I [rookie programmer] heard that last year’s watchdog was replaced by ‘a little of watchpuppies’ [MotorSafety]. Which led to:
‘Radioactive watchpuppies!’
This, while we were ‘working on Chairman’s Award’ and got distracted talking about a nuclear blast, to which I responded ‘But the sunsets! Think of the pretty sunsets we would have!’ which led to ‘Think happy thoughts…kittens…puppies…watchpuppies…RADIOACTIVE WATCHPUPPIES!’
Personally, I never had any real problems with the watchdog; in fact I love it. He (she) is a great debugging tool. The watchdog should shut up the whole time if you programmed correctly. If the watchdog yaps, that says I did something wrong. I say blame yourselves and not the watchdog. Its like blaming the ref when you obviously fouled someone. Learn to love the watchdog.