Subversion Repositories Code-Repo

Rev

Rev 260 | Blame | Last modification | View Log | RSS feed

#ifndef TLC59116_H
#define TLC59116_H

#define TLC59116_ADDR       0x60
#define TLC59116_ALLCALL    0x68

// Write to this register to reset chip
#define TLC59116_RESET  0x6B

// Increment all registers, rollover from 00000 to 11011
#define TLC59116_AUTO_INCR_ALL          0x80
// Increment brightness registers, rollover from 00010 to 10001
#define TLC59116_AUTO_INCR_BRIGHTNESS   0xA0
// Increment global control registers, rollover from 10010 to 10011
#define TLC59116_AUTO_INCR_GLBL_CTRL    0xC0
// Increment individual and global registers, rollover from 00010 to 10011
#define TLC59116_AUTO_INCR_INDV_CTRL    0xE0

#define TLC59116_REG_MODE1      0x00
#define TLC59116_REG_MODE2      0x01
#define TLC59116_REG_PWM0       0x02
#define TLC59116_REG_PWM1       0x03
#define TLC59116_REG_PWM2       0x04
#define TLC59116_REG_PWM3       0x05
#define TLC59116_REG_PWM4       0x06
#define TLC59116_REG_PWM5       0x07
#define TLC59116_REG_PWM6       0x08
#define TLC59116_REG_PWM7       0x09
#define TLC59116_REG_PWM8       0x0A
#define TLC59116_REG_PWM9       0x0B
#define TLC59116_REG_PWM10      0x0C
#define TLC59116_REG_PWM11      0x0D
#define TLC59116_REG_PWM12      0x0E
#define TLC59116_REG_PWM13      0x0F
#define TLC59116_REG_PWM14      0x10
#define TLC59116_REG_PWM15      0x11
#define TLC59116_REG_GRPPWM     0x12
#define TLC59116_REG_GRPFREQ    0x13
#define TLC59116_REG_LEDOUT0    0x14
#define TLC59116_REG_LEDOUT1    0x15
#define TLC59116_REG_LEDOUT2    0x16
#define TLC59116_REG_LEDOUT3    0x17
#define TLC59116_REG_SUBADR1    0x18
#define TLC59116_REG_SUBADR2    0x19
#define TLC59116_REG_SUBADR3    0x1A
#define TLC59116_REG_ALLCALLADR 0x1B
#define TLC59116_REG_IREF       0x1C
#define TLC59116_REG_EFLAG1     0x1D
#define TLC59116_REG_EFLAG2     0x1E

void TLC59116_Init(void);
void TLC59116_Write_All(LED_VALUES *values);
void TLC59116_Write_BC(uint8_t brightness);

#endif  /* TLC59116_H */