Abstract class for 'constant current (CC)' LED driver component. Including "LedPwmOutCC API" class.
Diff: CompLedDvrCC.h
- 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 + +