浏览代码

AnnePro2: Adjust RGB flushing (#18640)

jpe230 2 年之前
父节点
当前提交
85dc473faa
共有 4 个文件被更改,包括 13 次插入29 次删除
  1. 0 10
      keyboards/annepro2/annepro2.c
  2. 0 1
      keyboards/annepro2/ap2_led.c
  3. 0 1
      keyboards/annepro2/ap2_led.h
  4. 13 17
      keyboards/annepro2/rgb_driver.c

+ 0 - 10
keyboards/annepro2/annepro2.c

@@ -46,7 +46,6 @@ ble_capslock_t ble_capslock = {._dummy = {0}, .caps_lock = false};
 
 #ifdef RGB_MATRIX_ENABLE
 static uint8_t led_enabled = 1;
-static uint8_t current_rgb_row = 0;
 #endif
 
 void bootloader_jump(void) {
@@ -125,15 +124,6 @@ void matrix_scan_kb() {
         proto_consume(&proto, byte);
     }
 
-    #ifdef RGB_MATRIX_ENABLE
-    /* If there's data ready to be sent to LED MCU - send it. */
-    if(rgb_row_changed[current_rgb_row])
-    {
-        rgb_row_changed[current_rgb_row] = 0;
-        ap2_led_colors_set_row(current_rgb_row);
-    }
-    current_rgb_row = (current_rgb_row + 1) % NUM_ROW;
-    #endif
 
     matrix_scan_user();
 }

+ 0 - 1
keyboards/annepro2/ap2_led.c

@@ -24,7 +24,6 @@
 ap2_led_t       led_mask[KEY_COUNT];
 ap2_led_t       led_colors[KEY_COUNT];
 ap2_led_status_t ap2_led_status;
-uint8_t rgb_row_changed[NUM_ROW];
 
 void led_command_callback(const message_t *msg) {
     switch (msg->command) {

+ 0 - 1
keyboards/annepro2/ap2_led.h

@@ -41,7 +41,6 @@ typedef union {
 /* Local copy of led_mask, used to override colors on the board */
 extern ap2_led_t led_mask[KEY_COUNT];
 extern ap2_led_t led_colors[KEY_COUNT];
-extern uint8_t rgb_row_changed[NUM_ROW];
 
 /* Handle incoming messages */
 extern void led_command_callback(const message_t *msg);

+ 13 - 17
keyboards/annepro2/rgb_driver.c

@@ -16,8 +16,8 @@
 
 #ifdef RGB_MATRIX_ENABLE
 
-#include "rgb_matrix.h"
-#include "ap2_led.h"
+#    include "rgb_matrix.h"
+#    include "ap2_led.h"
 
 uint8_t led_pos[RGB_MATRIX_LED_COUNT];
 
@@ -33,26 +33,22 @@ void init(void) {
     }
 }
 
-void flush(void) {}
+void flush(void) {
+    for (uint8_t row = 0; row < NUM_ROW; row++)
+        ap2_led_colors_set_row(row);
+}
 
 void set_color(int index, uint8_t r, uint8_t g, uint8_t b) {
-    if (r != led_colors[led_pos[index]].p.red   ||
-        g != led_colors[led_pos[index]].p.green ||
-        b != led_colors[led_pos[index]].p.blue)
-        {
-            led_colors[led_pos[index]] = (ap2_led_t){
-                .p.blue  = b,
-                .p.red   = r,
-                .p.green = g,
-                .p.alpha = 0xff,
-            };
-            int row = led_pos[index] / NUM_COLUMN;
-            rgb_row_changed[row] = 1;
-        }
+    led_colors[led_pos[index]] = (ap2_led_t){
+        .p.blue  = b,
+        .p.red   = r,
+        .p.green = g,
+        .p.alpha = 0xff,
+    };
 }
 
 void set_color_all(uint8_t r, uint8_t g, uint8_t b) {
-    for (int i=0; i<RGB_MATRIX_LED_COUNT; i++)
+    for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++)
         set_color(i, r, g, b);
 }