2 #ifndef DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
4 extern rgb_counters_t g_rgb_counters
;
5 extern const rgb_led g_rgb_leds
[DRIVER_LED_TOTAL
];
6 extern rgb_config_t rgb_matrix_config
;
8 bool rgb_matrix_cycle_left_right(effect_params_t
* params
) {
9 RGB_MATRIX_USE_LIMITS(led_min
, led_max
);
11 HSV hsv
= { 0, rgb_matrix_config
.sat
, rgb_matrix_config
.val
};
12 uint8_t time
= scale16by8(g_rgb_counters
.tick
, rgb_matrix_config
.speed
/ 4);
13 for (uint8_t i
= led_min
; i
< led_max
; i
++) {
14 point_t point
= g_rgb_leds
[i
].point
;
15 hsv
.h
= point
.x
- time
;
16 RGB rgb
= hsv_to_rgb(hsv
);
17 rgb_matrix_set_color(i
, rgb
.r
, rgb
.g
, rgb
.b
);
19 return led_max
< DRIVER_LED_TOTAL
;
22 #endif // DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT