LEDDriver_NXP_Arduino 0.2.0
LED driver device operation sample code for Arduino
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | List of all members
PCA9957 Class Reference

#include <LEDDriver.h>

Inheritance diagram for PCA9957:
PCA995x_SPI PCA995x LEDDriver

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
}
 
- Public Types inherited from LEDDriver
enum  board { NONE , ARDUINO_SHIELD }
 

Public Member Functions

 PCA9957 ()
 
virtual ~PCA9957 ()
 
void init (float current)
 
- Public Member Functions inherited from PCA995x_SPI
 PCA995x_SPI (uint8_t n_ch, uint8_t PWM_r, uint8_t IREF_r, uint8_t IREFALL_r, uint8_t oe=9)
 
virtual ~PCA995x_SPI ()
 
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)
 
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)
 
- Public Member Functions inherited from PCA995x
 PCA995x (uint8_t n_ch, uint8_t PWM_r, uint8_t IREF_r, uint8_t IREFALL_r, uint8_t oe=8)
 
virtual ~PCA995x ()
 
virtual void begin (float current=0.1, board env=NONE, bool buffered=false)
 
virtual void init (float current)=0
 
void irefall (uint8_t iref)
 
- Public Member Functions inherited from LEDDriver
 LEDDriver (uint8_t n_ch, uint8_t PWM_r, uint8_t oe)
 
virtual ~LEDDriver ()
 
virtual void reg_access (uint8_t reg, uint8_t val)=0
 
virtual void reg_access (uint8_t reg, uint8_t *vp, int len)=0
 
void pwm (uint8_t ch, float value)
 
void pwm (float *values)
 
void flush (void)
 
void buffer_enable (bool flag)
 

Static Public Attributes

static const uint8_t n_channel = 24
 

Additional Inherited Members

- Protected Attributes inherited from PCA995x
const uint8_t reg_IREF
 
const uint8_t reg_IREFALL
 
- Protected Attributes inherited from LEDDriver
const uint8_t n_channel
 
const uint8_t reg_PWM
 
const uint8_t oe_pin
 
uint8_t * bp
 

Detailed Description

Definition at line 232 of file LEDDriver.h.

Member Enumeration Documentation

◆ reg_num

Name of the PCA9957 registers

Enumerator
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 

Definition at line 239 of file LEDDriver.h.

Constructor & Destructor Documentation

◆ PCA9957()

PCA9957::PCA9957 ( )

Create a PCA9957 instance connected to specified I2C pins with specified address

Parameters
i2c_addressI2C-bus address (default: (0x02>>1))

Definition at line 267 of file LEDDriver.cpp.

◆ ~PCA9957()

PCA9957::~PCA9957 ( )
virtual

Definition at line 272 of file LEDDriver.cpp.

Member Function Documentation

◆ init()

void PCA9957::init ( float  current)
virtual

Initializing device

Parameters
valuecurrent value in float (0.0 ~ 1.0)

Implements PCA995x.

Definition at line 276 of file LEDDriver.cpp.

Referenced by init().

Member Data Documentation

◆ n_channel

const uint8_t PCA9957::n_channel = 24
static

Number of channels

Definition at line 236 of file LEDDriver.h.


The documentation for this class was generated from the following files: