diff options
Diffstat (limited to 'quantum/rgblight/rgblight.c')
| -rw-r--r-- | quantum/rgblight/rgblight.c | 71 | 
1 files changed, 29 insertions, 42 deletions
diff --git a/quantum/rgblight/rgblight.c b/quantum/rgblight/rgblight.c index 8ac886d441..530cb04688 100644 --- a/quantum/rgblight/rgblight.c +++ b/quantum/rgblight/rgblight.c @@ -116,7 +116,7 @@ animation_status_t animation_status = {};  #endif  #ifndef LED_ARRAY -rgb_led_t led[RGBLED_NUM]; +rgb_led_t led[RGBLIGHT_LED_COUNT];  #    define LED_ARRAY led  #endif @@ -126,7 +126,7 @@ rgblight_segment_t const *const *rgblight_layers = NULL;  static bool deferred_set_layer_state = false;  #endif -rgblight_ranges_t rgblight_ranges = {0, RGBLED_NUM, 0, RGBLED_NUM, RGBLED_NUM}; +rgblight_ranges_t rgblight_ranges = {0, RGBLIGHT_LED_COUNT, 0, RGBLIGHT_LED_COUNT, RGBLIGHT_LED_COUNT};  void rgblight_set_clipping_range(uint8_t start_pos, uint8_t num_leds) {      rgblight_ranges.clipping_start_pos = start_pos; @@ -134,8 +134,8 @@ void rgblight_set_clipping_range(uint8_t start_pos, uint8_t num_leds) {  }  void rgblight_set_effect_range(uint8_t start_pos, uint8_t num_leds) { -    if (start_pos >= RGBLED_NUM) return; -    if (start_pos + num_leds > RGBLED_NUM) return; +    if (start_pos >= RGBLIGHT_LED_COUNT) return; +    if (start_pos + num_leds > RGBLIGHT_LED_COUNT) return;      rgblight_ranges.effect_start_pos = start_pos;      rgblight_ranges.effect_end_pos   = start_pos + num_leds;      rgblight_ranges.effect_num_leds  = num_leds; @@ -229,13 +229,7 @@ void rgblight_init(void) {          return;      } -    dprintf("rgblight_init called.\n");      dprintf("rgblight_init start!\n"); -    if (!eeconfig_is_enabled()) { -        dprintf("rgblight_init eeconfig is not enabled.\n"); -        eeconfig_init(); -        eeconfig_update_rgblight_default(); -    }      rgblight_config.raw = eeconfig_read_rgblight();      RGBLIGHT_SPLIT_SET_CHANGE_MODEHSVS;      if (!rgblight_config.mode) { @@ -664,7 +658,7 @@ void rgblight_setrgb(uint8_t r, uint8_t g, uint8_t b) {  }  void rgblight_setrgb_at(uint8_t r, uint8_t g, uint8_t b, uint8_t index) { -    if (!rgblight_config.enable || index >= RGBLED_NUM) { +    if (!rgblight_config.enable || index >= RGBLIGHT_LED_COUNT) {          return;      } @@ -700,7 +694,7 @@ static uint8_t get_interval_time(const uint8_t *default_interval_address, uint8_  #endif  void rgblight_setrgb_range(uint8_t r, uint8_t g, uint8_t b, uint8_t start, uint8_t end) { -    if (!rgblight_config.enable || start < 0 || start >= end || end > RGBLED_NUM) { +    if (!rgblight_config.enable || start < 0 || start >= end || end > RGBLIGHT_LED_COUNT) {          return;      } @@ -727,19 +721,19 @@ void rgblight_sethsv_range(uint8_t hue, uint8_t sat, uint8_t val, uint8_t start,  #ifndef RGBLIGHT_SPLIT  void rgblight_setrgb_master(uint8_t r, uint8_t g, uint8_t b) { -    rgblight_setrgb_range(r, g, b, 0, (uint8_t)RGBLED_NUM / 2); +    rgblight_setrgb_range(r, g, b, 0, (uint8_t)RGBLIGHT_LED_COUNT / 2);  }  void rgblight_setrgb_slave(uint8_t r, uint8_t g, uint8_t b) { -    rgblight_setrgb_range(r, g, b, (uint8_t)RGBLED_NUM / 2, (uint8_t)RGBLED_NUM); +    rgblight_setrgb_range(r, g, b, (uint8_t)RGBLIGHT_LED_COUNT / 2, (uint8_t)RGBLIGHT_LED_COUNT);  }  void rgblight_sethsv_master(uint8_t hue, uint8_t sat, uint8_t val) { -    rgblight_sethsv_range(hue, sat, val, 0, (uint8_t)RGBLED_NUM / 2); +    rgblight_sethsv_range(hue, sat, val, 0, (uint8_t)RGBLIGHT_LED_COUNT / 2);  }  void rgblight_sethsv_slave(uint8_t hue, uint8_t sat, uint8_t val) { -    rgblight_sethsv_range(hue, sat, val, (uint8_t)RGBLED_NUM / 2, (uint8_t)RGBLED_NUM); +    rgblight_sethsv_range(hue, sat, val, (uint8_t)RGBLIGHT_LED_COUNT / 2, (uint8_t)RGBLIGHT_LED_COUNT);  }  #endif // ifndef RGBLIGHT_SPLIT @@ -789,7 +783,7 @@ static void rgblight_layers_write(void) {                  break; // No more segments              }              // Write segment.count LEDs -            rgb_led_t *const limit = &led[MIN(segment.index + segment.count, RGBLED_NUM)]; +            rgb_led_t *const limit = &led[MIN(segment.index + segment.count, RGBLIGHT_LED_COUNT)];              for (rgb_led_t *led_ptr = &led[segment.index]; led_ptr < limit; led_ptr++) {  #    ifdef RGBLIGHT_LAYERS_RETAIN_VAL                  sethsv(segment.hue, segment.sat, current_val, led_ptr); @@ -900,12 +894,6 @@ void rgblight_wakeup(void) {  #endif -__attribute__((weak)) void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds) { -    ws2812_setleds(start_led, num_leds); -} - -#ifndef RGBLIGHT_CUSTOM -  void rgblight_set(void) {      rgb_led_t *start_led;      uint8_t    num_leds = rgblight_ranges.clipping_num_leds; @@ -915,42 +903,41 @@ void rgblight_set(void) {              led[i].r = 0;              led[i].g = 0;              led[i].b = 0; -#    ifdef RGBW +#ifdef RGBW              led[i].w = 0; -#    endif +#endif          }      } -#    ifdef RGBLIGHT_LAYERS +#ifdef RGBLIGHT_LAYERS      if (rgblight_layers != NULL -#        if !defined(RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF) +#    if !defined(RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF)          && rgblight_config.enable -#        elif defined(RGBLIGHT_SLEEP) +#    elif defined(RGBLIGHT_SLEEP)          && !is_suspended -#        endif +#    endif      ) {          rgblight_layers_write();      } -#    endif +#endif -#    ifdef RGBLIGHT_LED_MAP -    rgb_led_t led0[RGBLED_NUM]; -    for (uint8_t i = 0; i < RGBLED_NUM; i++) { +#ifdef RGBLIGHT_LED_MAP +    rgb_led_t led0[RGBLIGHT_LED_COUNT]; +    for (uint8_t i = 0; i < RGBLIGHT_LED_COUNT; i++) {          led0[i] = led[pgm_read_byte(&led_map[i])];      }      start_led = led0 + rgblight_ranges.clipping_start_pos; -#    else +#else      start_led = led + rgblight_ranges.clipping_start_pos; -#    endif +#endif -#    ifdef RGBW +#ifdef RGBW      for (uint8_t i = 0; i < num_leds; i++) {          convert_rgb_to_rgbw(&start_led[i]);      } -#    endif -    rgblight_call_driver(start_led, num_leds); -}  #endif +    rgblight_driver.setleds(start_led, num_leds); +}  #ifdef RGBLIGHT_SPLIT  /* for split keyboard master side */ @@ -1279,8 +1266,8 @@ void rgblight_effect_snake(animation_status_t *anim) {  #    endif          for (j = 0; j < RGBLIGHT_EFFECT_SNAKE_LENGTH; j++) {              k = pos + j * increment; -            if (k > RGBLED_NUM) { -                k = k % (RGBLED_NUM); +            if (k > RGBLIGHT_LED_COUNT) { +                k = k % (RGBLIGHT_LED_COUNT);              }              if (k < 0) {                  k = k + rgblight_ranges.effect_num_leds; @@ -1465,7 +1452,7 @@ typedef struct PACKED {      uint8_t max_life;  } TwinkleState; -static TwinkleState led_twinkle_state[RGBLED_NUM]; +static TwinkleState led_twinkle_state[RGBLIGHT_LED_COUNT];  void rgblight_effect_twinkle(animation_status_t *anim) {      const bool random_color = anim->delta / 3;  | 
