RGB LED Driver demo
Dependents: NJU6063_HelloWorld
NJU6063.h@0:0283db13b7f1, 2015-12-26 (annotated)
- Committer:
- og
- Date:
- Sat Dec 26 13:19:46 2015 +0000
- Revision:
- 0:0283db13b7f1
- Child:
- 1:bbc915c814da
NJU6063 Library initial
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
og | 0:0283db13b7f1 | 1 | /** @file NJU6063.h |
og | 0:0283db13b7f1 | 2 | * @brief mbed library to use a NJU6063 RGB LED Driver |
og | 0:0283db13b7f1 | 3 | * http://www.njr.com/semicon/products/NJU6063.html |
og | 0:0283db13b7f1 | 4 | * interface: I2C |
og | 0:0283db13b7f1 | 5 | */ |
og | 0:0283db13b7f1 | 6 | #ifndef MBED_NJU6063_H |
og | 0:0283db13b7f1 | 7 | #define MBED_NJU6063_H |
og | 0:0283db13b7f1 | 8 | |
og | 0:0283db13b7f1 | 9 | #include "mbed.h" |
og | 0:0283db13b7f1 | 10 | #define NJU6063_SLAVE 0x40 |
og | 0:0283db13b7f1 | 11 | #define EN 0x01 |
og | 0:0283db13b7f1 | 12 | #define EXT 0x02 |
og | 0:0283db13b7f1 | 13 | #define FDX1 0x00 |
og | 0:0283db13b7f1 | 14 | #define FDX2 0x04 |
og | 0:0283db13b7f1 | 15 | #define FDX4 0x08 |
og | 0:0283db13b7f1 | 16 | #define FDX8 0x0C |
og | 0:0283db13b7f1 | 17 | #define FC1000KHZ 0x00 |
og | 0:0283db13b7f1 | 18 | #define FC1300KHZ 0x10 |
og | 0:0283db13b7f1 | 19 | #define FC800KHZ 0x20 |
og | 0:0283db13b7f1 | 20 | #define FC2200KHZ 0x30 |
og | 0:0283db13b7f1 | 21 | #define DMGP 0x80 |
og | 0:0283db13b7f1 | 22 | #define DO1 0x40 |
og | 0:0283db13b7f1 | 23 | #define ILED1OFF 0x00 |
og | 0:0283db13b7f1 | 24 | #define ILED1X1 0x03 |
og | 0:0283db13b7f1 | 25 | #define ILED1X05 0x02 |
og | 0:0283db13b7f1 | 26 | #define ILED1X025 0x01 |
og | 0:0283db13b7f1 | 27 | #define ILED2OFF 0x00 |
og | 0:0283db13b7f1 | 28 | #define ILED2X1 0x0C |
og | 0:0283db13b7f1 | 29 | #define ILED2X05 0x08 |
og | 0:0283db13b7f1 | 30 | #define ILED2X025 0x04 |
og | 0:0283db13b7f1 | 31 | #define ILED3OFF 0x00 |
og | 0:0283db13b7f1 | 32 | #define ILED3X1 0x30 |
og | 0:0283db13b7f1 | 33 | #define ILED3X05 0x20 |
og | 0:0283db13b7f1 | 34 | #define ILED3X025 0x10 |
og | 0:0283db13b7f1 | 35 | #define ALL 0xff |
og | 0:0283db13b7f1 | 36 | |
og | 0:0283db13b7f1 | 37 | #define DEFAULTINIT FC800KHZ|FDX8|EN |
og | 0:0283db13b7f1 | 38 | |
og | 0:0283db13b7f1 | 39 | /** |
og | 0:0283db13b7f1 | 40 | * @param sda I2C-bus SDA pin |
og | 0:0283db13b7f1 | 41 | * @param scl I2C-bus SCL pin |
og | 0:0283db13b7f1 | 42 | * @param rst Digital Out |
og | 0:0283db13b7f1 | 43 | */ |
og | 0:0283db13b7f1 | 44 | class NJU6063 |
og | 0:0283db13b7f1 | 45 | { |
og | 0:0283db13b7f1 | 46 | private: |
og | 0:0283db13b7f1 | 47 | I2C _i2c; |
og | 0:0283db13b7f1 | 48 | DigitalOut _rst; |
og | 0:0283db13b7f1 | 49 | public: |
og | 0:0283db13b7f1 | 50 | NJU6063( PinName sda, PinName scl, PinName rst); |
og | 0:0283db13b7f1 | 51 | ~NJU6063() {}; |
og | 0:0283db13b7f1 | 52 | void reset(void); |
og | 0:0283db13b7f1 | 53 | void set_multi_device(uint8_t n); |
og | 0:0283db13b7f1 | 54 | void init(uint8_t chip_addr, uint8_t d); |
og | 0:0283db13b7f1 | 55 | void set_iled(uint8_t chip_addr, uint8_t d1, uint8_t d2, uint8_t d3); |
og | 0:0283db13b7f1 | 56 | void set_pwm(uint8_t chip_addr, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t loop=0x5f, uint8_t son=0x00); |
og | 0:0283db13b7f1 | 57 | void dim_start(uint8_t chip_addr); |
og | 0:0283db13b7f1 | 58 | uint8_t check_dim(void); |
og | 0:0283db13b7f1 | 59 | }; |
og | 0:0283db13b7f1 | 60 | |
og | 0:0283db13b7f1 | 61 | #endif // MBED_NJU6063_H |