|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#16
|
||||
|
||||
|
Re: Watchdog!?!?!?!
We only experienced problems when on the field. Tethered in the pits we had autonomous, on the field we had not autonomous, and had no teleoperated except our manipulator. Thank you Simbotics for finding our problem.
|
|
#17
|
||||||
|
||||||
|
Re: Watchdog!?!?!?!
Quote:
Quote:
I highly doubt it is anything but the code.. Quote:
Quote:
Quote:
Quote:
Good luck! Keehun Team 2502 |
|
#18
|
|||
|
|||
|
Re: Watchdog!?!?!?!
Quote:
Quote:
The .rtexe doesn't get stopped. Your code keeps running just like before, but the FPGA gets set to a fail safe state, where no outputs are usable. You can still read in anything and run like normal, but when either watchdog is tripped no outputs are available. |
|
#19
|
||||
|
||||
|
Re: Watchdog!?!?!?!
This happened to us(team 4) about 3 years ago. Our lead programmer was using interrupts while trying to program the gear tooth sensor we had on our robot. This did not work out to well because the code had to finish within 23.6 milliseconds(if i remember correctly), but due to the interrupts it made the code exceed that time limit. This is what tripped the watchdog and caused a code error. You might wanna check any of your code that uses interrupts and make sure that no interrupts are interrupting interrupts(boy does that sound confusing). Hope i helped in any way.
Last edited by Arthur S : 02-03-2009 at 03:12. |
|
#20
|
|||
|
|||
|
Re: Watchdog!?!?!?!
We did not experience the problem when tethered or when working with our own wireless system. Once connected to the field management system we experienced the same problem ("WATCHDOG" appearing in the Driver Station).
Check the wait timers in all your loops. Make sure you have wait timers in all loops! Don't make them ALL the same value. Feed the watchdog into the fastest loop. |
|
#21
|
|||
|
|||
|
Re: Watchdog!?!?!?!
Quote:
I appreciate it. |
|
#22
|
||||
|
||||
|
Re: Watchdog!?!?!?!
To try to clarify this (and get rid of the cute "feed" term):
Feeding the watchdog is nothing more than letting the watchdog code run once in a while. This tells the system that the robot is still "under control". A VERY easy way to not allow the watchdog code to run is to put your camera code in the same loop as the drive code. The camera code is processor hungry and will run as often as it can - and not allow the watchdog to run. As other people have said - infinite loops, looping with no wait statement, and a couple other items can cause the watchdog to kick off. We struggled with it earlier when we put our camera code in our drive code as an experiment. It was a good learning experience! |
|
#23
|
|||
|
|||
|
Re: Watchdog!?!?!?!
Quote:
|
|
#24
|
||||
|
||||
|
Re: Watchdog!?!?!?!
Regarding our robot, apparently we do have some camera code in the program even though we aren't using the camera. We had previously planned to use it, and our programmer had made some progress with tracking software. We later decided to focus on defensive maneuvers and enter teleoperation with a loaded hopper.
Any code for driving the motors (or servos?) is disabled, but apparently the code is still trying to collect images from the camera. We will remove all of that. I don't know if it is (was) in the same loop as the drive code. We will also verify all the device setup (IP addressing, etc.). To professorX: To reset the cRio from the DS, simultaneously press all three white buttons on the DS and hold for a second or so. A new menu will come up and you can "select" reset. It takes about 20 seconds, but thats a lot better than sitting idle for the entire match. I recommend you test/practice in the pit on tether. Thanks to all for your help on this. |
|
#25
|
||||
|
||||
|
Re: Watchdog!?!?!?!
Yes, thanks to everyone for the help. Hopefully we can resolve our issues with your support. Thanks again to everyone.
|
|
#26
|
||||
|
||||
|
Re: Watchdog!?!?!?!
I think the driver station should be updated so that it reads either
"System Watch Dog" or "User Watch Dog" that would help teams who are not sure which is active. I also wish they would change the DS so it says "Status: No Code" instead of "Battery: No Code". Because people keep asking, "Why does the battery need code?" |
|
#27
|
|||
|
|||
|
Re: Watchdog!?!?!?!
Quote:
|
|
#28
|
|||
|
|||
|
Re: Watchdog!?!?!?!
Now that we have learned that we probably need a timer delay, the question has been raised as to "what is a reasonable delay?"
For our robot during autonomous mode the only thing that might be time critical is the reading of the gyro to test if we have turned the number of degrees that we want. It would seem that we don't want to tie up the CPU any more than necessary. |
|
#29
|
||||
|
||||
|
Re: Watchdog!?!?!?!
In the past, all examples I have seen suggested something on the order of 5-10 milliseconds.
|
|
#30
|
|||
|
|||
|
Re: Watchdog!?!?!?!
Quote:
|
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| WatchDog Timeout | popo308 | Programming | 3 | 22-02-2009 22:04 |
| Watchdog | darty | NI LabVIEW | 8 | 16-02-2009 09:11 |
| System: Watchdog problems | dboisvert | C/C++ | 7 | 16-02-2009 02:36 |
| System: Watchdog problems | dboisvert | C/C++ | 1 | 15-02-2009 20:12 |
| Watchdog | Barchechath | Programming | 6 | 10-02-2007 20:05 |