Abstract class for 'constant current (CC)' LED driver component. Including "LedPwmOutCC API" class.

Dependents:   PCA995xA

Revision:
0:6d2f6c0fcc40
Child:
1:877856770b37
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/CompLedDvrCC.h	Wed Mar 04 10:14:02 2015 +0000
@@ -0,0 +1,74 @@
+/** Abstract class for 'constant-current (CC)' LED driver component
+ *
+ *  Abstract class for CC-LED driver family
+ *  No instance can be made from this class
+ *
+ *  @author  Akifumi (Tedd) OKANO, NXP Semiconductors
+ *  @version 0.5
+ *  @date    04-Mar-2015
+ *
+ *  Released under the Apache 2 license License
+ */
+
+#ifndef     MBED_CompLedDvrCC
+#define     MBED_CompLedDvrCC
+
+#include    "mbed.h"
+
+typedef enum {
+    /** Pin names of LED driver. Those are L0 .. L3, not like "LED0" to avoid mbed board LED names  */
+    L0,            /**< LED0 pin                               */
+    L1,            /**< LED2 pin                               */
+    L2,            /**< LED2 pin                               */
+    L3,            /**< LED2 pin                               */
+    L4,            /**< LED2 pin                               */
+    L5,            /**< LED2 pin                               */
+    L6,            /**< LED2 pin                               */
+    L7,            /**< LED2 pin                               */
+    L8,            /**< LED2 pin                               */
+    L9,            /**< LED2 pin                               */
+    L10,           /**< LED2 pin                               */
+    L11,           /**< LED2 pin                               */
+    L12,           /**< LED2 pin                               */
+    L13,           /**< LED2 pin                               */
+    L14,           /**< LED2 pin                               */
+    L15,           /**< LED2 pin                               */
+    L16,           /**< LED2 pin                               */
+    L17,           /**< LED2 pin                               */
+    L18,           /**< LED2 pin                               */
+    L19,           /**< LED2 pin                               */
+    L20,           /**< LED2 pin                               */
+    L21,           /**< LED2 pin                               */
+    L22,           /**< LED2 pin                               */
+    L23,           /**< LED23 pin                               */
+    L_NC = ~0x0L   /**< for when the pin is left no-connection */
+} LedPinName;
+
+
+/** Abstract class for CC-LED driver component
+ *
+ *  @class CompLedDvrCC
+ *
+ *  Abstract class for LED driver family
+ *  No instance can be made from this class
+ */
+class CompLedDvrCC
+{
+public:
+    /** Default constructor */
+    CompLedDvrCC();
+
+    /** Destructor */
+    virtual ~CompLedDvrCC();
+
+    /** Virtual function to define standard function of the component   */
+    virtual void    pwm( int port, float v )    = 0;
+
+    /** Virtual function to define standard function of the component   */
+    virtual void    current( int port, float v )    = 0;
+}
+;
+
+#endif  //  MBED_CompLedDvrCC
+
+