Contains classes which are able to change the color of a LED

Dependents:   RGB

Committer:
arnedesmet
Date:
Mon Jan 18 19:49:32 2016 +0000
Revision:
1:671aa8173c2f
Parent:
0:8fd12f8121c1
Child:
2:ad02ba0ccc06
Updated the documentation of RGB.h

Who changed what in which revision?

UserRevisionLine numberNew 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 1:671aa8173c2f 7 /** RGB class
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