I2C_Drivers (ARM) 1.1
SMFSW collection of HAL I2C Drivers for ARM
Loading...
Searching...
No Matches
PCA9xxx.h File Reference

PCA9xxx shared declarations. More...

#include "sarmfsw.h"
Include dependency graph for PCA9xxx.h:
This graph shows which files directly or indirectly include this file:

Data Structures

union  uPCA9xxx_REG__LEDOUTx
 Union for LEDOUTx register of PCA9xxx. More...
 
union  uPCA9xxx_REG__LEDOUT0
 Union for LEDOUT0 register of PCA9xxx. More...
 
union  uPCA9xxx_REG__LEDOUT1
 Union for LEDOUT1 register of PCA9xxx. More...
 
union  uPCA9xxx_REG__LEDOUT2
 Union for LEDOUT2 register of PCA9xxx. More...
 
union  uPCA9xxx_REG__LEDOUT3
 Union for LEDOUT3 register of PCA9xxx. More...
 
union  uPCA9xxx_REG__LEDOUT4
 Union for LEDOUT4 register of PCA9xxx. More...
 
union  uPCA9xxx_REG__LEDOUT5
 Union for LEDOUT5 register of PCA9xxx. More...
 
union  uPCA9xxx_REG__EFLAGx
 Union for EFLAGx register of PCA9xxx. More...
 
union  uPCA9xxx_REG__EFLAG0
 Union for EFLAG0 register of PCA9xxx. More...
 
union  uPCA9xxx_REG__EFLAG1
 Union for EFLAG1 register of PCA9xxx. More...
 
union  uPCA9xxx_REG__EFLAG2
 Union for EFLAG2 register of PCA9xxx. More...
 
union  uPCA9xxx_REG__EFLAG3
 Union for EFLAG3 register of PCA9xxx. More...
 
union  uPCA9xxx_REG__EFLAG4
 Union for EFLAG4 register of PCA9xxx. More...
 
union  uPCA9xxx_REG__EFLAG5
 Union for EFLAG5 register of PCA9xxx. More...
 

Macros

#define PCA9xxx_DEFAULT_ALL_CALL_ADDR   (0xE0U >> 1U)
 PCA9xxx ALL CALL Address (for all channels)
 

Typedefs

typedef PCA9xxx_latch PCA96xx_latch
 Latch type enum for PCA96xx.
 
typedef PCA9xxx_latch PCA99xx_latch
 Latch type enum for PCA99xx.
 
typedef PCA9xxx_reg_inc PCA962x_reg_inc
 Registers increment options enum of PCA962x.
 
typedef PCA9xxx_reg_inc PCA995x_reg_inc
 Registers increment options enum of PCA995x.
 
typedef PCA9xxx_dim PCA962x_dim
 enum for PCA962x dimming type
 
typedef PCA9xxx_dim PCA995x_dim
 enum for PCA995x dimming type
 
typedef PCA9xxx_ledout PCA962x_ledout
 enum for PCA962x output drive
 
typedef PCA9xxx_ledout PCA995x_ledout
 enum for PCA995x output drive
 
typedef uPCA9xxx_REG__LEDOUTx uPCA962x_REG__LEDOUTx
 Union for LEDOUTx register of PCA962x.
 
typedef uPCA9xxx_REG__LEDOUTx uPCA995x_REG__LEDOUTx
 Union for LEDOUTx register of PCA995x.
 
typedef uPCA9xxx_REG__LEDOUT0 uPCA962x_REG__LEDOUT0
 Union for LEDOUT0 register of PCA962x.
 
typedef uPCA9xxx_REG__LEDOUT0 uPCA995x_REG__LEDOUT0
 Union for LEDOUT0 register of PCA995x.
 
typedef uPCA9xxx_REG__LEDOUT1 uPCA962x_REG__LEDOUT1
 Union for LEDOUT1 register of PCA962x.
 
typedef uPCA9xxx_REG__LEDOUT1 uPCA995x_REG__LEDOUT1
 Union for LEDOUT1 register of PCA995x.
 
typedef uPCA9xxx_REG__LEDOUT2 uPCA962x_REG__LEDOUT2
 Union for LEDOUT2 register of PCA962x.
 
