diff options
Diffstat (limited to 'quantum/rgb_matrix')
| -rw-r--r-- | quantum/rgb_matrix/rgb_matrix.h | 8 | ||||
| -rw-r--r-- | quantum/rgb_matrix/rgb_matrix_drivers.c | 58 | ||||
| -rw-r--r-- | quantum/rgb_matrix/rgb_matrix_types.h | 15 | 
3 files changed, 45 insertions, 36 deletions
| diff --git a/quantum/rgb_matrix/rgb_matrix.h b/quantum/rgb_matrix/rgb_matrix.h index 38040fb0cc..377f6658bb 100644 --- a/quantum/rgb_matrix/rgb_matrix.h +++ b/quantum/rgb_matrix/rgb_matrix.h @@ -24,7 +24,9 @@  #include "color.h"  #include "keyboard.h" -#ifdef IS31FL3731 +#if defined(IS31FL3218) +#    include "is31fl3218.h" +#elif defined(IS31FL3731)  #    include "is31fl3731.h"  #elif defined(IS31FL3733)  #    include "is31fl3733.h" @@ -38,8 +40,8 @@  #    include "is31flcommon.h"  #elif defined(CKLED2001)  #    include "ckled2001.h" -#elif defined(AW20216) -#    include "aw20216.h" +#elif defined(AW20216S) +#    include "aw20216s.h"  #elif defined(WS2812)  #    include "ws2812.h"  #endif diff --git a/quantum/rgb_matrix/rgb_matrix_drivers.c b/quantum/rgb_matrix/rgb_matrix_drivers.c index 695ecc78a4..a81edce180 100644 --- a/quantum/rgb_matrix/rgb_matrix_drivers.c +++ b/quantum/rgb_matrix/rgb_matrix_drivers.c @@ -24,7 +24,7 @@   * be here if shared between boards.   */ -#if defined(IS31FL3731) || defined(IS31FL3733) || defined(IS31FL3736) || defined(IS31FL3737) || defined(IS31FL3741) || defined(IS31FLCOMMON) || defined(CKLED2001) +#if defined(IS31FL3218) || defined(IS31FL3731) || defined(IS31FL3733) || defined(IS31FL3736) || defined(IS31FL3737) || defined(IS31FL3741) || defined(IS31FLCOMMON) || defined(CKLED2001)  #    include "i2c_master.h"  // TODO: Remove this at some later date @@ -37,7 +37,10 @@  static void init(void) {      i2c_init(); -#    if defined(IS31FL3731) +#    if defined(IS31FL3218) +    is31fl3218_init(); + +#    elif defined(IS31FL3731)      is31fl3731_init(DRIVER_ADDR_1);  #        if defined(DRIVER_ADDR_2)      is31fl3731_init(DRIVER_ADDR_2); @@ -138,7 +141,9 @@ static void init(void) {          bool enabled = true;          // This only caches it for later -#    if defined(IS31FL3731) +#    if defined(IS31FL3218) +        is31fl3218_set_led_control_register(index, enabled, enabled, enabled); +#    elif defined(IS31FL3731)          is31fl3731_set_led_control_register(index, enabled, enabled, enabled);  #    elif defined(IS31FL3733)          is31fl3733_set_led_control_register(index, enabled, enabled, enabled); @@ -156,7 +161,10 @@ static void init(void) {      }      // This actually updates the LED drivers -#    if defined(IS31FL3731) +#    if defined(IS31FL3218) +    is31fl3218_update_led_control_registers(); + +#    elif defined(IS31FL3731)      is31fl3731_update_led_control_registers(DRIVER_ADDR_1, 0);  #        if defined(DRIVER_ADDR_2)      is31fl3731_update_led_control_registers(DRIVER_ADDR_2, 1); @@ -245,7 +253,19 @@ static void init(void) {  #    endif  } -#    if defined(IS31FL3731) +#    if defined(IS31FL3218) +static void flush(void) { +    is31fl3218_update_pwm_buffers(); +} + +const rgb_matrix_driver_t rgb_matrix_driver = { +    .init          = init, +    .flush         = flush, +    .set_color     = is31fl3218_set_color, +    .set_color_all = is31fl3218_set_color_all, +}; + +#    elif defined(IS31FL3731)  static void flush(void) {      is31fl3731_update_pwm_buffers(DRIVER_ADDR_1, 0);  #        if defined(DRIVER_ADDR_2) @@ -260,9 +280,9 @@ static void flush(void) {  }  const rgb_matrix_driver_t rgb_matrix_driver = { -    .init          = init, -    .flush         = flush, -    .set_color     = is31fl3731_set_color, +    .init = init, +    .flush = flush, +    .set_color = is31fl3731_set_color,      .set_color_all = is31fl3731_set_color_all,  }; @@ -393,30 +413,30 @@ const rgb_matrix_driver_t rgb_matrix_driver = {  };  #    endif -#elif defined(AW20216) +#elif defined(AW20216S)  #    include "spi_master.h"  static void init(void) {      spi_init(); -    aw20216_init(DRIVER_1_CS, DRIVER_1_EN); -#    if defined(DRIVER_2_CS) -    aw20216_init(DRIVER_2_CS, DRIVER_2_EN); +    aw20216s_init(AW20216S_DRIVER_1_CS, AW20216S_DRIVER_1_EN); +#    if defined(AW20216S_DRIVER_2_CS) +    aw20216s_init(AW20216S_DRIVER_2_CS, AW20216S_DRIVER_2_EN);  #    endif  }  static void flush(void) { -    aw20216_update_pwm_buffers(DRIVER_1_CS, 0); -#    if defined(DRIVER_2_CS) -    aw20216_update_pwm_buffers(DRIVER_2_CS, 1); +    aw20216s_update_pwm_buffers(AW20216S_DRIVER_1_CS, 0); +#    if defined(AW20216S_DRIVER_2_CS) +    aw20216s_update_pwm_buffers(AW20216S_DRIVER_2_CS, 1);  #    endif  }  const rgb_matrix_driver_t rgb_matrix_driver = {      .init          = init,      .flush         = flush, -    .set_color     = aw20216_set_color, -    .set_color_all = aw20216_set_color_all, +    .set_color     = aw20216s_set_color, +    .set_color_all = aw20216s_set_color_all,  };  #elif defined(WS2812) @@ -426,8 +446,8 @@ const rgb_matrix_driver_t rgb_matrix_driver = {  #    endif  // LED color buffer -LED_TYPE rgb_matrix_ws2812_array[RGB_MATRIX_LED_COUNT]; -bool     ws2812_dirty = false; +rgb_led_t rgb_matrix_ws2812_array[RGB_MATRIX_LED_COUNT]; +bool      ws2812_dirty = false;  static void init(void) {      ws2812_dirty = false; diff --git a/quantum/rgb_matrix/rgb_matrix_types.h b/quantum/rgb_matrix/rgb_matrix_types.h index 53ff7321b8..0a3fd7cc0d 100644 --- a/quantum/rgb_matrix/rgb_matrix_types.h +++ b/quantum/rgb_matrix/rgb_matrix_types.h @@ -19,16 +19,7 @@  #include <stdint.h>  #include <stdbool.h>  #include "color.h" - -#if defined(__GNUC__) -#    define PACKED __attribute__((__packed__)) -#else -#    define PACKED -#endif - -#if defined(_MSC_VER) -#    pragma pack(push, 1) -#endif +#include "util.h"  #if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES)  #    define RGB_MATRIX_KEYREACTIVE_ENABLED @@ -94,7 +85,3 @@ typedef union {  } rgb_config_t;  _Static_assert(sizeof(rgb_config_t) == sizeof(uint64_t), "RGB Matrix EECONFIG out of spec."); - -#if defined(_MSC_VER) -#    pragma pack(pop) -#endif | 
