my version of the RGBLed library. NOTHING changed, just wanted to put into my account.

Fork of RGBLed by Romain Berrada

Files at this revision

API Documentation at this revision

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