Romi32U4 library
Public Member Functions | List of all members
Romi32U4ButtonB Class Reference

Interfaces with button B on the Romi 32U4. More...

#include <Romi32U4Buttons.h>

Inheritance diagram for Romi32U4ButtonB:
PushbuttonBase

Public Member Functions

virtual bool isPressed ()
 indicates whether button is currently pressed without any debouncing. More...
 
void waitForPress ()
 Waits until the button is pressed and takes care of debouncing. More...
 
void waitForRelease ()
 Waits until the button is released and takes care of debouncing. More...
 
void waitForButton ()
 Waits until the button is pressed and then waits until the button is released, taking care of debouncing. More...
 
bool getSingleDebouncedPress ()
 Uses a state machine to return true once after each time it detects the button moving from the released state to the pressed state. More...
 
bool getSingleDebouncedRelease ()
 Uses a state machine to return true once after each time it detects the button moving from the pressed state to the released state. More...
 

Detailed Description

Interfaces with button B on the Romi 32U4.

The pin used for button B is also used for the TX LED.

This class temporarily disables USB interrupts because the Arduino core code has USB interrupts enabled that sometimes write to the pin this button is on.

This class temporarily sets the pin to be an input without a pull-up resistor. The pull-up resistor is not needed because of the resistors on the board.

Definition at line 42 of file Romi32U4Buttons.h.

Member Function Documentation

◆ getSingleDebouncedPress()

bool PushbuttonBase::getSingleDebouncedPress ( )
inherited

Uses a state machine to return true once after each time it detects the button moving from the released state to the pressed state.

This is a non-blocking function that is meant to be called repeatedly in a loop. Each time it is called, it updates a state machine that monitors the state of the button. When it detects the button changing from the released state to the pressed state, with debouncing, it returns true.

Definition at line 110 of file Pushbutton.cpp.

◆ getSingleDebouncedRelease()

bool PushbuttonBase::getSingleDebouncedRelease ( )
inherited

Uses a state machine to return true once after each time it detects the button moving from the pressed state to the released state.

This is just like getSingleDebouncedPress() except it has a separate state machine and it watches for when the button goes from the pressed state to the released state.

There is no strict guarantee that every debounced button press event returned by getSingleDebouncedPress() will have a corresponding button release event returned by getSingleDebouncedRelease(); the two functions use independent state machines and sample the button at different times.

Definition at line 115 of file Pushbutton.cpp.

◆ isPressed()

virtual bool Romi32U4ButtonB::isPressed ( )
inlinevirtual

indicates whether button is currently pressed without any debouncing.

Returns
1 if the button is pressed right now, 0 if it is not.

This function must be implemented in a subclass of PushbuttonBase, such as Pushbutton.

Implements PushbuttonBase.

Definition at line 46 of file Romi32U4Buttons.h.

◆ waitForButton()

void PushbuttonBase::waitForButton ( )
inherited

Waits until the button is pressed and then waits until the button is released, taking care of debouncing.

This is equivalent to calling waitForPress() and then waitForRelease().

Definition at line 104 of file Pushbutton.cpp.

◆ waitForPress()

void PushbuttonBase::waitForPress ( )
inherited

Waits until the button is pressed and takes care of debouncing.

This function waits until the button is in the pressed state and then returns. Note that if the button is already pressed when you call this function, it will return quickly (in 10 ms).

Definition at line 84 of file Pushbutton.cpp.

◆ waitForRelease()

void PushbuttonBase::waitForRelease ( )
inherited

Waits until the button is released and takes care of debouncing.

This function waits until the button is in the released state and then returns. Note that if the button is already released when you call this function, it will return quickly (in 10 ms).

Definition at line 94 of file Pushbutton.cpp.


The documentation for this class was generated from the following file: