Watchdog problem - please help me diagnose and fix

Right now I am typing this from home, so I don’t have it right in front of me and everything I say is from memory.

So here’s the story:
No matter what we try, every time we click Enable there is a watchdog error. It flickers very quickly in the status box, sometimes even so fast the screen isn’t fast enough to show it - but under Diagnostics it shows “Watchdog Expiration: System x, User 0” where x is a number that starts at 1 (or 2?) and increases by 1 every time we click Disable and Enable. After that the robot works just fine (and the watchdog won’t reappear until we disable and enable again), but we think this may be the same problem that caused our robot to completely not work in our regional competition for one round in the last season (a problem we “fixed” by completely removing autonomous :().

Stuff we’ve tried:
Formatting the cRIO, creating a new project in LabView and making no changes to it. Same problem.
Using another cRIO. Same problem.
Removing all traces of the camera from the program. Same problem.

Other notes:
Every time the program starts (eg. when we turn on the robot), we get some errors about the loop including “Right and Left motors” not running fast enough. This still happens when using the DEFAULT program, and I doubt FIRST/NI wrote that wrong. I also remember an error code “-44068” (if memory serves). As soon as I can, I will copy-paste the content of the error box, but like I said I’m writing this from home. Please don’t wait for this if you want to help me ::safety::

Any ideas what’s going wrong? Is it something normal that we sholdn’t worry about? Could this be caused by a misconfigured cRIO? (talking about the small switches on it) Could this be caused by a bad installation of LabView or the Driver Station? (this has happened with two computers, but they were both installed by the same person so they might both be bad)

:confused: < I know most people hate this smiley :slight_smile:

The “Watchdog Expiration: System 1, User 0” error is common when the robot changes modes (i.e. from autonomous to teleop). Don’t worry too much about those unless you get a lot. It might be a problem with the communication between the driverstation and robot. Try connecting the driverstation over ethernet and try a different computer running the driverstation application. This can help solve the problem because the teleop loop is affected by incoming packets from the driverstation, so if you have a bad network connection, the watchpuppies will trip (which would cause the “Right and Left motors” not running fast enough error you experienced).

On a semi-unrelated note, I would guess that watchdog errors were not the cause of your robot not running for a match last season. When a watchpuppy is tripped, your robot will only stop for 1(?) second or so and then function again (or until the next watchdog error). Disclaimer: not so sure on that last point…

EDIT: some other threads regarding watchdog errors. Maybe you’ll find something else helpful there:
http://www.chiefdelphi.com/forums/showthread.php?t=92090
https://decibel.ni.com/content/thread/9070
https://decibel.ni.com/content/thread/5752
https://decibel.ni.com/content/thread/5951

Thanks, I’ll stop worrying about the watchdog expiration notice.

There’s still a problem though. Our network looks like this: We have our D-Link DAP 1522 configured as an Access Point according to these instructions with no security. We have our cRIO connected by ethernet to port 1 of that, and our computer connected to some other port using an Ethernet cable. During testing we usually use a wired connection to eliminate network problems, unless this interferes with what we’re trying to do.

I’m sorry, still no copy-paste of the error log - I forgot to post in this thread when we tested it yesterday and I’m back at home again.

Some questions I’d like answered just to calm my mind:

  1. In what position should the physical switches on the cRIO be?

  2. Is there a place where I can download LabView and all the FRC tools and updates? I have the serial of course, and the CD as well, but for some reason I don’t trust it… Call it paranoia. :slight_smile:

  3. What is the proper way to transfer the program from the computer to the robot?
    a. For one-time testing (ie run it once, and when we stop it it’s gone from the cRIO)
    b. For permenant instllation until replacement (ie for competition) (you can’t probe this, right?)
    Of course, we know how to do this as well, but again I don’t trust that we’ve been doing it the right way all this time…

Thanks!
If there’s a document by FIRST and/or NI that you can point me to that explains some or all of these stuff, please do so :slight_smile:

All six DIP switches should be in the OFF position for normal operation. At times, you may want the Console Out switch to be on for debugging purposes. Look here for information on the cRIO-FRC (It goes into detail on DIP switches starting on page 12).

2011 software updates can be found here.

I’ll answer this assuming you’re using LabVIEW; if you’re not, I’m not really helpful. For one time testing, you can run your program on the cRIO without loading it on the memory. From your Robot Main.vi, you can click the ‘Run’ arrow on the top left of the toolbar to run your code via your programming computer. To load the program onto the cRIO’s memory, expand the Build Specifications menu and right click on FRC Bootup Deployment and select build. Wait for that to finish, and then repeat that process and click Run As Startup. The follow the prompts.

Here is a great reference link from Team 358 http://www.team358.org/files/programming/ControlSystem2009-/

To answer your questions:

  1. All the dip switches should be in the same configuration (off). Here is a link to the NI documentations: https://decibel.ni.com/content/docs/DOC-2632
  2. Here are the latest Labview update links:
    http://joule.ni.com/nidu/cds/view/p/id/2261/lang/en
    http://joule.ni.com/nidu/cds/view/p/id/2262/lang/en
    http://joule.ni.com/nidu/cds/view/p/id/2263/lang/en
  3. To do one-time testing, simply click on the ‘Run’ icon
    To have the program run from boot-up, you must build and deploy your project.

Hope this helps! Have a great Off-season!