Package edu.wpi.first.wpilibj.event
Class BooleanEvent
java.lang.Object
edu.wpi.first.wpilibj.event.BooleanEvent
- All Implemented Interfaces:
BooleanSupplier
- Direct Known Subclasses:
NetworkBooleanEvent
This class provides an easy way to link actions to active high logic signals. Each object
represents a digital signal to which callback actions can be bound using
ifHigh(Runnable)
.
BooleanEvents can easily be composed for advanced functionality using and(BooleanSupplier)
, or(BooleanSupplier)
, and negate()
.
To get a new BooleanEvent that triggers when this one changes see falling()
and
rising()
.
-
Field Summary
-
Constructor Summary
ConstructorDescriptionBooleanEvent
(EventLoop loop, BooleanSupplier signal) Creates a new event that is active when the condition is true. -
Method Summary
Modifier and TypeMethodDescriptionand
(BooleanSupplier other) Composes this event with another event, returning a new event that is active when both events are active.<T extends BooleanSupplier>
TcastTo
(BiFunction<EventLoop, BooleanSupplier, T> ctor) A method to "downcast" a BooleanEvent instance to a subclass (for example, to a command-based version of this class).debounce
(double seconds) Creates a new debounced event from this event - it will become active when this event has been active for longer than the specified period.debounce
(double seconds, Debouncer.DebounceType type) Creates a new debounced event from this event - it will become active when this event has been active for longer than the specified period.falling()
Creates a new event that triggers when this one changes from true to false.final boolean
Returns the state of this signal (high or low) as of the last loop poll.final void
Bind an action to this event.negate()
Creates a new event that is active when this event is inactive.or
(BooleanSupplier other) Composes this event with another event, returning a new event that is active when either event is active.rising()
Creates a new event that triggers when this one changes from false to true.
-
Field Details
-
m_loop
Poller loop.
-
-
Constructor Details
-
BooleanEvent
Creates a new event that is active when the condition is true.- Parameters:
loop
- the loop that polls this event.signal
- the digital signal represented by this object.
-
-
Method Details
-
getAsBoolean
Returns the state of this signal (high or low) as of the last loop poll.- Specified by:
getAsBoolean
in interfaceBooleanSupplier
- Returns:
- true for the high state, false for the low state. If the event was never polled, it returns the state at event construction.
-
ifHigh
Bind an action to this event.- Parameters:
action
- the action to run if this event is active.
-
castTo
A method to "downcast" a BooleanEvent instance to a subclass (for example, to a command-based version of this class).- Type Parameters:
T
- the subclass type- Parameters:
ctor
- a method reference to the constructor of the subclass that accepts the loop as the first parameter and the condition/signal as the second.- Returns:
- an instance of the subclass.
-
negate
Creates a new event that is active when this event is inactive.- Returns:
- the new event.
-
and
Composes this event with another event, returning a new event that is active when both events are active.The events must use the same event loop. If the events use different event loops, the composed signal won't update until both loops are polled.
- Parameters:
other
- the event to compose with.- Returns:
- the new event.
-
or
Composes this event with another event, returning a new event that is active when either event is active.The events must use the same event loop. If the events use different event loops, the composed signal won't update until both loops are polled.
- Parameters:
other
- the event to compose with.- Returns:
- the new event.
-
rising
Creates a new event that triggers when this one changes from false to true.- Returns:
- the new event.
-
falling
Creates a new event that triggers when this one changes from true to false.- Returns:
- the event.
-
debounce
Creates a new debounced event from this event - it will become active when this event has been active for longer than the specified period.- Parameters:
seconds
- The debounce period.- Returns:
- The debounced event (rising edges debounced only).
-
debounce
Creates a new debounced event from this event - it will become active when this event has been active for longer than the specified period.- Parameters:
seconds
- The debounce period.type
- The debounce type.- Returns:
- The debounced event.
-