LED which can be turned on or off. More...
#include <sg_104020001_VariableColorLED.hpp>
Public Member Functions | |
virtual | ~VariableColorLED (void) |
Destructor. More... | |
VariableColorLED (const std::string &n="", const bool turn_off_at_destruction=false) | |
Constructor. More... | |
VariableColorLED & | turn_on (void) |
Turn the LED on. More... | |
VariableColorLED & | turn_off (void) |
Turn the LED off. 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... | |
VariableColorLED & | turn_on (const std::chrono::high_resolution_clock::duration &duration) |
Turn the LED on for a limited amount of time, then turn it off again. More... | |
VariableColorLED & | turn_on (const size_t duration_in_milliseconds) |
Turn the LED on for a limited amount of time, then turn it off again. More... | |
VariableColorLED & | turn_off (const std::chrono::high_resolution_clock::duration &duration) |
Turn the LED off for a limited amount of time, then turn it on again. More... | |
VariableColorLED & | turn_off (const size_t duration_in_milliseconds) |
Turn the LED off for a limited amount of time, then turn it on again. More... | |
bool | operator== (const GroveBase &rhs) const |
Test object equality. More... | |
bool | operator!= (const GroveBase &rhs) const |
Test object equality. More... | |
Public Attributes | |
bool | turn_off_LED_when_destructing |
Determines whether the destructor attempts to turn off the light. This can be specified in the constructor. More... | |
EGroveType | grove_type |
Grove type. More... | |
std::string | grove_name |
User-supplied name. More... | |
LED which can be turned on or off.
The exact red, green, and blue component is determined by physical screws that must be turned on the back of the twig.
Description | Image |
---|---|
Variable Color LED connected to the Grove UART interface. | |
RGB adjustement screws on the back of the variable color LED. | |
Using a small screwdriver to adjust the colour of the LED. |
|
virtual |
Destructor.
References SG::SGpp::get(), SG::SGpp::gpio, SG::GpioManagement::gpio_unexport(), turn_off(), and turn_off_LED_when_destructing.
SG::VariableColorLED::VariableColorLED | ( | const std::string & | n = "" , |
const bool | turn_off_at_destruction = false |
||
) |
Constructor.
[in] | n | User-supplied name which can be used to identify this LED. The name can be anything, it isn't parsed by SG++. |
[in] | turn_off_at_destruction | Normally when an object of this class is destructed, the LED retains the very last state ("colour"). If turn_off_at_destruction is set to true , then the LED will be turned off by the destructor. |
References SG::SGpp::get(), SG::SGpp::gpio, SG::GpioManagement::gpio_export(), and SG::GpioManagement::kOutput.
|
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().
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
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().
SG::VariableColorLED & SG::VariableColorLED::turn_off | ( | void | ) |
Turn the LED off.
References SG::SGpp::get(), SG::SGpp::gpio, and SG::GpioManagement::set_high().
Referenced by turn_on(), variable_led(), and ~VariableColorLED().
SG::VariableColorLED & SG::VariableColorLED::turn_off | ( | const std::chrono::high_resolution_clock::duration & | duration | ) |
Turn the LED off for a limited amount of time, then turn it on again.
This call is synchronous, and will not return until the LED has cycled off then on again. The duration should be more than 5 milliseconds, otherwise the LED may not behave as expected.
References SG::SGpp::get(), SG::SGpp::gpio, SG::GpioManagement::set_high(), and SG::GpioManagement::set_low().
|
inline |
Turn the LED off for a limited amount of time, then turn it on again.
This call is synchronous, and will not return until the LED has cycled off then on again. The duration should be more than 5 milliseconds, otherwise the LED may not behave as expected.
References turn_off().
Referenced by turn_off().
SG::VariableColorLED & SG::VariableColorLED::turn_on | ( | void | ) |
Turn the LED on.
References SG::SGpp::get(), SG::SGpp::gpio, and SG::GpioManagement::set_low().
Referenced by variable_led().
SG::VariableColorLED & SG::VariableColorLED::turn_on | ( | const std::chrono::high_resolution_clock::duration & | duration | ) |
Turn the LED on for a limited amount of time, then turn it off again.
This call is synchronous, and will not return until the LED has cycled on then off again. The duration should be more than 5 milliseconds, otherwise the LED may not behave as expected.
References SG::SGpp::get(), SG::SGpp::gpio, SG::GpioManagement::set_high(), and SG::GpioManagement::set_low().
|
inline |
Turn the LED on for a limited amount of time, then turn it off again.
This call is synchronous, and will not return until the LED has cycled on then off again. The duration should be more than 5 milliseconds, otherwise the LED may not behave as expected.
References turn_off(), and turn_on().
Referenced by turn_on().
|
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=().
bool SG::VariableColorLED::turn_off_LED_when_destructing |
Determines whether the destructor attempts to turn off the light. This can be specified in the constructor.
Referenced by ~VariableColorLED().