|
|
@ -82,7 +82,7 @@ void eeconfig_update_led_matrix_default(void) { |
|
|
|
eeconfig_update_led_matrix(led_matrix_config.raw); |
|
|
|
} |
|
|
|
void eeconfig_debug_led_matrix(void) { |
|
|
|
dprintf("led_matrix_config eprom\n"); |
|
|
|
dprintf("led_matrix_config eeprom\n"); |
|
|
|
dprintf("led_matrix_config.enable = %d\n", led_matrix_config.enable); |
|
|
|
dprintf("led_matrix_config.mode = %d\n", led_matrix_config.mode); |
|
|
|
dprintf("led_matrix_config.val = %d\n", led_matrix_config.val); |
|
|
@ -176,21 +176,12 @@ void led_matrix_task(void) { |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
// delay 1 second before driving LEDs or doing anything else |
|
|
|
// FIXME: Can't we use wait_ms() here? |
|
|
|
static uint8_t startup_tick = 0; |
|
|
|
if (startup_tick < 20) { |
|
|
|
startup_tick++; |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
g_tick++; |
|
|
|
|
|
|
|
if (g_any_key_hit < 0xFFFFFFFF) { |
|
|
|
g_any_key_hit++; |
|
|
|
} |
|
|
|
|
|
|
|
/* FIXME: WHY YOU COMMENT OUT?! |
|
|
|
for (int led = 0; led < LED_DRIVER_LED_COUNT; led++) { |
|
|
|
if (g_key_hit[led] < 255) { |
|
|
|
if (g_key_hit[led] == 254) |
|
|
@ -199,12 +190,6 @@ void led_matrix_task(void) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// Factory default magic value |
|
|
|
if (led_matrix_config.mode == 255) { |
|
|
|
led_matrix_uniform_brightness(); |
|
|
|
return; |
|
|
|
} |
|
|
|
*/ |
|
|
|
// Ideally we would also stop sending zeros to the LED driver PWM buffers |
|
|
|
// while suspended and just do a software shutdown. This is a cheap hack for now. |
|
|
|
bool suspend_backlight = ((g_suspend_state && LED_DISABLE_WHEN_USB_SUSPENDED) || |
|
|
@ -263,25 +248,28 @@ void led_matrix_indicators_user(void) {} |
|
|
|
void led_matrix_init(void) { |
|
|
|
led_matrix_driver.init(); |
|
|
|
|
|
|
|
// TODO: put the 1 second startup delay here? |
|
|
|
// Wait a second for the driver to finish initializing |
|
|
|
wait_ms(1000); |
|
|
|
|
|
|
|
// clear the key hits |
|
|
|
for (int led=0; led<LED_DRIVER_LED_COUNT; led++) { |
|
|
|
g_key_hit[led] = 255; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (!eeconfig_is_enabled()) { |
|
|
|
dprintf("led_matrix_init_drivers eeconfig is not enabled.\n"); |
|
|
|
eeconfig_init(); |
|
|
|
eeconfig_update_led_matrix_default(); |
|
|
|
} |
|
|
|
|
|
|
|
led_matrix_config.raw = eeconfig_read_led_matrix(); |
|
|
|
|
|
|
|
if (!led_matrix_config.mode) { |
|
|
|
dprintf("led_matrix_init_drivers led_matrix_config.mode = 0. Write default values to EEPROM.\n"); |
|
|
|
eeconfig_update_led_matrix_default(); |
|
|
|
led_matrix_config.raw = eeconfig_read_led_matrix(); |
|
|
|
} |
|
|
|
|
|
|
|
eeconfig_debug_led_matrix(); // display current eeprom values |
|
|
|
} |
|
|
|
|
|
|
|