LEDDriver_NXP_Arduino 1.0.2
LED driver device operation sample code for Arduino
|
Public Types | |
enum | reg_num { MODE1 , MODE2 , EFLAG0 , EFLAG1 , EFLAG2 , EFLAG3 , EFLAG4 , EFLAG5 , LEDOUT0 , LEDOUT1 , LEDOUT2 , LEDOUT3 , LEDOUT4 , LEDOUT5 , GRPPWM , GRPFREQ , PWM0 , PWM1 , PWM2 , PWM3 , PWM4 , PWM5 , PWM6 , PWM7 , PWM8 , PWM9 , PWM10 , PWM11 , PWM12 , PWM13 , PWM14 , PWM15 , PWM16 , PWM17 , PWM18 , PWM19 , PWM20 , PWM21 , PWM22 , PWM23 , IREF0 , IREF1 , IREF2 , IREF3 , IREF4 , IREF5 , IREF6 , IREF7 , IREF8 , IREF9 , IREF10 , IREF11 , IREF12 , IREF13 , IREF14 , IREF15 , IREF16 , IREF17 , IREF18 , IREF19 , IREF20 , IREF21 , IREF22 , IREF23 , RAMP_RATE_GRP0 , STEP_TIME_GRP0 , HOLD_CNTL_GRP0 , IREF_GRP0 , RAMP_RATE_GRP1 , STEP_TIME_GRP1 , HOLD_CNTL_GRP1 , IREF_GRP1 , RAMP_RATE_GRP2 , STEP_TIME_GRP2 , HOLD_CNTL_GRP2 , IREF_GRP2 , RAMP_RATE_GRP3 , STEP_TIME_GRP3 , HOLD_CNTL_GRP3 , IREF_GRP3 , RAMP_RATE_GRP4 , STEP_TIME_GRP4 , HOLD_CNTL_GRP4 , IREF_GRP4 , RAMP_RATE_GRP5 , STEP_TIME_GRP5 , HOLD_CNTL_GRP5 , IREF_GRP5 , GRAD_MODE_SEL0 , GRAD_MODE_SEL1 , GRAD_MODE_SEL2 , GRAD_GRP_SEL0 , GRAD_GRP_SEL1 , GRAD_GRP_SEL2 , GRAD_GRP_SEL3 , GRAD_GRP_SEL4 , GRAD_GRP_SEL5 , GRAD_GRP_SEL6 , GRAD_GRP_SEL7 , GRAD_GRP_SEL8 , GRAD_GRP_SEL9 , GRAD_GRP_SEL10 , GRAD_GRP_SEL11 , GRAD_CNTL0 , GRAD_CNTL1 , OFFSET , PWMALL , IREFALL } |
enum | board { NONE , ARDUINO_SHIELD } |
![]() | |
enum | board { NONE , ARDUINO_SHIELD } |
Public Member Functions | |
PCA9957 () | |
void | init (float current) |
void | begin (float current=0.1, board env=NONE, bool buffered=false) |
void | pwm (uint8_t ch, float value) |
void | pwm (float *values) |
void | buffer_enable (bool flag) |
void | flush (void) |
int | reg_w (uint8_t reg_adr, uint8_t *data, uint16_t size) |
int | reg_w (uint8_t reg_adr, uint8_t data) |
int | reg_r (uint8_t reg_adr, uint8_t *data, uint16_t size) |
uint8_t | reg_r (uint8_t reg_adr) |
void | write_r8 (uint8_t reg, uint8_t val) |
uint8_t | read_r8 (uint8_t reg) |
void | bit_op8 (uint8_t reg, uint8_t mask, uint8_t value) |
void | bit_op16 (uint8_t reg, uint16_t mask, uint16_t value) |
![]() | |
PCA995x_SPI (uint8_t n_ch, uint8_t PWM_r, uint8_t IREF_r, uint8_t IREFALL_r, const uint8_t *ar, uint8_t oe=9) | |
void | txrx (uint8_t *data, int size) |
void | reg_access (uint8_t reg, uint8_t val) |
void | reg_access (uint8_t reg, uint8_t *vp, int len) |
uint8_t | reg_access (uint8_t reg) |
void | reg_access_r (uint8_t reg, uint8_t *vp, int len) |
void | reg_w (uint8_t reg, uint8_t val) |
void | reg_w (uint8_t reg, uint8_t *vp, int len) |
uint8_t | reg_r (uint8_t reg) |
void | reg_r (uint8_t reg, uint8_t *vp, int len) |
void | write_r8 (uint8_t reg, uint8_t val) |
uint8_t | read_r8 (uint8_t reg) |
void | irefall (uint8_t iref) |
void | pwm (uint8_t ch, float value) |
void | pwm (float *values) |
![]() | |
PCA995x (uint8_t n_ch, uint8_t PWM_r, uint8_t IREF_r, uint8_t IREFALL_r, const uint8_t *ar, uint8_t oe=8) | |
virtual void | begin (float current=0.1, board env=NONE, bool buffered=false) |
void | irefall (uint8_t iref) |
![]() | |
LEDDriver (uint8_t n_ch, uint8_t PWM_r, uint8_t oe) | |
void | pwm (uint8_t ch, float value) |
void | pwm (float *values) |
void | buffer_enable (bool flag) |
void | flush (void) |
Static Public Attributes | |
static constexpr uint8_t | n_channel = 24 |
static constexpr uint8_t | access_ref [NUM_access_word] |
Additional Inherited Members | |
![]() | |
const uint8_t * | arp |
![]() | |
const uint8_t | n_channel |
![]() | |
const uint8_t | reg_IREF |
const uint8_t | reg_IREFALL |
![]() | |
const uint8_t | reg_PWM |
const uint8_t | oe_pin |
Definition at line 495 of file LEDDriver.h.
enum PCA9957::board |
Constants for begin() method
Definition at line 552 of file LEDDriver.h.
enum PCA9957::reg_num |
Name of the PCA9957 registers
Definition at line 502 of file LEDDriver.h.
PCA9957::PCA9957 | ( | ) |
Create a PCA9957 instance connected to specified I2C pins with specified address
Definition at line 4 of file PCA9957.cpp.
|
virtual |
Definition at line 9 of file PCA9957.cpp.
void PCA9957::begin | ( | float | current = 0.1, |
board | env = NONE, | ||
bool | buffered = false ) |
Device/board initialization
This method is needed to initialize the LED driver itself and evaluation board.
current | Output current setting. Max is 1.0 for 100% output. Default is 0.1 (10%) |
env | This method takes one argument of "PCA9957::ARDUINO_SHIELD" to set RESET and OE pins. This is required for Arduino-shield type evaluation boards from NXP. |
buffered | Buffered mode switch true or false. Default is false |
void PCA9957::bit_op8 | ( | uint8_t | reg, |
uint8_t | mask, | ||
uint8_t | value ) |
Register overwriting with bit-mask
Register can be updated by bit level
reg | register index/address/pointer |
mask | bit-mask to protect overwriting |
value | value to overwrite |
void PCA9957::buffer_enable | ( | bool | flag | ) |
Buffer mode enable/Disble
flag | 'true' for enabling |
void PCA9957::flush | ( | void | ) |
Flushing data
Send buffered PWM data to the LED driver
|
virtual |
Initializing device
value | current value in float (0.0 ~ 1.0) |
Implements PCA995x.
Definition at line 13 of file PCA9957.cpp.
Referenced by init().
void PCA9957::pwm | ( | float * | values | ) |
Set PWM value for all channels
reg | register number |
*value | pointer to PWM value in float (0.0 ~ 1.0) |
void PCA9957::pwm | ( | uint8_t | ch, |
float | value ) |
Set PWM value for a channel
reg | register number |
value | PWM value in float (0.0 ~ 1.0) |
uint8_t PCA9957::read_r8 | ( | uint8_t | reg | ) |
Register read, 8 bit
reg | register index/address/pointer |
uint8_t PCA9957::reg_r | ( | uint8_t | reg_adr | ) |
Single register read
reg | register index/address/pointer |
int PCA9957::reg_r | ( | uint8_t | reg_adr, |
uint8_t * | data, | ||
uint16_t | size ) |
Multiple register read
reg | register index/address/pointer |
data | pointer to data buffer |
size | data size |
int PCA9957::reg_w | ( | uint8_t | reg_adr, |
uint8_t * | data, | ||
uint16_t | size ) |
Multiple register write
reg | register index/address/pointer |
data | pointer to data buffer |
size | data size |
Referenced by init().
int PCA9957::reg_w | ( | uint8_t | reg_adr, |
uint8_t | data ) |
Single register write
reg | register index/address/pointer |
data | pointer to data buffer |
size | data size |
void PCA9957::write_r8 | ( | uint8_t | reg, |
uint8_t | val ) |
Register write, 8 bit
reg | register index/address/pointer |
val | data value |
Referenced by init().
|
staticconstexpr |
Definition at line 542 of file LEDDriver.h.
|
staticconstexpr |
Number of channels
Definition at line 499 of file LEDDriver.h.