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:
@@ -26,6 +26,11 @@ void LedDriver_InitAllLeds(char isEnabled)
|
|||||||
GPIO_PinInit(GPIOA, LED_DRIVER_SDB_PIN, &(gpio_pin_config_t){kGPIO_DigitalOutput, 0});
|
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);
|
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};
|
uint8_t ledDriverAddresses[] = {I2C_ADDRESS_LED_DRIVER_LEFT, I2C_ADDRESS_LED_DRIVER_RIGHT};
|
||||||
|
|
||||||
for (uint8_t addressId=0; addressId<sizeof(ledDriverAddresses); addressId++) {
|
for (uint8_t addressId=0; addressId<sizeof(ledDriverAddresses); addressId++) {
|
||||||
@@ -36,13 +41,13 @@ void LedDriver_InitAllLeds(char isEnabled)
|
|||||||
|
|
||||||
uint8_t i;
|
uint8_t i;
|
||||||
for (i=FRAME_REGISTER_PWM_FIRST; i<=FRAME_REGISTER_PWM_LAST; 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++) {
|
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++) {
|
for (i=FRAME_REGISTER_BLINK_CONTROL_FIRST; i<=FRAME_REGISTER_BLINK_CONTROL_LAST; i++) {
|
||||||
LedDriver_WriteRegister(address, i, 0x00);
|
LedDriver_WriteRegister(address, i, 0x00);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,6 +43,7 @@
|
|||||||
|
|
||||||
extern void LedDriver_WriteBuffer(uint8_t i2cAddress, uint8_t buffer[], uint8_t size);
|
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_WriteRegister(uint8_t i2cAddress, uint8_t reg, uint8_t val);
|
||||||
|
extern void LedDriver_SetAllLedsTo(uint8_t val);
|
||||||
extern void LedDriver_InitAllLeds(char isEnabled);
|
extern void LedDriver_InitAllLeds(char isEnabled);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user