From 3e8aef522eb6d30d96282b49f0e69936fd432cab Mon Sep 17 00:00:00 2001 From: Glory Date: Sat, 5 Feb 2022 21:52:10 +0800 Subject: gmmk: add spi flush and increase spi clock (#222) 1. fix no led issue by common spi driver 2. increase spi clock for better performance --- keyboards/gmmk/compact/rev3/backlight.c | 5 ++++- keyboards/gmmk/compact/rev3/rules.mk | 4 ++-- keyboards/gmmk/full/rev3/backlight.c | 5 +++-- keyboards/gmmk/full/rev3/rules.mk | 2 +- keyboards/gmmk/tkl/rev3/backlight.c | 5 +++-- keyboards/gmmk/tkl/rev3/rules.mk | 2 +- 6 files changed, 14 insertions(+), 9 deletions(-) diff --git a/keyboards/gmmk/compact/rev3/backlight.c b/keyboards/gmmk/compact/rev3/backlight.c index 19518452c..b4befc60b 100644 --- a/keyboards/gmmk/compact/rev3/backlight.c +++ b/keyboards/gmmk/compact/rev3/backlight.c @@ -15,6 +15,8 @@ #define SDB B0 +extern void SPI0_Flush(void); + #ifdef VIA_OPENRGB_HYBRID uint8_t is_orgb_mode; #endif @@ -52,7 +54,8 @@ void spi_read3(unsigned char b1, unsigned char b2, unsigned char *b3) void spi_write(uint8_t *data_p, int len) { writePinLow(g_cs_pin); - SPI0_Write(data_p, len); + SPI0_Write(data_p, len); + SPI0_Flush(); writePinHigh(g_cs_pin); } diff --git a/keyboards/gmmk/compact/rev3/rules.mk b/keyboards/gmmk/compact/rev3/rules.mk index 0cf426e14..c0da0a851 100644 --- a/keyboards/gmmk/compact/rev3/rules.mk +++ b/keyboards/gmmk/compact/rev3/rules.mk @@ -1,6 +1,6 @@ -SRC = ../config_led.c +SRC += ../config_led.c SRC += ../led_matrix.c SRC += backlight.c SRC += SPI0.c -OPT_DEFS += -DSN32_SPI_CLKDIV=7 -DSN32_SPI_TXFIFO_THRESHOLD=7 \ No newline at end of file +OPT_DEFS += -DSN32_SPI_CLKDIV=4 \ No newline at end of file diff --git a/keyboards/gmmk/full/rev3/backlight.c b/keyboards/gmmk/full/rev3/backlight.c index 117702437..507f1f8c8 100644 --- a/keyboards/gmmk/full/rev3/backlight.c +++ b/keyboards/gmmk/full/rev3/backlight.c @@ -13,7 +13,7 @@ #include "SPI.h" -extern void SPI0_Write1(uint8_t data); +extern void SPI0_Flush(void); extern void SPI0_Read3(unsigned char b1, unsigned char b2, unsigned char *b3); #ifdef USE_FRAMEBUFFER @@ -54,7 +54,8 @@ void spi_read3(unsigned char b1, unsigned char b2, unsigned char *b3) void spi_write(uint8_t *data_p, int len) { writePinLow(g_cs_pin); - SPI0_Write(data_p, len); + SPI0_Write(data_p, len); + SPI0_Flush(); writePinHigh(g_cs_pin); } diff --git a/keyboards/gmmk/full/rev3/rules.mk b/keyboards/gmmk/full/rev3/rules.mk index da6e45341..c0da0a851 100644 --- a/keyboards/gmmk/full/rev3/rules.mk +++ b/keyboards/gmmk/full/rev3/rules.mk @@ -3,4 +3,4 @@ SRC += ../led_matrix.c SRC += backlight.c SRC += SPI0.c -OPT_DEFS += -DSN32_SPI_CLKDIV=7 \ No newline at end of file +OPT_DEFS += -DSN32_SPI_CLKDIV=4 \ No newline at end of file diff --git a/keyboards/gmmk/tkl/rev3/backlight.c b/keyboards/gmmk/tkl/rev3/backlight.c index 9914cbfee..db093ee12 100644 --- a/keyboards/gmmk/tkl/rev3/backlight.c +++ b/keyboards/gmmk/tkl/rev3/backlight.c @@ -13,7 +13,7 @@ #include "SPI.h" -extern void SPI0_Write1(uint8_t data); +extern void SPI0_Flush(void); extern void SPI0_Read3(unsigned char b1, unsigned char b2, unsigned char *b3); #ifdef USE_FRAMEBUFFER @@ -54,7 +54,8 @@ void spi_read3(unsigned char b1, unsigned char b2, unsigned char *b3) void spi_write(uint8_t *data_p, int len) { writePinLow(g_cs_pin); - SPI0_Write(data_p, len); + SPI0_Write(data_p, len); + SPI0_Flush(); writePinHigh(g_cs_pin); } diff --git a/keyboards/gmmk/tkl/rev3/rules.mk b/keyboards/gmmk/tkl/rev3/rules.mk index da6e45341..c0da0a851 100644 --- a/keyboards/gmmk/tkl/rev3/rules.mk +++ b/keyboards/gmmk/tkl/rev3/rules.mk @@ -3,4 +3,4 @@ SRC += ../led_matrix.c SRC += backlight.c SRC += SPI0.c -OPT_DEFS += -DSN32_SPI_CLKDIV=7 \ No newline at end of file +OPT_DEFS += -DSN32_SPI_CLKDIV=4 \ No newline at end of file -- cgit v1.3.1