my version of the RGBLed library. NOTHING changed, just wanted to put into my account.
Fork of RGBLed by
Revision 0:0969a9e32945, committed 2014-09-02
- Comitter:
- rominos2
- Date:
- Tue Sep 02 13:05:51 2014 +0000
- Child:
- 1:d492c575de97
- Commit message:
- Initial Release
Changed in this revision
| rgb.cpp | Show annotated file Show diff for this revision Revisions of this file |
| rgb.h | Show annotated file Show diff for this revision Revisions of this file |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rgb.cpp Tue Sep 02 13:05:51 2014 +0000
@@ -0,0 +1,23 @@
+#include "rgb.h"
+
+RGB::Color::Color(uint8_t r, uint8_t g, uint8_t b) : _r(r), _g(g), _b(b) {
+}
+
+RGB::RGB(PinName redPin, PinName greenPin, PinName bluePin) : _red(redPin), _green(greenPin), _blue(bluePin) {
+ this->setColor(&RGB::BLACK); // Clear the LED output
+}
+
+void RGB::setColor(Color* color) {
+ _red = color->_r;
+ _green = color->_g;
+ _blue = color->_b;
+}
+
+RGB::Color RGB::BLACK = RGB::Color(1,1,1);
+RGB::Color RGB::RED = RGB::Color(0,1,1);
+RGB::Color RGB::GREEN = RGB::Color(1,0,1);
+RGB::Color RGB::BLUE = RGB::Color(1,1,0);
+RGB::Color RGB::MAGENTA = RGB::Color(0,1,0);
+RGB::Color RGB::CYAN = RGB::Color(1,0,0);
+RGB::Color RGB::YELLOW = RGB::Color(0,0,1);
+RGB::Color RGB::WHITE = RGB::Color(0,0,0);
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rgb.h Tue Sep 02 13:05:51 2014 +0000
@@ -0,0 +1,65 @@
+#include "mbed.h"
+
+/** A light RGB LED Class
+ Warning : This library is for non-PWN LED
+
+ Here is an quick hello-world class that makes the LED blink with all colors.
+ @code
+ #include "mbed.h"
+ #include "rgb.h"
+
+ RGB led(LED_RED, LED_GREEN, LED_BLUE);
+
+ int main() {
+ RGB::Color* list[8] = {&RGB::BLACK, &RGB::RED, &RGB::GREEN, &RGB::BLUE, &RGB::MAGENTA, &RGB::CYAN, &RGB::YELLOW, &RGB::WHITE};
+ int i = 0;
+
+ while (true) {
+ i = (i+1)%8;
+ led.setColor(list[i]);
+ wait(1);
+ }
+ }
+ @endcode
+*/
+class RGB {
+private:
+ DigitalOut _red;
+ DigitalOut _green;
+ DigitalOut _blue;
+
+public:
+ /* RGB Color class
+ Colors have been defined and are ready to use in RGB class
+ */
+ class Color {
+ private:
+ uint8_t _r; /**< Red component of the Color */
+ uint8_t _g; /**< Green component of the Color */
+ uint8_t _b; /**< Blue component of the Color */
+ Color(uint8_t r, uint8_t g, uint8_t b); /**< Constructor */
+ friend class RGB;
+ };
+
+ /** Create a RBG Object, containing the informations about the RGB pinout.
+ @param redPin the pin linked to the Red LED
+ @param greenPin the pin linked to the green LED
+ @param blue the pin linked to the blue LED
+ */
+ RGB(PinName redPin, PinName greenPin, PinName bluePin);
+
+ /** Change the color of the LED.
+ @param color the color (pointer) to display
+ @see RGB::Color
+ */
+ void setColor(RGB::Color* color);
+
+ static Color BLACK; /**< Black Color (no color) */
+ static Color RED; /**< Red Color */
+ static Color GREEN; /**< Green Color */
+ static Color BLUE; /**< Blue Color */
+ static Color MAGENTA; /**< Magenta Color (Red + Blue) */
+ static Color CYAN; /**< Cyan Color (Green + Blue) */
+ static Color YELLOW; /**< Yellow Color (Red + Green) */
+ static Color WHITE; /**< White Color (Red + Green + Blue) */
+};
\ No newline at end of file
