simple wrapper for the K64F RGB Led

Committer:
csjc99
Date:
Tue Feb 03 01:10:35 2015 +0000
Revision:
0:ee2feb784400
initial version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
csjc99 0:ee2feb784400 1
csjc99 0:ee2feb784400 2 #pragma once
csjc99 0:ee2feb784400 3 #include <mbed.h>
csjc99 0:ee2feb784400 4
csjc99 0:ee2feb784400 5 /**
csjc99 0:ee2feb784400 6 * K64F RGB LED example:
csjc99 0:ee2feb784400 7 * KRGBLed rgb(LED_RED, LED_GREEN, LED_BLUE);
csjc99 0:ee2feb784400 8 * rgb.set(KRGBLed::Magenta);
csjc99 0:ee2feb784400 9 */
csjc99 0:ee2feb784400 10 class KRGBLed
csjc99 0:ee2feb784400 11 {
csjc99 0:ee2feb784400 12 public:
csjc99 0:ee2feb784400 13 typedef enum
csjc99 0:ee2feb784400 14 {
csjc99 0:ee2feb784400 15 Off = 0,
csjc99 0:ee2feb784400 16 Red = 1,
csjc99 0:ee2feb784400 17 Green = 2,
csjc99 0:ee2feb784400 18 Blue = 4,
csjc99 0:ee2feb784400 19 Yellow = (Red|Green),
csjc99 0:ee2feb784400 20 Cyan = (Green|Blue), // @note more like a whiteish-blue
csjc99 0:ee2feb784400 21 Magenta = (Blue|Red),
csjc99 0:ee2feb784400 22 White = (Red|Green|Blue),
csjc99 0:ee2feb784400 23 } Color;
csjc99 0:ee2feb784400 24
csjc99 0:ee2feb784400 25 KRGBLed(PinName redPin, PinName greenPin, PinName bluePin);
csjc99 0:ee2feb784400 26 ~KRGBLed();
csjc99 0:ee2feb784400 27
csjc99 0:ee2feb784400 28 void set(Color color);
csjc99 0:ee2feb784400 29
csjc99 0:ee2feb784400 30 private:
csjc99 0:ee2feb784400 31 DigitalOut red;
csjc99 0:ee2feb784400 32 DigitalOut green;
csjc99 0:ee2feb784400 33 DigitalOut blue;
csjc99 0:ee2feb784400 34 };