~ruther/qmk_firmware

32116f1a4580e36c92870ca800cf3cc9106c35dd — skullY 6 years ago 24df54b
Move the 1 second delay to led_matrix_init
1 files changed, 6 insertions(+), 18 deletions(-)

M quantum/led_matrix.c
M quantum/led_matrix.c => quantum/led_matrix.c +6 -18
@@ 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
}