Tricolor LED driver for any 3 pin tricolor LED.
tricolor.cpp
- Committer:
- fossum_13
- Date:
- 2013-05-24
- Revision:
- 0:80ebb233e295
File content as of revision 0:80ebb233e295:
/* mbed Microcontroller Library * Copyright (c) 2006-2012 ARM Limited */ #include "tricolor.h" #define ON 255 #define OFF 0 void Tricolor::Blue(void) { SetLEDColor(OFF, OFF, ON); } void Tricolor::Green(void) { SetLEDColor(OFF, ON, OFF); } void Tricolor::LEDOff(void) { // Off == 1.0 _Red = 1.0; _Green = 1.0; _Blue = 1.0; _on = false; } void Tricolor::LEDOn(void) { _Red = _RedPwm; _Green = _GreenPwm; _Blue = _BluePwm; _on = true; } void Tricolor::Red(void) { SetLEDColor(ON, OFF, OFF); } void Tricolor::SetLEDColor(uint8_t red, uint8_t green, uint8_t blue) { _RedPwm = 1.0 - ((float)red / 255); _GreenPwm = 1.0 - ((float)green / 255); _BluePwm = 1.0 - ((float)blue / 255); LEDOn(); } void Tricolor::Toggle(void) { if (_on) { LEDOff(); } else { LEDOn(); } }