Move the 1 second delay to led_matrix_init
This commit is contained in:
		@@ -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
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user