Package edu.wpi.first.wpilibj
Class Notifier
- java.lang.Object
-
- edu.wpi.first.wpilibj.Notifier
-
- All Implemented Interfaces:
AutoCloseable
public class Notifier extends Object implements AutoCloseable
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
protected void
finalize()
static boolean
setHALThreadPriority(boolean realTime, int priority)
Sets the HAL notifier thread priority.void
setHandler(Runnable handler)
Change the handler function.void
setName(String name)
Sets the name of the notifier.void
startPeriodic(double periodSeconds)
Register for periodic event notification.void
startSingle(double delaySeconds)
Register for single event notification.void
stop()
Stop timer events from occurring.
-
-
-
Method Detail
-
close
public void close()
- Specified by:
close
in interfaceAutoCloseable
-
setName
public void setName(String name)
Sets the name of the notifier. Used for debugging purposes only.- Parameters:
name
- Name
-
setHandler
public void setHandler(Runnable handler)
Change the handler function.- Parameters:
handler
- Handler
-
startSingle
public void startSingle(double delaySeconds)
Register for single event notification. A timer event is queued for a single event after the specified delay.- Parameters:
delaySeconds
- Seconds to wait before the handler is called.
-
startPeriodic
public void startPeriodic(double periodSeconds)
Register for periodic event notification. A timer event is queued for periodic event notification. Each time the interrupt occurs, the event will be immediately requeued for the same time interval.- Parameters:
periodSeconds
- Period in seconds to call the handler starting one period after the call to this method.
-
stop
public void stop()
Stop timer events from occurring. Stop any repeating timer events from occurring. This will also remove any single notification events from the queue. If a timer-based call to the registered handler is in progress, this function will block until the handler call is complete.
-
setHALThreadPriority
public static boolean setHALThreadPriority(boolean realTime, int priority)
Sets the HAL notifier thread priority.The HAL notifier thread is responsible for managing the FPGA's notifier interrupt and waking up user's Notifiers when it's their time to run. Giving the HAL notifier thread real-time priority helps ensure the user's real-time Notifiers, if any, are notified to run in a timely manner.
- Parameters:
realTime
- Set to true to set a real-time priority, false for standard priority.priority
- Priority to set the thread to. For real-time, this is 1-99 with 99 being highest. For non-real-time, this is forced to 0. See "man 7 sched" for more details.- Returns:
- True on success.
-
-