typedef uPCA9xxx_REG__LEDOUT2 uPCA995x_REG__LEDOUT2
 Union for LEDOUT2 register of PCA995x.
 
typedef uPCA9xxx_REG__LEDOUT3 uPCA962x_REG__LEDOUT3
 Union for LEDOUT3 register of PCA962x.
 
typedef uPCA9xxx_REG__LEDOUT3 uPCA995x_REG__LEDOUT3
 Union for LEDOUT3 register of PCA995x.
 
typedef uPCA9xxx_REG__LEDOUT4 uPCA995x_REG__LEDOUT4
 Union for LEDOUT4 register of PCA995x.
 
typedef uPCA9xxx_REG__LEDOUT5 uPCA995x_REG__LEDOUT5
 Union for LEDOUT5 register of PCA995x.
 
typedef PCA9xxx_eflag PCA9956_eflag
 enum for PCA9965 error status
 
typedef uPCA9xxx_REG__EFLAGx uPCA995x_REG__EFLAGx
 Union for EFLAGx register of PCA995x.
 
typedef uPCA9xxx_REG__EFLAG0 uPCA995x_REG__EFLAG0
 Union for EFLAG0 register of PCA995x.
 
typedef uPCA9xxx_REG__EFLAG1 uPCA995x_REG__EFLAG1
 Union for EFLAG1 register of PCA995x.
 
typedef uPCA9xxx_REG__EFLAG2 uPCA995x_REG__EFLAG2
 Union for EFLAG2 register of PCA995x.
 
typedef uPCA9xxx_REG__EFLAG3 uPCA995x_REG__EFLAG3
 Union for EFLAG3 register of PCA995x.
 
typedef uPCA9xxx_REG__EFLAG4 uPCA995x_REG__EFLAG4
 Union for EFLAG4 register of PCA995x.
 
typedef uPCA9xxx_REG__EFLAG5 uPCA995x_REG__EFLAG5
 Union for EFLAG5 register of PCA995x.
 

Enumerations

enum  PCA9xxx_chan {
  PCA9xxx__PWM1 = 0U , PCA9xxx__PWM2 , PCA9xxx__PWM3 , PCA9xxx__PWM4 ,
  PCA9xxx__PWM5 , PCA9xxx__PWM6 , PCA9xxx__PWM7 , PCA9xxx__PWM8 ,
  PCA9xxx__PWM9 , PCA9xxx__PWM10 , PCA9xxx__PWM11 , PCA9xxx__PWM12 ,
  PCA9xxx__PWM13 , PCA9xxx__PWM14 , PCA9xxx__PWM15 , PCA9xxx__PWM16 ,
  PCA9xxx__PWM17 , PCA9xxx__PWM18 , PCA9xxx__PWM19 , PCA9xxx__PWM20 ,
  PCA9xxx__PWM21 , PCA9xxx__PWM22 , PCA9xxx__PWM23 , PCA9xxx__PWM24 ,
  PCA9xxx__ALL = 0xFFU
}
 Channels for PCA9xxx. More...
 
enum  PCA9xxx_latch { PCA9xxx__LATCH_ON_STOP = 0U , PCA9xxx__LATCH_ON_ACK }
 Latch type enum for PCA9xxx. More...
 
enum  PCA95xx_reg_inc { PCA95xx__AUTO_INC_NONE = 0U , PCA95xx__AUTO_INC_ALL = 0x10U }
 Registers increment options enum of PCA95xx. More...
 
enum  PCA9xxx_reg_inc {
  PCA9xxx__AUTO_INC_NONE = 0U , PCA9xxx__AUTO_INC_ALL = 0x80U , PCA9xxx__AUTO_INC_BRIGHT = 0xA0U , PCA9xxx__AUTO_INC_GLOBAL = 0xC0U ,
  PCA9xxx__AUTO_INC_BRIGHT_GLOBAL = 0xE0U
}
 Registers increment options enum of PCA9xxx. More...
 
enum  PCA95xx_ledsel { PCA95xx__LED_OFF = 0U , PCA95xx__LED_ON , PCA95xx__LED_PWM0 , PCA95xx__LED_PWM1 }
 enum for PCA95xx output drive More...
 
