RGB LED Driver demo
Dependents: NJU6063_HelloWorld
NJU6063.h
- Committer:
- og
- Date:
- 2015-12-26
- Revision:
- 0:0283db13b7f1
- Child:
- 1:bbc915c814da
File content as of revision 0:0283db13b7f1:
/** @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