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

Dependents:   PCA995xA

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers CompLedDvrCC.h Source File

CompLedDvrCC.h

00001 /** Abstract class for 'constant-current (CC)' LED driver component
00002  *
00003  *  Abstract class for CC-LED driver family
00004  *  No instance can be made from this class
00005  *
00006  *  @author  Akifumi (Tedd) OKANO, NXP Semiconductors
00007  *  @version 0.6
00008  *  @date    19-Mar-2015
00009  *
00010  *  Released under the Apache 2 license License
00011  */
00012 
00013 #ifndef     MBED_CompLedDvrCC
00014 #define     MBED_CompLedDvrCC
00015 
00016 #include    "mbed.h"
00017 
00018 typedef enum {
00019     /** Pin names of LED driver. Those are L0 .. L3, not like "LED0" to avoid mbed board LED names  */
00020     L0,            /**< LED0  pin                              */
00021     L1,            /**< LED1  pin                              */
00022     L2,            /**< LED2  pin                              */
00023     L3,            /**< LED3  pin                              */
00024     L4,            /**< LED4  pin                              */
00025     L5,            /**< LED5  pin                              */
00026     L6,            /**< LED6  pin                              */
00027     L7,            /**< LED7  pin                              */
00028     L8,            /**< LED8  pin                              */
00029     L9,            /**< LED9  pin                              */
00030     L10,           /**< LED10 pin                              */
00031     L11,           /**< LED11 pin                              */
00032     L12,           /**< LED12 pin                              */
00033     L13,           /**< LED13 pin                              */
00034     L14,           /**< LED14 pin                              */
00035     L15,           /**< LED15 pin                              */
00036     L16,           /**< LED16 pin                              */
00037     L17,           /**< LED17 pin                              */
00038     L18,           /**< LED18 pin                              */
00039     L19,           /**< LED19 pin                              */
00040     L20,           /**< LED20 pin                              */
00041     L21,           /**< LED21 pin                              */
00042     L22,           /**< LED22 pin                              */
00043     L23,           /**< LED23 pin                              */
00044     L_NC = ~0x0L   /**< for when the pin is left no-connection */
00045 } LedPinName;
00046 
00047 
00048 /** Abstract class for CC-LED driver component
00049  *
00050  *  @class CompLedDvrCC
00051  *
00052  *  Abstract class for LED driver family
00053  *  No instance can be made from this class
00054  */
00055 class CompLedDvrCC
00056 {
00057 public:
00058     /** Default constructor */
00059     CompLedDvrCC();
00060 
00061     /** Destructor */
00062     virtual ~CompLedDvrCC();
00063 
00064     /** Virtual function to define standard function of the component   */
00065     virtual void    pwm( int port, float v )    = 0;
00066 
00067     /** Virtual function to define standard function of the component   */
00068     virtual void    current( int port, float v )    = 0;
00069 }
00070 ;
00071 
00072 #endif  //  MBED_CompLedDvrCC
00073 
00074