Push button. More...
#include <sg_101020003_Button.hpp>
Public Member Functions | |
virtual | ~Button (void) |
Destructor. More... | |
Button (const std::string &n="") | |
Constructor. More... | |
virtual bool | is_down (void) |
Determine if the button is currently pushed down. More... | |
virtual bool | is_up (void) |
Determine if the button is currently up. More... | |
virtual bool | wait_for_button_down (const size_t timeout_in_milliseconds=0) |
Wait for the button to be pressed down. More... | |
virtual bool | wait_for_button_up (const size_t timeout_in_milliseconds=0) |
Wait for the button to be released. More... | |
virtual bool | wait_for_transition (const size_t timeout_in_milliseconds=0) |
Wait for the button to transition to up or down , depending on the current state. More... | |
virtual bool | wait_for_button (const size_t timeout_in_milliseconds=0) |
Wait for any sort of user interaction with the button, either to the up or down state. More... | |
virtual GroveGPIO & | send_2_bytes (uint16_t bits) |
Send 16 bits (2 bytes). More... | |
virtual GroveGPIO & | send_byte (uint8_t byte) |
Send a single byte. More... | |
virtual bool | is_grove_uart (void) const |
Determine if this is a Grove UART device. More... | |
virtual bool | is_grove_i2c (void) const |
Determine if this is a Grove I2C device. More... | |
virtual bool | is_grove_gpio (void) const |
Determine if this is a Grove GPIO device. More... | |
virtual uint32_t | get_sku (void) const |
Return a guess as to the Seeed SKU number based on the grove type. More... | |
virtual std::string | get_type_name (void) const |
Return a short text string representing the grove type. More... | |
virtual EGroveType | get_type (void) const |
Return the grove type. More... | |
virtual std::string | get_name (void) const |
Return the user-supplied name. More... | |
virtual std::string | get_description (void) const |
Return a multi-word 1-line description of this object. More... | |
bool | operator== (const GroveBase &rhs) const |
Test object equality. More... | |
bool | operator!= (const GroveBase &rhs) const |
Test object equality. More... | |
Public Attributes | |
EGroveType | grove_type |
Grove type. More... | |
std::string | grove_name |
User-supplied name. More... | |
Push button.
Description | Image |
---|---|
Button connected to the Grove UART interface. |
Example code:
|
virtual |
Destructor.
References SG::SGpp::get(), SG::SGpp::gpio, and SG::GpioManagement::gpio_unexport().
SG::Button::Button | ( | const std::string & | n = "" | ) |
Constructor.
References SG::SGpp::get(), SG::SGpp::gpio, SG::GpioManagement::gpio_export(), and SG::GpioManagement::kInput.
|
virtualinherited |
Return a multi-word 1-line description of this object.
References SG::demangle(), SG::GroveBase::get_name(), SG::GroveBase::get_sku(), SG::GroveBase::get_type_name(), SG::GroveBase::is_grove_gpio(), SG::GroveBase::is_grove_i2c(), SG::GroveBase::is_grove_uart(), and SG::BeagleBone::Detect::to_string().
Referenced by buzzer(), chainable_rgb_led(), common_oled(), SG::GroveBase::get_name(), SG::GroveI2CDigital::GroveI2CDigital(), SG::GroveI2CDigital::read16(), SG::GroveI2CDigital::read8(), SG::GroveI2CDigital::read_block(), SG::CommonOLED::set_display_bitmap(), SG::CommonOLED::set_orientation(), temperature(), variable_led(), SG::GroveI2CDigital::write16(), SG::GroveI2CDigital::write8(), SG::GroveI2CDigital::write_block(), and SG::GroveI2CDigital::write_byte().
|
inlinevirtualinherited |
Return the user-supplied name.
References SG::GroveBase::get_description(), SG::GroveBase::grove_name, SG::GroveBase::is_grove_gpio(), SG::GroveBase::is_grove_i2c(), and SG::GroveBase::is_grove_uart().
Referenced by SG::GroveBase::get_description(), SG::GroveBase::operator=(), and SG::GroveBase::operator==().
|
inlinevirtualinherited |
Return a guess as to the Seeed SKU number based on the grove type.
References SG::get_sku_from_grove_type(), and SG::GroveBase::grove_type.
Referenced by SG::GroveBase::get_description().
|
inlinevirtualinherited |
Return the grove type.
References SG::GroveBase::grove_type.
Referenced by SG::GroveI2CDigital::get_address_from_type(), SG::GroveBase::operator=(), and SG::GroveBase::operator==().
|
inlinevirtualinherited |
Return a short text string representing the grove type.
References SG::GroveBase::grove_type, and SG::to_string().
Referenced by SG::GroveBase::get_description().
|
virtual |
Determine if the button is currently pushed down.
References SG::SGpp::get(), SG::GpioManagement::get_bool(), and SG::SGpp::gpio.
Referenced by is_up(), and wait_for_button_up().
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
inlinevirtual |
Determine if the button is currently up.
References is_down(), wait_for_button_down(), wait_for_button_up(), and wait_for_transition().
Referenced by button(), wait_for_button_down(), and wait_for_transition().
|
inlineinherited |
Test object equality.
References SG::GroveBase::operator==().
|
inherited |
Test object equality.
References SG::GroveBase::get_name(), and SG::GroveBase::get_type().
Referenced by SG::GroveBase::operator!=(), SG::Buzzer::operator==(), SG::TemperatureAndHumiditySensor::operator==(), SG::TemperatureSensor::operator==(), and SG::I2CADC::operator==().
|
virtualinherited |
Send 16 bits (2 bytes).
References SG::GroveGPIO::send_byte().
|
virtualinherited |
Send a single byte.
References SG::SGpp::get(), SG::SGpp::gpio, SG::GpioManagement::set_high(), and SG::GpioManagement::set_low().
Referenced by SG::GroveGPIO::send_2_bytes(), and SG::ChainableRGBLED::turn_on().
|
inlinevirtual |
Wait for any sort of user interaction with the button, either to the up
or down
state.
This is an alias for the method wait_for_transition().
[in] | timeout_in_milliseconds | Determines the length of time to wait for the button to change state. Will wait indefinitely if the timeout is set to zero. |
TRUE
if a transition was detected, or FALSE
if a timeout occurred.Example code:
References wait_for_transition().
|
virtual |
Wait for the button to be pressed down.
Returns immediately if the button is already down.
[in] | timeout_in_milliseconds | Determines the length of time to wait for a button push. Will wait indefinitely if the timeout is set to zero. |
TRUE
if the button is pushed down, or FALSE
if a timeout occurred. References is_up().
Referenced by button(), is_up(), and wait_for_transition().
|
virtual |
Wait for the button to be released.
Returns immediately if the button is already up.
[in] | timeout_in_milliseconds | Determines the length of time to wait for the button to be released. Will wait indefinitely if the timeout is set to zero. |
TRUE
if the button is up, or FALSE
if a timeout occurred. References is_down().
Referenced by button(), is_up(), and wait_for_transition().
|
virtual |
Wait for the button to transition to up
or down
, depending on the current state.
[in] | timeout_in_milliseconds | Determines the length of time to wait for the button to change state. Will wait indefinitely if the timeout is set to zero. |
TRUE
if a transition was detected, or FALSE
if a timeout occurred. References is_up(), wait_for_button_down(), and wait_for_button_up().
Referenced by is_up(), and wait_for_button().
|
inherited |
User-supplied name.
Referenced by SG::GroveBase::get_name(), and SG::GroveBase::operator=().
|
inherited |
Grove type.
Referenced by SG::GroveBase::get_sku(), SG::GroveBase::get_type(), SG::GroveBase::get_type_name(), and SG::GroveBase::operator=().