Basic RGB library for non-PWM LEDs
Dependents: MenuExample exosite_http_example exosite_http_example FastPWM
Warning : Works with non-PWM LED (0 or 1).
A quick example on how to use it.
#include "mbed.h" #include "RGBLed.h" RGBLed led(LED_RED, LED_GREEN, LED_BLUE); int main() { RGBLed::Color list[8] = {RGBLed::BLACK, RGBLed::RED, RGBLed::GREEN, RGBLed::BLUE, RGBLed::MAGENTA, RGBLed::CYAN, RGBLed::YELLOW, RGBLed::WHITE}; int i = 0; while (true) { i = (i+1)%8; led.setColor(list[i]); wait_ms(100); } }
RGBLed.cpp@3:be0a3c2ec426, 2014-09-03 (annotated)
- Committer:
- rominos2
- Date:
- Wed Sep 03 10:13:45 2014 +0000
- Revision:
- 3:be0a3c2ec426
- Child:
- 4:176363412797
Change the Library name for better understanding.; Change some data type for optimization.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
rominos2 | 3:be0a3c2ec426 | 1 | #include "RGBLed.h" |
rominos2 | 3:be0a3c2ec426 | 2 | |
rominos2 | 3:be0a3c2ec426 | 3 | RGBLed::Color::Color(bool r, bool g, bool b) : _r(r), _g(g), _b(b) { |
rominos2 | 3:be0a3c2ec426 | 4 | } |
rominos2 | 3:be0a3c2ec426 | 5 | |
rominos2 | 3:be0a3c2ec426 | 6 | RGBLed::RGBLed(PinName redPin, PinName greenPin, PinName bluePin) : _red(redPin), _green(greenPin), _blue(bluePin) { |
rominos2 | 3:be0a3c2ec426 | 7 | this->setColor(RGBLed::BLACK); // Clear the LED output |
rominos2 | 3:be0a3c2ec426 | 8 | } |
rominos2 | 3:be0a3c2ec426 | 9 | |
rominos2 | 3:be0a3c2ec426 | 10 | void RGBLed::setColor(Color& color) { |
rominos2 | 3:be0a3c2ec426 | 11 | _red = color._r; |
rominos2 | 3:be0a3c2ec426 | 12 | _green = color._g; |
rominos2 | 3:be0a3c2ec426 | 13 | _blue = color._b; |
rominos2 | 3:be0a3c2ec426 | 14 | } |
rominos2 | 3:be0a3c2ec426 | 15 | |
rominos2 | 3:be0a3c2ec426 | 16 | RGBLed::Color RGBLed::BLACK = RGBLed::Color(1,1,1); |
rominos2 | 3:be0a3c2ec426 | 17 | RGBLed::Color RGBLed::RED = RGBLed::Color(0,1,1); |
rominos2 | 3:be0a3c2ec426 | 18 | RGBLed::Color RGBLed::GREEN = RGBLed::Color(1,0,1); |
rominos2 | 3:be0a3c2ec426 | 19 | RGBLed::Color RGBLed::BLUE = RGBLed::Color(1,1,0); |
rominos2 | 3:be0a3c2ec426 | 20 | RGBLed::Color RGBLed::MAGENTA = RGBLed::Color(0,1,0); |
rominos2 | 3:be0a3c2ec426 | 21 | RGBLed::Color RGBLed::CYAN = RGBLed::Color(1,0,0); |
rominos2 | 3:be0a3c2ec426 | 22 | RGBLed::Color RGBLed::YELLOW = RGBLed::Color(0,0,1); |
rominos2 | 3:be0a3c2ec426 | 23 | RGBLed::Color RGBLed::WHITE = RGBLed::Color(0,0,0); |