View Full Version : How to write Notifier help!!
Rikard023
15-02-2010, 08:34
OK im trying to write a notifier class to cause a delay in my program where one task would be preformed after another with a specific delay.
I get to the part where i named what the notifier is but when the little box appears after i put the name then -> the box says
Notifier(TimerEventHandler handler, void *param)
Now i dont know whatvalues to put in or what any of this means
Any documentation or code any one could give me to simply write a notifier would be much appreciated
slavik262
15-02-2010, 10:07
I'll post some help later tonight.
slavik262
16-02-2010, 23:33
First you write a function that does whatever you want to do after the notifier delay. Say you want to activate a solenoid after the delay. The Notifier calls a function that takes a void pointer as an argument. We'll pass it a pointer to our solenoid and cast it back in the function so we can use it.
Here's the function:
void SolenoidDelayEventHandler(void* param)
{
//Cast the pointer back to the solenoid type
Solenoid* sol = (Solenoid*)param;
//Activate the solenoid
sol->Set(true);
}
Now, when we create our Notifier class, it wants two arguments: the function and what to pass to the function. We create it like so:
//As a member of your robot class,
Notifier solenoidNotifier;
//Then in the constructor of your robot class
solenoidNotifier(SolenoidDelayEventHandler, &mySolenoid)
//assuming mySolenoid is declared statically in the robot class as well
//and not with the keyword new
Now whenever you want to call your notifier function (and therefore activate the solenoid) after a delay time, just call
solenoidNotifier.StartSingle(time);
where time is the delay time in seconds. There's also a StartPeriodic(time) function in the Notifier class that calls the function continuously, where time is the delay between calls. It stops when you call Notifier::Stop().
Any questions?
gvarndell
17-02-2010, 05:01
Any questions?
Yes. :]
I just downloaded the WPILibSource20100107.zip because I am curious how they implemented the notifiers.
Is that the latest library source from WPI as far as you know?
THX!
slavik262
17-02-2010, 08:40
Yes. :]
I just downloaded the WPILibSource20100107.zip because I am curious how they implemented the notifiers.
Is that the latest library source from WPI as far as you know?
THX!
Off the top of my head, I don't know the current version number and I can't download the newest update to check since I'm at school at the moment.
As far as how notifiers work, they seem to work on an interrupt level (I'm assuming through a hardware timer run in the FPGA). This is just a guess from glancing over the header file; anyone can feel free to confirm or correct me here.
Rikard023
20-02-2010, 07:56
I still need help with the notifier if anyone else has info
kinda close to ship date :eek:
Rikard023
20-02-2010, 08:12
Yes. :]
I just downloaded the WPILibSource20100107.zip because I am curious how they implemented the notifiers.
Is that the latest library source from WPI as far as you know?
THX!
And the last workbench update is WorkbenchUpdate20100217.exe
http://first.wpi.edu/Images/CMS/First/WorkbenchUpdate20100217.exe
vBulletin® v3.6.4, Copyright ©2000-2017, Jelsoft Enterprises Ltd.