Features/ws2812 matrix driver (#5418)
* WS2812 driver implementation for RGB Matrix * Added driver configuration docs
This commit is contained in:
parent
d7ba190cd9
commit
5fcd744ddb
11 changed files with 177 additions and 13 deletions
|
@ -28,9 +28,11 @@
|
|||
#ifdef IS31FL3731
|
||||
#include "is31fl3731.h"
|
||||
#elif defined (IS31FL3733)
|
||||
#include "is31fl3733.h"
|
||||
#include "is31fl3733.h"
|
||||
#elif defined (IS31FL3737)
|
||||
#include "is31fl3737.h"
|
||||
#include "is31fl3737.h"
|
||||
#elif defined (WS2812)
|
||||
#include "ws2812.h"
|
||||
#endif
|
||||
|
||||
#ifndef RGB_MATRIX_LED_FLUSH_LIMIT
|
||||
|
|
|
@ -97,4 +97,25 @@ const rgb_matrix_driver_t rgb_matrix_driver = {
|
|||
};
|
||||
#endif
|
||||
|
||||
#elif defined(WS2812)
|
||||
|
||||
extern LED_TYPE led[RGBLED_NUM];
|
||||
|
||||
static void flush( void )
|
||||
{
|
||||
// Assumes use of RGB_DI_PIN
|
||||
ws2812_setleds(led, RGBLED_NUM);
|
||||
}
|
||||
|
||||
static void init( void )
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
const rgb_matrix_driver_t rgb_matrix_driver = {
|
||||
.init = init,
|
||||
.flush = flush,
|
||||
.set_color = ws2812_setled,
|
||||
.set_color_all = ws2812_setled_all,
|
||||
};
|
||||
#endif
|
||||
|
|
|
@ -63,7 +63,11 @@ const uint16_t RGBLED_GRADIENT_RANGES[] PROGMEM = {360, 240, 180, 120, 90};
|
|||
rgblight_config_t rgblight_config;
|
||||
bool is_rgblight_initialized = false;
|
||||
|
||||
#ifndef LED_ARRAY
|
||||
LED_TYPE led[RGBLED_NUM];
|
||||
#define LED_ARRAY led
|
||||
#endif
|
||||
|
||||
bool rgblight_timer_enabled = false;
|
||||
|
||||
static uint8_t clipping_start_pos = 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue