Go to Post I would like to complain about the game as well. Complain, complain. - Monochron [more]
Home
Go Back   Chief Delphi > Technical > Programming > Java
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
 
 
Thread Tools Rate Thread Display Modes
Prev Previous Post   Next Post Next
  #2   Spotlight this post!  
Unread 30-01-2010, 16:12
basicxman basicxman is offline
Emily Horsman
FRC #2200 (MMRambotics)
Team Role: Programmer
 
Join Date: Oct 2007
Rookie Year: 2007
Location: Burlington, Ontario
Posts: 971
basicxman has a brilliant futurebasicxman has a brilliant futurebasicxman has a brilliant futurebasicxman has a brilliant futurebasicxman has a brilliant futurebasicxman has a brilliant futurebasicxman has a brilliant futurebasicxman has a brilliant futurebasicxman has a brilliant futurebasicxman has a brilliant futurebasicxman has a brilliant future
Send a message via AIM to basicxman Send a message via MSN to basicxman Send a message via Yahoo to basicxman
Re: Feeding the Watchdog

Here's basically how the watchdog works. Except in autonomous mode the watchdog must be enabled. It then must be fed every x settings, x is determined with the SetExpiration(numSeconds) function (usually called in the constructor of your robot class). Failure to do so results in your robot being promptly disabled.

To enable the watchdog you can use the function (SetEnabled(true)) and to disable, SetEnabled(false). Following that you must feed it using Feed().

Here's a sample program in C++ (should be quite similar in Java).

Code:
#include "WPILib.h"

class Robot : public SimpleRobot {
	
	Robot(void) {
		GetWatchdog().SetExpiration(0.1); // Must feed watchdog every 100mS
	}
	
	void Autonomous(void) {
		GetWatchdog().SetEnabled(false);
		// Autonomous Code here
	}
	
	void OperatorControl(void) {
		GetWatchdog().SetEnabled(true);
		
		while (IsOperatorControl() && !IsDisabled()) {
			GetWatchdog.Feed();
			
			// Teleop code here
			
			Wait(0.05);
		}
		
	}
 	
}

START_ROBOT_CLASS(Robot);
Sometimes when your camera is booting up or you execute another function that takes a little time, the Dashboard will say the Watchdog is not fed as it hasn't got that far in the program.

According to http://first.wpi.edu/Images/CMS/Firs...va_for_FRC.pdf to equivalent Java functions are:

Code:
// Similar to C++, just note the case.
getWatchdog().setEnabled(true);
getWatchdog().setExpiration(0.1);
getWatchdog().feed();

Last edited by basicxman : 30-01-2010 at 16:18.
Reply With Quote
 


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
pic: WAI: Packbot feeding salad to FIRST Mentor@ NURC Moheeb698 Extra Discussion 3 19-10-2009 01:52
Watchdog darty NI LabVIEW 8 16-02-2009 09:11
Watchdog Barchechath Programming 6 10-02-2007 20:05
Ball Feeding Tube Legality phrontist Rules/Strategy 4 13-02-2006 22:30
Goal feeding ball mechanism????? Rob Kelly Technical Discussion 2 03-02-2002 23:28


All times are GMT -5. The time now is 11:15.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi