~ruther/qmk_firmware

ref: 8ad2e307323415ac0a0198daf79223b3ae90de97 qmk_firmware/platforms/avr/drivers/ws2812_i2c.c -rw-r--r-- 482 bytes
8ad2e307 — James Young Migrate `LOCKING_*_ENABLE` to Data-Driven: A-C, Part 1 (#23745) 1 year, 1 month ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "ws2812.h"
#include "i2c_master.h"

#ifdef WS2812_RGBW
#    error "RGBW not supported"
#endif

#ifndef WS2812_I2C_ADDRESS
#    define WS2812_I2C_ADDRESS 0xB0
#endif

#ifndef WS2812_I2C_TIMEOUT
#    define WS2812_I2C_TIMEOUT 100
#endif

void ws2812_init(void) {
    i2c_init();
}

// Setleds for standard RGB
void ws2812_setleds(rgb_led_t *ledarray, uint16_t leds) {
    i2c_transmit(WS2812_I2C_ADDRESS, (uint8_t *)ledarray, sizeof(rgb_led_t) * leds, WS2812_I2C_TIMEOUT);
}
Do not follow this link