enum  PCA9xxx_dim { PCA9xxx__DIMMING = 0U , PCA9xxx__BLINKING }
 enum for PCA9xxx dimming type More...
 
enum  PCA9xxx_ledout { PCA9xxx__LED_DRV_OFF = 0U , PCA9xxx__LED_DRV_FULL_ON , PCA9xxx__INDIV_BRIGHT , PCA9xxx__GROUP_BRIGHT }
 enum for PCA9xxx output drive More...
 
enum  PCA9xxx_eflag { PCA9xxx__ERR_OK = 0U , PCA9xxx__ERR_SHORT , PCA9xxx__ERR_OPEN , PCA9xxx__ERR_DNE }
 enum for PCA9xxx error status More...
 

Detailed Description

PCA9xxx shared declarations.

Author
SMFSW

Macro Definition Documentation

◆ PCA9xxx_DEFAULT_ALL_CALL_ADDR

#define PCA9xxx_DEFAULT_ALL_CALL_ADDR   (0xE0U >> 1U)

PCA9xxx ALL CALL Address (for all channels)

Typedef Documentation

◆ PCA962x_dim

enum for PCA962x dimming type

◆ PCA962x_ledout

enum for PCA962x output drive

◆ PCA962x_reg_inc

Registers increment options enum of PCA962x.

◆ PCA96xx_latch

Latch type enum for PCA96xx.

◆ PCA9956_eflag

enum for PCA9965 error status

◆ PCA995x_dim

enum for PCA995x dimming type

◆ PCA995x_ledout

enum for PCA995x output drive

◆ PCA995x_reg_inc

Registers increment options enum of PCA995x.

◆ PCA99xx_latch

Latch type enum for PCA99xx.

◆ uPCA962x_REG__LEDOUT0

Union for LEDOUT0 register of PCA962x.

◆ uPCA962x_REG__LEDOUT1

Union for LEDOUT1 register of PCA962x.

◆ uPCA962x_REG__LEDOUT2

Union for LEDOUT2 register of PCA962x.

◆ uPCA962x_REG__LEDOUT3

Union for LEDOUT3 register of PCA962x.

◆ uPCA962x_REG__LEDOUTx

Union for LEDOUTx register of PCA962x.

◆ uPCA995x_REG__EFLAG0

Union for EFLAG0 register of PCA995x.

◆ uPCA995x_REG__EFLAG1

Union for EFLAG1 register of PCA995x.

◆ uPCA995x_REG__EFLAG2

Union for EFLAG2 register of PCA995x.

◆ uPCA995x_REG__EFLAG3

Union for EFLAG3 register of PCA995x.

◆ uPCA995x_REG__EFLAG4

Union for EFLAG4 register of PCA995x.

◆ uPCA995x_REG__EFLAG5

Union for EFLAG5 register of PCA995x.

◆ uPCA995x_REG__EFLAGx

Union for EFLAGx register of PCA995x.

◆ uPCA995x_REG__LEDOUT0

Union for LEDOUT0 register of PCA995x.

◆ uPCA995x_REG__LEDOUT1

Union for LEDOUT1 register of PCA995x.

◆ uPCA995x_REG__LEDOUT2

Union for LEDOUT2 register of PCA995x.

◆ uPCA995x_REG__LEDOUT3

Union for LEDOUT3 register of PCA995x.

◆ uPCA995x_REG__LEDOUT4

Union for LEDOUT4 register of PCA995x.

◆ uPCA995x_REG__LEDOUT5

Union for LEDOUT5 register of PCA995x.

◆ uPCA995x_REG__LEDOUTx

Union for LEDOUTx register of PCA995x.

Enumeration Type Documentation

◆ PCA95xx_ledsel

enum for PCA95xx output drive

Enumerator
PCA95xx__LED_OFF 

Output is set high-impedance (LED off; default)

PCA95xx__LED_ON 

Output is set LOW (LED on)

PCA95xx__LED_PWM0 

Output blinks at PWM0 rate.

PCA95xx__LED_PWM1 

Output blinks at PWM1 rate.

