]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Move the 1 second delay to led_matrix_init
authorskullY <skullydazed@gmail.com>
Mon, 28 Jan 2019 00:28:11 +0000 (16:28 -0800)
committerskullydazed <skullydazed@users.noreply.github.com>
Sun, 10 Feb 2019 23:37:12 +0000 (15:37 -0800)
quantum/led_matrix.c

index f849d478ddc284779bcbea7330c67aee7b514bbc..2709de11232bba8c21b47c07c0fbcc1235a93a4e 100644 (file)
@@ -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
 }