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

Dependents:   RGB

Committer:
arnedesmet
Date:
Mon Jan 18 20:48:22 2016 +0000
Revision:
3:3d0652023458
Parent:
0:8fd12f8121c1
Documented Color.h

Who changed what in which revision?

UserRevisionLine numberNew contents of line
arnedesmet 0:8fd12f8121c1 1
arnedesmet 0:8fd12f8121c1 2 #ifndef COLOR_H
arnedesmet 0:8fd12f8121c1 3 #define COLOR_H
arnedesmet 0:8fd12f8121c1 4
arnedesmet 3:3d0652023458 5
arnedesmet 3:3d0652023458 6 /**
arnedesmet 3:3d0652023458 7 * Used to manage the colors, both the hardcoded ones and those that are not hardcoded.
arnedesmet 3:3d0652023458 8 * The ones that are not hardcoded include making colors through assigning a number between 0 and 255
arnedesmet 3:3d0652023458 9 * for red, green and blue, and using a hexadecimal format of an integer: 0xRRGGBB
arnedesmet 3:3d0652023458 10 */
arnedesmet 3:3d0652023458 11
arnedesmet 3:3d0652023458 12
arnedesmet 0:8fd12f8121c1 13 class Color{
arnedesmet 0:8fd12f8121c1 14
arnedesmet 0:8fd12f8121c1 15
arnedesmet 0:8fd12f8121c1 16 int red, green, blue;
arnedesmet 0:8fd12f8121c1 17
arnedesmet 0:8fd12f8121c1 18 int floatToColorValue(float value);
arnedesmet 0:8fd12f8121c1 19
arnedesmet 0:8fd12f8121c1 20 static const int MAX_COLOR_VALUE = 255;
arnedesmet 0:8fd12f8121c1 21
arnedesmet 0:8fd12f8121c1 22 public:
arnedesmet 0:8fd12f8121c1 23
arnedesmet 3:3d0652023458 24 /** Enum with a set of hardcoded colors */
arnedesmet 3:3d0652023458 25
arnedesmet 0:8fd12f8121c1 26 enum colors {RED = 0xFF0000,
arnedesmet 0:8fd12f8121c1 27 GREEN = 0x00FF00,
arnedesmet 0:8fd12f8121c1 28 BLUE = 0x0000FF,
arnedesmet 0:8fd12f8121c1 29 CYAN = 0x00FFFF,
arnedesmet 0:8fd12f8121c1 30 MAGENTA = 0xFF00FF,
arnedesmet 0:8fd12f8121c1 31 YELLOW = 0xFFFF00,
arnedesmet 0:8fd12f8121c1 32 WHITE = 0xFFFFFF};
arnedesmet 0:8fd12f8121c1 33
arnedesmet 3:3d0652023458 34 /** Create a color by giving in a value for red, green and blue
arnedesmet 3:3d0652023458 35 * @param red A value between 0 and 255 is assigned to red
arnedesmet 3:3d0652023458 36 * @param green A value between 0 and 255 is assigned to green
arnedesmet 3:3d0652023458 37 * @param blue A value between 0 and 255 is assigned to blue
arnedesmet 3:3d0652023458 38 */
arnedesmet 3:3d0652023458 39
arnedesmet 0:8fd12f8121c1 40 Color(int red, int green, int blue);
arnedesmet 3:3d0652023458 41
arnedesmet 3:3d0652023458 42 /** Create a color by giving in a value for the color
arnedesmet 3:3d0652023458 43 * This value is the integer value of the hexadecimal version: 0xRRGGBB
arnedesmet 3:3d0652023458 44 */
arnedesmet 3:3d0652023458 45
arnedesmet 0:8fd12f8121c1 46 Color(int color);
arnedesmet 3:3d0652023458 47
arnedesmet 3:3d0652023458 48 /** Create a color by giving in a value for red, green and blue
arnedesmet 3:3d0652023458 49 * @param red A value between 0.0 and 1.0 is assigned to red
arnedesmet 3:3d0652023458 50 * @param green A value between 0.0 and 1.0 is assigned to green
arnedesmet 3:3d0652023458 51 * @param blue A value between 0.0 and 1.0 is assigned to blue
arnedesmet 3:3d0652023458 52 */
arnedesmet 3:3d0652023458 53
arnedesmet 0:8fd12f8121c1 54 Color(float red, float green, float blue);
arnedesmet 0:8fd12f8121c1 55
arnedesmet 3:3d0652023458 56 /** Get the hexadecimal value of the color
arnedesmet 3:3d0652023458 57 * Get the hex value in this format: 0xRRGGBB
arnedesmet 3:3d0652023458 58 */
arnedesmet 3:3d0652023458 59
arnedesmet 0:8fd12f8121c1 60 int getHex();
arnedesmet 0:8fd12f8121c1 61
arnedesmet 3:3d0652023458 62 /** Get the value for the red component (from 0 to 255) */
arnedesmet 3:3d0652023458 63
arnedesmet 0:8fd12f8121c1 64 int getRed();
arnedesmet 3:3d0652023458 65
arnedesmet 3:3d0652023458 66 /** Get the value for the green component (from 0 to 255) */
arnedesmet 3:3d0652023458 67
arnedesmet 0:8fd12f8121c1 68 int getGreen();
arnedesmet 3:3d0652023458 69
arnedesmet 3:3d0652023458 70 /** Get the value for the blue component (from 0 to 255) */
arnedesmet 3:3d0652023458 71
arnedesmet 0:8fd12f8121c1 72 int getBlue();
arnedesmet 0:8fd12f8121c1 73
arnedesmet 0:8fd12f8121c1 74
arnedesmet 0:8fd12f8121c1 75 };
arnedesmet 0:8fd12f8121c1 76
arnedesmet 0:8fd12f8121c1 77 #endif