aboutsummaryrefslogtreecommitdiff
path: root/keyboards/xiudi/xd002/keymaps/rgb_lite/rgblite.h
blob: 0bb0582415ce33f24d65738baf2ea7ee690e8aa9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#pragma once

#include "ws2812.h"
#include "color.h"

static inline void rgblite_init(void) {
    ws2812_init();
}

static inline void rgblite_setrgb(uint8_t _r, uint8_t _g, uint8_t _b) {
    rgb_led_t leds[RGBLIGHT_LED_COUNT] = {{.r = _r, .g = _g, .b = _b}, {.r = _r, .g = _g, .b = _b}};
    ws2812_setleds(leds, RGBLIGHT_LED_COUNT);
}

static void rgblite_increase_hue(void) {
    static uint8_t state = 0;

    state = (state + 1) % 3;
    switch (state) {
        case 1:
            rgblite_setrgb(RGB_RED);
            break;
        case 2:
            rgblite_setrgb(RGB_BLUE);
            break;
        default:
            rgblite_setrgb(RGB_GREEN);
            break;
    }
}