RGB LED Driver demo
Dependents: NJU6063_HelloWorld
Diff: NJU6063.h
- Revision:
- 0:0283db13b7f1
- Child:
- 1:bbc915c814da
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/NJU6063.h Sat Dec 26 13:19:46 2015 +0000 @@ -0,0 +1,61 @@ +/** @file NJU6063.h +* @brief mbed library to use a NJU6063 RGB LED Driver +* http://www.njr.com/semicon/products/NJU6063.html +* interface: I2C +*/ +#ifndef MBED_NJU6063_H +#define MBED_NJU6063_H + +#include "mbed.h" +#define NJU6063_SLAVE 0x40 +#define EN 0x01 +#define EXT 0x02 +#define FDX1 0x00 +#define FDX2 0x04 +#define FDX4 0x08 +#define FDX8 0x0C +#define FC1000KHZ 0x00 +#define FC1300KHZ 0x10 +#define FC800KHZ 0x20 +#define FC2200KHZ 0x30 +#define DMGP 0x80 +#define DO1 0x40 +#define ILED1OFF 0x00 +#define ILED1X1 0x03 +#define ILED1X05 0x02 +#define ILED1X025 0x01 +#define ILED2OFF 0x00 +#define ILED2X1 0x0C +#define ILED2X05 0x08 +#define ILED2X025 0x04 +#define ILED3OFF 0x00 +#define ILED3X1 0x30 +#define ILED3X05 0x20 +#define ILED3X025 0x10 +#define ALL 0xff + +#define DEFAULTINIT FC800KHZ|FDX8|EN + +/** +* @param sda I2C-bus SDA pin +* @param scl I2C-bus SCL pin +* @param rst Digital Out +*/ +class NJU6063 +{ +private: + I2C _i2c; + DigitalOut _rst; +public: + NJU6063( PinName sda, PinName scl, PinName rst); + ~NJU6063() {}; + void reset(void); + void set_multi_device(uint8_t n); + void init(uint8_t chip_addr, uint8_t d); + void set_iled(uint8_t chip_addr, uint8_t d1, uint8_t d2, uint8_t d3); + void set_pwm(uint8_t chip_addr, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t loop=0x5f, uint8_t son=0x00); + void dim_start(uint8_t chip_addr); + uint8_t check_dim(void); +}; + +#endif // MBED_NJU6063_H \ No newline at end of file