◆ PCA95xx_reg_inc

Registers increment options enum of PCA95xx.

Enumerator
PCA95xx__AUTO_INC_NONE 

no Auto-Increment

PCA95xx__AUTO_INC_ALL 

Auto-Increment for all registers.

◆ PCA9xxx_chan

Channels for PCA9xxx.

Enumerator
PCA9xxx__PWM1 

PCA9xxx Channel 1 PWM.

PCA9xxx__PWM2 

PCA9xxx Channel 2 PWM.

PCA9xxx__PWM3 

PCA9xxx Channel 3 PWM.

PCA9xxx__PWM4 

PCA9xxx Channel 4 PWM.

PCA9xxx__PWM5 

PCA9xxx Channel 5 PWM.

PCA9xxx__PWM6 

PCA9xxx Channel 6 PWM.

PCA9xxx__PWM7 

PCA9xxx Channel 7 PWM.

PCA9xxx__PWM8 

PCA9xxx Channel 8 PWM.

PCA9xxx__PWM9 

PCA9xxx Channel 9 PWM.

PCA9xxx__PWM10 

PCA9xxx Channel 10 PWM.

PCA9xxx__PWM11 

PCA9xxx Channel 11 PWM.

PCA9xxx__PWM12 

PCA9xxx Channel 12 PWM.

PCA9xxx__PWM13 

PCA9xxx Channel 13 PWM.

PCA9xxx__PWM14 

PCA9xxx Channel 14 PWM.

PCA9xxx__PWM15 

PCA9xxx Channel 15 PWM.

PCA9xxx__PWM16 

PCA9xxx Channel 16 PWM.

PCA9xxx__PWM17 

PCA9xxx Channel 17 PWM.

PCA9xxx__PWM18 

PCA9xxx Channel 18 PWM.

PCA9xxx__PWM19 

PCA9xxx Channel 19 PWM.

PCA9xxx__PWM20 

PCA9xxx Channel 20 PWM.

PCA9xxx__PWM21 

PCA9xxx Channel 21 PWM.

PCA9xxx__PWM22 

PCA9xxx Channel 22 PWM.

PCA9xxx__PWM23 

PCA9xxx Channel 23 PWM.

PCA9xxx__PWM24 

PCA9xxx Channel 24 PWM.

PCA9xxx__ALL 

PCA9xxx All PWM Channels.

◆ PCA9xxx_dim

enum for PCA9xxx dimming type

Enumerator
PCA9xxx__DIMMING 

Dimming.

PCA9xxx__BLINKING 

Blinking.

◆ PCA9xxx_eflag

enum for PCA9xxx error status

Enumerator
PCA9xxx__ERR_OK 

In normal operation and no error.

PCA9xxx__ERR_SHORT 

Detected LED short-circuit condition.

PCA9xxx__ERR_OPEN 

Detected LED open-circuit condition.

PCA9xxx__ERR_DNE 

This condition does not exist.

◆ PCA9xxx_latch

Latch type enum for PCA9xxx.

Enumerator
PCA9xxx__LATCH_ON_STOP 

Duty cycle update on I2C stop.

PCA9xxx__LATCH_ON_ACK 

Duty cycle update on I2C acknowledge.

◆ PCA9xxx_ledout

enum for PCA9xxx output drive

Enumerator
PCA9xxx__LED_DRV_OFF 

Off.

PCA9xxx__LED_DRV_FULL_ON 

On.

PCA9xxx__INDIV_BRIGHT 

Individual Dimming.

PCA9xxx__GROUP_BRIGHT 

Group Dimming.

◆ PCA9xxx_reg_inc

Registers increment options enum of PCA9xxx.

Enumerator
PCA9xxx__AUTO_INC_NONE 

no Auto-Increment

PCA9xxx__AUTO_INC_ALL 

Auto-Increment for all registers.

PCA9xxx__AUTO_INC_BRIGHT 

Auto-Increment for individual brightness registers only.

PCA9xxx__AUTO_INC_GLOBAL 

Auto-Increment for global control registers only.

PCA9xxx__AUTO_INC_BRIGHT_GLOBAL 

Auto-Increment for individual and global control registers only.