Other Parts Discussed in Thread: TEST2
Hello, I want to use LP5569 dimming control
I read all of guide but I can't.
Help me!!!
===============================================================================================
below is my code for dimming. only LED_TEST1 is activated for test
void load_SRAM(void)
{
uint8_t t = 0;
uint8_t i, j, tValue = 0;
HAL_StatusTypeDef ret = HAL_OK;
/*Write&Read enable*/
tValue = 0x40; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_CONFIG, &tValue, 1);
I2C_Read_LED_DRIVER(LP5569_ADDR, LP5569_CONFIG, tValue, 1); dprintf("Is LP5569 enable??: 0x%x\r\n", tValue);
//tValue = 0x48; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_MISC, &tValue, 1);
for(i = 0; i < 9; i++)
{
ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_LED0_CNTRL + i, exp11[i], 1);
}
for(i = 0; i < 9; i++)
{
ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_LED0_CURRENT_CNTRL + i, current[i], 1);
}
for(i = 0; i < 9; i++)
{
ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_LED0_PWM + i, pwm[i], 1);
}
/*Run0*/
tValue = 0x48; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_MISC, &tValue, 1);
tValue = 0x54; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_ENGINE_CNTRL_2, &tValue, 1);
#ifdef LED_TEST0
tValue = 0x09; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_ENGINE1_PROG_START, &tValue, 1);
tValue = 0x78; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_ENGINE2_PROG_START, &tValue, 1);
tValue = 0xa8; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_ENGINE3_PROG_START, &tValue, 1);
for(j = 0; j < 16; j++)
{
tValue = j; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_PROG_MEM_PAGE_SELECT, &tValue, 1);
for(i = 0; i < 32; i++){
tValue = j; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_PROGRAM_MEM_00, table_32[i+j*32], 1);
}
}
#endif
#ifdef LED_TEST1
/*Run1*/
tValue = 0x09; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_ENGINE1_PROG_START, &tValue, 1);
tValue = 0x7b; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_ENGINE2_PROG_START, &tValue, 1);
tValue = 0xaa; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_ENGINE3_PROG_START, &tValue, 1);
for(j = 0; j < 16; j++)
{
tValue = j; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_PROG_MEM_PAGE_SELECT, &tValue, 1);
for(i = 0; i < 32; i++){
tValue = j; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_PROGRAM_MEM_00, table_33[i+j*32], 1);
}
}
#endif
#ifdef LED_TEST2
/*Run2*/
tValue = 0x09; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_ENGINE1_PROG_START, &tValue, 1);
tValue = 0x7b; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_ENGINE2_PROG_START, &tValue, 1);
tValue = 0xab; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_ENGINE3_PROG_START, &tValue, 1);
for(j = 0; j < 16; j++)
{
tValue = j; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_PROG_MEM_PAGE_SELECT, &tValue, 1);
for(i = 0; i < 32; i++){
tValue = j; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_PROGRAM_MEM_00, table_34[i+j*32], 1);
}
}
#endif
#ifdef LED_TEST3
/*Run3*/
tValue = 0x09; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_ENGINE1_PROG_START, &tValue, 1);
tValue = 0x77; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_ENGINE2_PROG_START, &tValue, 1);
tValue = 0xa6; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_ENGINE3_PROG_START, &tValue, 1);
for(j = 0; j < 16; j++)
{
tValue = j; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_PROG_MEM_PAGE_SELECT, &tValue, 1);
for(i = 0; i < 32; i++){
tValue = j; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_PROGRAM_MEM_00, table_35[i+j*32], 1);
}
}
#endif
tValue = 0x49; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_MISC, &tValue, 1);
tValue = 0x08; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_IO_CONTROL, &tValue, 1);
tValue = 0x00; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_ENGINE_CNTRL_2, &tValue, 1);
tValue = 0xa8; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_ENGINE_CNTRL_2, &tValue, 1);
tValue = 0xa8; ret = I2C_Write_LED_DRIVER(LP5569_ADDR, LP5569_ENGINE_CNTRL_1, &tValue, 1);
}
#define LP5569_CONFIG (HWREG8(0x00))
#define LP5569_ENGINE_CNTRL_1 (HWREG8(0x01))
#define LP5569_ENGINE_CNTRL_2 (HWREG8(0x02))
#define LP5569_LED0_CNTRL (HWREG8(0x07))
#define LP5569_LED1_CNTRL (HWREG8(0x08))
#define LP5569_LED2_CNTRL (HWREG8(0x09))
#define LP5569_LED3_CNTRL (HWREG8(0x0A))
#define LP5569_LED4_CNTRL (HWREG8(0x0B))
#define LP5569_LED5_CNTRL (HWREG8(0x0C))
#define LP5569_LED6_CNTRL (HWREG8(0x0D))
#define LP5569_LED7_CNTRL (HWREG8(0x0E))
#define LP5569_LED8_CNTRL (HWREG8(0x0F))
#define LP5569_LED0_PWM (HWREG8(0x16))
#define LP5569_LED1_PWM (HWREG8(0x17))
#define LP5569_LED2_PWM (HWREG8(0x18))
#define LP5569_LED3_PWM (HWREG8(0x19))
#define LP5569_LED4_PWM (HWREG8(0x1A))
#define LP5569_LED5_PWM (HWREG8(0x1B))
#define LP5569_LED6_PWM (HWREG8(0x1C))
#define LP5569_LED7_PWM (HWREG8(0x1D))
#define LP5569_LED8_PWM (HWREG8(0x1E))
#define LP5569_LED0_CURRENT_CNTRL (HWREG8(0x22))
#define LP5569_MISC (HWREG8(0x2F))
#define LP5569_ENGINE1_PC (HWREG8(0x30))
#define LP5569_ENGINE2_PC (HWREG8(0x31))
#define LP5569_ENGINE3_PC (HWREG8(0x32))
#define LP5569_MISC2 (HWREG8(0x33))
#define LP5569_ENGINE_STATUS (HWREG8(0x3C))
#define LP5569_IO_CONTROL (HWREG8(0x3D))
#define LP5569_VARIABLE_D (HWREG8(0x3E))
#define LP5569_RESET (HWREG8(0x3F))
#define LP5569_ENGINE1_VARIABLE_A (HWREG8(0x42))
#define LP5569_ENGINE2_VARIABLE_A (HWREG8(0x43))
#define LP5569_ENGINE3_VARIABLE_A (HWREG8(0x44))
#define LP5569_MASTER_FADER_1 (HWREG8(0x46))
#define LP5569_MASTER_FADER_2 (HWREG8(0x47))
#define LP5569_MASTER_FADER_3 (HWREG8(0x48))
#define LP5569_MASTER_FADER_PWM (HWREG8(0x4A))
#define LP5569_ENGINE1_PROG_START (HWREG8(0x4B))
#define LP5569_ENGINE2_PROG_START (HWREG8(0x4C))
#define LP5569_ENGINE3_PROG_START (HWREG8(0x4D))
#define LP5569_PROG_MEM_PAGE_SELECT (HWREG8(0x4F))
#define LP5569_PROGRAM_MEM_00 (HWREG8(0x50))
#define LP5569_ENGINE1_MAPPING1 (HWREG8(0x70))
#define LP5569_ENGINE1_MAPPING2 (HWREG8(0x71))
#define LP5569_ENGINE2_MAPPING1 (HWREG8(0x72))
#define LP5569_ENGINE2_MAPPING2 (HWREG8(0x73))
#define LP5569_ENGINE3_MAPPING1 (HWREG8(0x74))
#define LP5569_ENGINE3_MAPPING2 (HWREG8(0x75))
#define LP5569_PWM_CONFIG (HWREG8(0x80))
#define LP5569_LED_FAULT1 (HWREG8(0x81))
#define LP5569_LED_FAULT2 (HWREG8(0x82))
#define LP5569_GENERAL_FAULT (HWREG8(0x83))

