// LED State processing loop
+unsigned int LED_currentEvent = 0;
inline uint8_t LED_scan()
{
+ // Check for current change event
+ if ( LED_currentEvent )
+ {
+ // TODO dim LEDs in low power mode instead of shutting off
+ if ( LED_currentEvent < 150 )
+ {
+ // Enable Software shutdown of ISSI chip
+ LED_writeReg( 0x0A, 0x00, 0x0B );
+ }
+ else
+ {
+ // Disable Software shutdown of ISSI chip
+ LED_writeReg( 0x0A, 0x01, 0x0B );
+ }
- // I2C Busy
- // S & I2C_S_BUSY
- //I2C_S_BUSY
+ LED_currentEvent = 0;
+ }
return 0;
}
// current - mA
void LED_currentChange( unsigned int current )
{
- // TODO dim LEDs in low power mode instead of shutting off
- if ( current < 150 )
- {
- // Enabled Software shutdown of ISSI chip
- LED_writeReg( 0x0A, 0x00, 0x0B );
- }
- else
- {
- // Disable Software shutdown of ISSI chip
- LED_writeReg( 0x0A, 0x01, 0x0B );
- }
+ // Delay action till next LED scan loop (as this callback sometimes occurs during interrupt requests)
+ LED_currentEvent = current;
}
0xFF, 0x00, /* C6-1 -> C6-16 */
0xFF, 0x00, /* C7-1 -> C7-16 */
0xFF, 0x00, /* C8-1 -> C8-16 */
- 0xFE, 0x00, /* C9-1 -> C9-16 */
+ 0xFF, 0x00, /* C9-1 -> C9-16 */
";
# LED Brightness Override
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C6-1 -> C6-16 */
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C7-1 -> C7-16 */
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C8-1 -> C8-16 */
-0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C9-1 -> C9-16 */
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C9-1 -> C9-16 */
";