/* * File: led.cpp * Author: naopross * * Created on May 5, 2018, 2:33 PM */ #include "led.hpp" led::led(gpio_pin *pin, led::color color) : _pin(pin), _color(color) { _pin->set_mode(0); // output } led::~led() { } void led::pin(gpio_pin *pin) { if (pin) { _pin = pin; } } gpio_pin * led::pin() const { return _pin; } void led::get_color(led::color color) { _color = color; } led::color led::set_color() const { return _color; } void led::set(unsigned s) { _pin->set(s); } unsigned led::is_set() const { return _pin->is_set(); } void led::toggle() { _pin->toggle(); } std::string led::to_string() { std::string str = "led ("; switch (_color) { case color::RED: str += "red"; break; case color::GREEN: str += "green"; break; case color::YELLOW: str += "yellow"; break; } str += ") is "; str += (is_set()) ? "on" : "off"; return str; }