LEDs: Add a method to set all LEDs to a given brightness

Mostly for testing purposes, but can be used later for backlight up/down stuff,
too.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
This commit is contained in:
Gergely Nagy
2016-12-11 09:55:43 +01:00
parent ed0b51dbff
commit 5ee11c2f8f
2 changed files with 10 additions and 4 deletions

View File

@@ -26,6 +26,11 @@ void LedDriver_InitAllLeds(char isEnabled)
GPIO_PinInit(GPIOA, LED_DRIVER_SDB_PIN, &(gpio_pin_config_t){kGPIO_DigitalOutput, 0});
GPIO_WritePinOutput(LED_DRIVER_SDB_GPIO, LED_DRIVER_SDB_PIN, 1);
LedDriver_SetAllLedsTo(isEnabled ? 0xFF : 0x00);
}
void LedDriver_SetAllLedsTo(uint8_t val)
{
uint8_t ledDriverAddresses[] = {I2C_ADDRESS_LED_DRIVER_LEFT, I2C_ADDRESS_LED_DRIVER_RIGHT};
for (uint8_t addressId=0; addressId<sizeof(ledDriverAddresses); addressId++) {
@@ -36,13 +41,13 @@ void LedDriver_InitAllLeds(char isEnabled)
uint8_t i;
for (i=FRAME_REGISTER_PWM_FIRST; i<=FRAME_REGISTER_PWM_LAST; i++) {
LedDriver_WriteRegister(address, i, isEnabled ? 0xFF : 0x00);
}
LedDriver_WriteRegister(address, i, val);
}
for (i=FRAME_REGISTER_LED_CONTROL_FIRST; i<=FRAME_REGISTER_LED_CONTROL_LAST; i++) {
LedDriver_WriteRegister(address, i, 0xff);
LedDriver_WriteRegister(address, i, 0xff);
}
for (i=FRAME_REGISTER_BLINK_CONTROL_FIRST; i<=FRAME_REGISTER_BLINK_CONTROL_LAST; i++) {
LedDriver_WriteRegister(address, i, 0x00);
LedDriver_WriteRegister(address, i, 0x00);
}
}
}

View File

@@ -43,6 +43,7 @@
extern void LedDriver_WriteBuffer(uint8_t i2cAddress, uint8_t buffer[], uint8_t size);
extern void LedDriver_WriteRegister(uint8_t i2cAddress, uint8_t reg, uint8_t val);
extern void LedDriver_SetAllLedsTo(uint8_t val);
extern void LedDriver_InitAllLeds(char isEnabled);
#endif