1
0
Fork 0

Features/ws2812 matrix driver (#5418)

* WS2812 driver implementation for RGB Matrix

* Added driver configuration docs
This commit is contained in:
XScorpion2 2019-04-14 20:50:35 -04:00 committed by MechMerlin
parent d7ba190cd9
commit 5fcd744ddb
11 changed files with 177 additions and 13 deletions

View file

@ -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

View file

@ -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

View file

@ -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;