Contains classes which are able to change the color of a LED
RGB.h@2:ad02ba0ccc06, 2016-01-18 (annotated)
- Committer:
- arnedesmet
- Date:
- Mon Jan 18 19:57:50 2016 +0000
- Revision:
- 2:ad02ba0ccc06
- Parent:
- 1:671aa8173c2f
Spelling mistake
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
arnedesmet | 0:8fd12f8121c1 | 1 | |
arnedesmet | 0:8fd12f8121c1 | 2 | #ifndef RGB_H |
arnedesmet | 0:8fd12f8121c1 | 3 | #define RGB_H |
arnedesmet | 0:8fd12f8121c1 | 4 | #include "mbed.h" |
arnedesmet | 0:8fd12f8121c1 | 5 | #include "Color.h" |
arnedesmet | 0:8fd12f8121c1 | 6 | |
arnedesmet | 2:ad02ba0ccc06 | 7 | /** |
arnedesmet | 1:671aa8173c2f | 8 | * Colors can be created by either giving in a value between 0 and 255 for red, green and blue, |
arnedesmet | 1:671aa8173c2f | 9 | * or giving in the name of a hardcoded color or giving the hexadecimal code for a color. |
arnedesmet | 1:671aa8173c2f | 10 | */ |
arnedesmet | 0:8fd12f8121c1 | 11 | class RGB{ |
arnedesmet | 0:8fd12f8121c1 | 12 | public: |
arnedesmet | 1:671aa8173c2f | 13 | |
arnedesmet | 1:671aa8173c2f | 14 | /** Create a new RGB instance |
arnedesmet | 1:671aa8173c2f | 15 | * @param r_pin mbed PinName linked to red led |
arnedesmet | 1:671aa8173c2f | 16 | * @param g_pin mbed PinName linked to green led |
arnedesmet | 1:671aa8173c2f | 17 | * @param b_pin mbed PinName linked to blue led |
arnedesmet | 1:671aa8173c2f | 18 | */ |
arnedesmet | 1:671aa8173c2f | 19 | |
arnedesmet | 0:8fd12f8121c1 | 20 | RGB(PinName r_pin, PinName g_pin, PinName b_pin); |
arnedesmet | 0:8fd12f8121c1 | 21 | |
arnedesmet | 1:671aa8173c2f | 22 | /** Set the color by giving in the name of a color |
arnedesmet | 1:671aa8173c2f | 23 | * @param color Pointer to a Color object |
arnedesmet | 1:671aa8173c2f | 24 | * @ref Color |
arnedesmet | 1:671aa8173c2f | 25 | */ |
arnedesmet | 1:671aa8173c2f | 26 | |
arnedesmet | 0:8fd12f8121c1 | 27 | void setColor(Color color); |
arnedesmet | 1:671aa8173c2f | 28 | |
arnedesmet | 1:671aa8173c2f | 29 | /** Set the color by giving in a value for red, green and blue |
arnedesmet | 1:671aa8173c2f | 30 | * @param red A value between 0 and 255 is assigned to red |
arnedesmet | 1:671aa8173c2f | 31 | * @param green A value between 0 and 255 is assigned to green |
arnedesmet | 1:671aa8173c2f | 32 | * @param blue A value between 0 and 255 is assigned to blue |
arnedesmet | 1:671aa8173c2f | 33 | */ |
arnedesmet | 1:671aa8173c2f | 34 | |
arnedesmet | 0:8fd12f8121c1 | 35 | void setColor(int red, int green, int blue); |
arnedesmet | 1:671aa8173c2f | 36 | |
arnedesmet | 1:671aa8173c2f | 37 | /** Set the color by giving an integer in hexadecimal notation |
arnedesmet | 1:671aa8173c2f | 38 | * @param color A Color is made by giving in red, green and blue: 0xRRGGBB |
arnedesmet | 1:671aa8173c2f | 39 | */ |
arnedesmet | 1:671aa8173c2f | 40 | |
arnedesmet | 0:8fd12f8121c1 | 41 | void setColor(int Color); |
arnedesmet | 0:8fd12f8121c1 | 42 | |
arnedesmet | 1:671aa8173c2f | 43 | /** Get the color of the led */ |
arnedesmet | 1:671aa8173c2f | 44 | |
arnedesmet | 0:8fd12f8121c1 | 45 | Color* getColor(); |
arnedesmet | 1:671aa8173c2f | 46 | |
arnedesmet | 1:671aa8173c2f | 47 | /** Turn off the led */ |
arnedesmet | 1:671aa8173c2f | 48 | |
arnedesmet | 0:8fd12f8121c1 | 49 | void off(); |
arnedesmet | 0:8fd12f8121c1 | 50 | private: |
arnedesmet | 0:8fd12f8121c1 | 51 | PwmOut* r_out; |
arnedesmet | 0:8fd12f8121c1 | 52 | PwmOut* g_out; |
arnedesmet | 0:8fd12f8121c1 | 53 | PwmOut* b_out; |
arnedesmet | 0:8fd12f8121c1 | 54 | |
arnedesmet | 0:8fd12f8121c1 | 55 | float toFloat(int intValue); |
arnedesmet | 0:8fd12f8121c1 | 56 | |
arnedesmet | 0:8fd12f8121c1 | 57 | |
arnedesmet | 0:8fd12f8121c1 | 58 | }; |
arnedesmet | 0:8fd12f8121c1 | 59 | |
arnedesmet | 0:8fd12f8121c1 | 60 | #endif |