aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/ugfx/gdisp/is31fl3731c/driver.mk1
-rw-r--r--drivers/ugfx/gdisp/is31fl3731c/gdisp_is31fl3731c.c12
-rw-r--r--drivers/ugfx/gdisp/st7565/driver.mk1
-rw-r--r--drivers/ugfx/gdisp/st7565/gdisp_lld_ST7565.c4
-rw-r--r--keyboards/ergodox/infinity/board_IS31FL3731C.h3
-rw-r--r--keyboards/ergodox/infinity/config.h5
-rw-r--r--keyboards/ergodox/infinity/gfxconf.h6
-rw-r--r--keyboards/ergodox/infinity/rules.mk9
-rw-r--r--keyboards/whitefox/board_IS31FL3731C.h3
-rw-r--r--keyboards/whitefox/config.h8
-rw-r--r--keyboards/whitefox/gfxconf.h4
-rw-r--r--keyboards/whitefox/rules.mk4
-rw-r--r--quantum/visualizer/lcd_keyframes.c4
-rw-r--r--quantum/visualizer/led_backlight_keyframes.c4
-rw-r--r--quantum/visualizer/visualizer.mk35
15 files changed, 58 insertions, 45 deletions
diff --git a/drivers/ugfx/gdisp/is31fl3731c/driver.mk b/drivers/ugfx/gdisp/is31fl3731c/driver.mk
index c9de62d1e..4364787c9 100644
--- a/drivers/ugfx/gdisp/is31fl3731c/driver.mk
+++ b/drivers/ugfx/gdisp/is31fl3731c/driver.mk
@@ -1,2 +1,3 @@
1GFXINC += drivers/ugfx/gdisp/is31fl3731c 1GFXINC += drivers/ugfx/gdisp/is31fl3731c
2GFXSRC += drivers/ugfx/gdisp/is31fl3731c/gdisp_is31fl3731c.c 2GFXSRC += drivers/ugfx/gdisp/is31fl3731c/gdisp_is31fl3731c.c
3GDISP_DRIVER_LIST += GDISPVMT_IS31FL3731C_QMK \ No newline at end of file
diff --git a/drivers/ugfx/gdisp/is31fl3731c/gdisp_is31fl3731c.c b/drivers/ugfx/gdisp/is31fl3731c/gdisp_is31fl3731c.c
index 0691dbfbf..3faddcda8 100644
--- a/drivers/ugfx/gdisp/is31fl3731c/gdisp_is31fl3731c.c
+++ b/drivers/ugfx/gdisp/is31fl3731c/gdisp_is31fl3731c.c
@@ -19,7 +19,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
19 19
20#if GFX_USE_GDISP 20#if GFX_USE_GDISP
21 21
22#define GDISP_DRIVER_VMT GDISPVMT_IS31FL3731C_QMK 22#define GDISP_DRIVER_VMT GDISPVMT_IS31FL3731C_QMK
23#define GDISP_SCREEN_HEIGHT LED_HEIGHT
24#define GDISP_SCREEN_WIDTH LED_WIDTH
25
23#include "gdisp_lld_config.h" 26#include "gdisp_lld_config.h"
24#include "src/gdisp/gdisp_driver.h" 27#include "src/gdisp/gdisp_driver.h"
25 28
@@ -33,12 +36,6 @@ extern const uint8_t CIE1931_CURVE[];
33/* Driver local definitions. */ 36/* Driver local definitions. */
34/*===========================================================================*/ 37/*===========================================================================*/
35 38
36#ifndef GDISP_SCREEN_HEIGHT
37 #define GDISP_SCREEN_HEIGHT 9
38#endif
39#ifndef GDISP_SCREEN_WIDTH
40 #define GDISP_SCREEN_WIDTH 16
41#endif
42#ifndef GDISP_INITIAL_CONTRAST 39#ifndef GDISP_INITIAL_CONTRAST
43 #define GDISP_INITIAL_CONTRAST 0 40 #define GDISP_INITIAL_CONTRAST 0
44#endif 41#endif
@@ -100,7 +97,6 @@ extern const uint8_t CIE1931_CURVE[];
100#define IS31_PWM_SIZE 0x90 97#define IS31_PWM_SIZE 0x90
101 98
102#define IS31_LED_MASK_SIZE 0x12 99#define IS31_LED_MASK_SIZE 0x12
103#define IS31_SCREEN_WIDTH 16
104 100
105#define IS31 101#define IS31
106 102
diff --git a/drivers/ugfx/gdisp/st7565/driver.mk b/drivers/ugfx/gdisp/st7565/driver.mk
index 0190b6019..31fc8f1c7 100644
--- a/drivers/ugfx/gdisp/st7565/driver.mk
+++ b/drivers/ugfx/gdisp/st7565/driver.mk
@@ -1,2 +1,3 @@
1GFXINC += drivers/ugfx/gdisp/st7565 1GFXINC += drivers/ugfx/gdisp/st7565
2GFXSRC += drivers/ugfx/gdisp/st7565/gdisp_lld_ST7565.c 2GFXSRC += drivers/ugfx/gdisp/st7565/gdisp_lld_ST7565.c
3GDISP_DRIVER_LIST += GDISPVMT_ST7565_QMK \ No newline at end of file
diff --git a/drivers/ugfx/gdisp/st7565/gdisp_lld_ST7565.c b/drivers/ugfx/gdisp/st7565/gdisp_lld_ST7565.c
index 55552cb79..4a4c83e89 100644
--- a/drivers/ugfx/gdisp/st7565/gdisp_lld_ST7565.c
+++ b/drivers/ugfx/gdisp/st7565/gdisp_lld_ST7565.c
@@ -20,10 +20,10 @@
20/*===========================================================================*/ 20/*===========================================================================*/
21 21
22#ifndef GDISP_SCREEN_HEIGHT 22#ifndef GDISP_SCREEN_HEIGHT
23#define GDISP_SCREEN_HEIGHT 32 23#define GDISP_SCREEN_HEIGHT LCD_HEIGHT
24#endif 24#endif
25#ifndef GDISP_SCREEN_WIDTH 25#ifndef GDISP_SCREEN_WIDTH
26#define GDISP_SCREEN_WIDTH 128 26#define GDISP_SCREEN_WIDTH LCD_WIDTH
27#endif 27#endif
28#ifndef GDISP_INITIAL_CONTRAST 28#ifndef GDISP_INITIAL_CONTRAST
29#define GDISP_INITIAL_CONTRAST 35 29#define GDISP_INITIAL_CONTRAST 35
diff --git a/keyboards/ergodox/infinity/board_IS31FL3731C.h b/keyboards/ergodox/infinity/board_IS31FL3731C.h
index 2ea73f1fb..f248cc25b 100644
--- a/keyboards/ergodox/infinity/board_IS31FL3731C.h
+++ b/keyboards/ergodox/infinity/board_IS31FL3731C.h
@@ -22,9 +22,6 @@ static const I2CConfig i2ccfg = {
22 400000 // clock speed (Hz); 400kHz max for IS31 22 400000 // clock speed (Hz); 400kHz max for IS31
23}; 23};
24 24
25#define GDISP_SCREEN_WIDTH 7
26#define GDISP_SCREEN_HEIGHT 7
27
28static const uint8_t led_mask[] = { 25static const uint8_t led_mask[] = {
29 0xFF, 0x00, /* C1-1 -> C1-16 */ 26 0xFF, 0x00, /* C1-1 -> C1-16 */
30 0xFF, 0x00, /* C2-1 -> C2-16 */ 27 0xFF, 0x00, /* C2-1 -> C2-16 */
diff --git a/keyboards/ergodox/infinity/config.h b/keyboards/ergodox/infinity/config.h
index fa157a893..c46edeb7b 100644
--- a/keyboards/ergodox/infinity/config.h
+++ b/keyboards/ergodox/infinity/config.h
@@ -54,11 +54,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
54 54
55#define VISUALIZER_USER_DATA_SIZE 16 55#define VISUALIZER_USER_DATA_SIZE 16
56 56
57#define LCD_DISPLAY_NUMBER 0
58#define LED_DISPLAY_NUMBER 1
59
60#define LED_NUM_ROWS 7
61#define LED_NUM_COLS 7
62/* 57/*
63 * Feature disable options 58 * Feature disable options
64 * These options are also useful to firmware size reduction. 59 * These options are also useful to firmware size reduction.
diff --git a/keyboards/ergodox/infinity/gfxconf.h b/keyboards/ergodox/infinity/gfxconf.h
index 0d017aea9..ca338399d 100644
--- a/keyboards/ergodox/infinity/gfxconf.h
+++ b/keyboards/ergodox/infinity/gfxconf.h
@@ -22,12 +22,6 @@
22#ifndef _GFXCONF_H 22#ifndef _GFXCONF_H
23#define _GFXCONF_H 23#define _GFXCONF_H
24 24
25#ifndef EMULATOR
26#define GDISP_DRIVER_LIST GDISPVMT_ST7565_QMK, GDISPVMT_IS31FL3731C_QMK
27#else
28#define GDISP_DRIVER_LIST GDISPVMT_EMULATOR_LCD_ERGODOX, GDISPVMT_EMULATOR_LED_ERGODOX
29#endif
30
31#include "common_gfxconf.h" 25#include "common_gfxconf.h"
32 26
33#endif /* _GFXCONF_H */ 27#endif /* _GFXCONF_H */
diff --git a/keyboards/ergodox/infinity/rules.mk b/keyboards/ergodox/infinity/rules.mk
index 2ccf98b8c..a341bbfce 100644
--- a/keyboards/ergodox/infinity/rules.mk
+++ b/keyboards/ergodox/infinity/rules.mk
@@ -66,5 +66,10 @@ LCD_BACKLIGHT_ENABLE = yes
66MIDI_ENABLE = no 66MIDI_ENABLE = no
67RGBLIGHT_ENABLE = no 67RGBLIGHT_ENABLE = no
68 68
69include $(TOP_DIR)/drivers/ugfx/gdisp/st7565/driver.mk 69LCD_DRIVER = st7565
70include $(TOP_DIR)/drivers/ugfx/gdisp/is31fl3731c/driver.mk \ No newline at end of file 70LCD_WIDTH = 128
71LCD_HEIGHT = 32
72
73LED_DRIVER = is31fl3731c
74LED_WIDTH = 7
75LED_HEIGHT = 7 \ No newline at end of file
diff --git a/keyboards/whitefox/board_IS31FL3731C.h b/keyboards/whitefox/board_IS31FL3731C.h
index 3dc5327a5..dea643f10 100644
--- a/keyboards/whitefox/board_IS31FL3731C.h
+++ b/keyboards/whitefox/board_IS31FL3731C.h
@@ -22,9 +22,6 @@ static const I2CConfig i2ccfg = {
22 400000 // clock speed (Hz); 400kHz max for IS31 22 400000 // clock speed (Hz); 400kHz max for IS31
23}; 23};
24 24
25#define GDISP_SCREEN_WIDTH 16
26#define GDISP_SCREEN_HEIGHT 5
27
28static const uint8_t led_mask[] = { 25static const uint8_t led_mask[] = {
29 0xFF, 0x00, /* C1-1 -> C1-16 */ 26 0xFF, 0x00, /* C1-1 -> C1-16 */
30 0xFF, 0x00, /* C2-1 -> C2-16 */ 27 0xFF, 0x00, /* C2-1 -> C2-16 */
diff --git a/keyboards/whitefox/config.h b/keyboards/whitefox/config.h
index 76040bd74..dc33a7ce5 100644
--- a/keyboards/whitefox/config.h
+++ b/keyboards/whitefox/config.h
@@ -81,10 +81,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
81//#define NO_ACTION_MACRO 81//#define NO_ACTION_MACRO
82//#define NO_ACTION_FUNCTION 82//#define NO_ACTION_FUNCTION
83 83
84#endif 84#endif \ No newline at end of file
85
86// The visualizer needs gfx thread priorities
87#define LED_DISPLAY_NUMBER 0
88
89#define LED_NUM_ROWS 5
90#define LED_NUM_COLS 16 \ No newline at end of file
diff --git a/keyboards/whitefox/gfxconf.h b/keyboards/whitefox/gfxconf.h
index eb93f92eb..ca338399d 100644
--- a/keyboards/whitefox/gfxconf.h
+++ b/keyboards/whitefox/gfxconf.h
@@ -22,10 +22,6 @@
22#ifndef _GFXCONF_H 22#ifndef _GFXCONF_H
23#define _GFXCONF_H 23#define _GFXCONF_H
24 24
25#ifndef EMULATOR
26#define GDISP_DRIVER_LIST GDISPVMT_IS31FL3731C_QMK
27#endif
28
29#include "common_gfxconf.h" 25#include "common_gfxconf.h"
30 26
31#endif /* _GFXCONF_H */ 27#endif /* _GFXCONF_H */
diff --git a/keyboards/whitefox/rules.mk b/keyboards/whitefox/rules.mk
index 391148071..32273e08a 100644
--- a/keyboards/whitefox/rules.mk
+++ b/keyboards/whitefox/rules.mk
@@ -69,4 +69,6 @@ CUSTOM_MATRIX = yes # Custom matrix file
69BACKLIGHT_ENABLE = yes 69BACKLIGHT_ENABLE = yes
70VISUALIZER_ENABLE = yes 70VISUALIZER_ENABLE = yes
71 71
72include $(TOP_DIR)/drivers/ugfx/gdisp/is31fl3731c/driver.mk 72LED_DRIVER = is31fl3731c
73LED_WIDTH = 16
74LED_HEIGHT = 5 \ No newline at end of file
diff --git a/quantum/visualizer/lcd_keyframes.c b/quantum/visualizer/lcd_keyframes.c
index 82e4184d2..75eb45700 100644
--- a/quantum/visualizer/lcd_keyframes.c
+++ b/quantum/visualizer/lcd_keyframes.c
@@ -166,8 +166,8 @@ bool lcd_keyframe_draw_logo(keyframe_animation_t* animation, visualizer_state_t*
166 // or state structs, here we use the image 166 // or state structs, here we use the image
167 167
168 //gdispGBlitArea is a tricky function to use since it supports blitting part of the image 168 //gdispGBlitArea is a tricky function to use since it supports blitting part of the image
169 // if you have full screen image, then just use 128 and 32 for both source and target dimensions 169 // if you have full screen image, then just use LCD_WIDTH and LCD_HEIGHT for both source and target dimensions
170 gdispGBlitArea(GDISP, 0, 0, 128, 32, 0, 0, 128, (pixel_t*)resource_lcd_logo); 170 gdispGBlitArea(GDISP, 0, 0, LCD_WIDTH, LCD_HEIGHT, 0, 0, LCD_WIDTH, (pixel_t*)resource_lcd_logo);
171 171
172 return false; 172 return false;
173} 173}
diff --git a/quantum/visualizer/led_backlight_keyframes.c b/quantum/visualizer/led_backlight_keyframes.c
index d2921a391..eb3f5561d 100644
--- a/quantum/visualizer/led_backlight_keyframes.c
+++ b/quantum/visualizer/led_backlight_keyframes.c
@@ -41,8 +41,8 @@ static void keyframe_fade_all_leds_from_to(keyframe_animation_t* animation, uint
41} 41}
42 42
43// TODO: Should be customizable per keyboard 43// TODO: Should be customizable per keyboard
44#define NUM_ROWS LED_NUM_ROWS 44#define NUM_ROWS LED_HEIGHT
45#define NUM_COLS LED_NUM_COLS 45#define NUM_COLS LED_WIDTH
46 46
47static uint8_t crossfade_start_frame[NUM_ROWS][NUM_COLS]; 47static uint8_t crossfade_start_frame[NUM_ROWS][NUM_COLS];
48static uint8_t crossfade_end_frame[NUM_ROWS][NUM_COLS]; 48static uint8_t crossfade_end_frame[NUM_ROWS][NUM_COLS];
diff --git a/quantum/visualizer/visualizer.mk b/quantum/visualizer/visualizer.mk
index 3a0f771bc..102d23b7e 100644
--- a/quantum/visualizer/visualizer.mk
+++ b/quantum/visualizer/visualizer.mk
@@ -20,6 +20,30 @@
20# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21# SOFTWARE. 21# SOFTWARE.
22 22
23define ADD_DRIVER
24 $(1)_DRIVER:=$(strip $($(1)_DRIVER))
25 $(1)_WIDTH:=$(strip $($(1)_WIDTH))
26 $(1)_HEIGHT:=$(strip $($(1)_HEIGHT))
27 ifeq ($($(1)_DRIVER),)
28 $$(error $(1)_DRIVER is not defined)
29 endif
30 ifeq ($($(1)_WIDTH),)
31 $$(error $(1)_WIDTH is not defined)
32 endif
33 ifeq ($($(1)_HEIGHT),)
34 $$(error $(1)_HEIGHT is not defined)
35 endif
36 OPT_DEFS+=-D$(1)_WIDTH=$($(1)_WIDTH)
37 OPT_DEFS+=-D$(1)_HEIGHT=$($(1)_HEIGHT)
38 GFXDEFS+=-D$(1)_WIDTH=$($(1)_WIDTH)
39 GFXDEFS+=-D$(1)_HEIGHT=$($(1)_HEIGHT)
40 $(1)_DISPLAY_NUMBER:=$$(words $$(GDISP_DRIVER_LIST))
41 OPT_DEFS+=-D$(1)_DISPLAY_NUMBER=$$($(1)_DISPLAY_NUMBER)
42 include $(TOP_DIR)/drivers/ugfx/gdisp/$($(1)_DRIVER)/driver.mk
43endef
44
45GDISP_DRIVER_LIST:=
46
23SRC += $(VISUALIZER_DIR)/visualizer.c \ 47SRC += $(VISUALIZER_DIR)/visualizer.c \
24 $(VISUALIZER_DIR)/visualizer_keyframes.c 48 $(VISUALIZER_DIR)/visualizer_keyframes.c
25EXTRAINCDIRS += $(GFXINC) $(VISUALIZER_DIR) 49EXTRAINCDIRS += $(GFXINC) $(VISUALIZER_DIR)
@@ -40,10 +64,12 @@ SRC += $(VISUALIZER_DIR)/lcd_backlight_keyframes.c
40# Note, that the linker will strip out any resources that are not actually in use 64# Note, that the linker will strip out any resources that are not actually in use
41SRC += $(VISUALIZER_DIR)/resources/lcd_logo.c 65SRC += $(VISUALIZER_DIR)/resources/lcd_logo.c
42OPT_DEFS += -DLCD_BACKLIGHT_ENABLE 66OPT_DEFS += -DLCD_BACKLIGHT_ENABLE
67$(eval $(call ADD_DRIVER,LCD))
43endif 68endif
44 69
45ifeq ($(strip $(BACKLIGHT_ENABLE)), yes) 70ifeq ($(strip $(BACKLIGHT_ENABLE)), yes)
46SRC += $(VISUALIZER_DIR)/led_backlight_keyframes.c 71SRC += $(VISUALIZER_DIR)/led_backlight_keyframes.c
72$(eval $(call ADD_DRIVER,LED))
47endif 73endif
48 74
49SRC += $(VISUALIZER_DIR)/default_animations.c 75SRC += $(VISUALIZER_DIR)/default_animations.c
@@ -55,6 +81,15 @@ GFXINC += quantum/visualizer
55GFXSRC := $(patsubst $(TOP_DIR)/%,%,$(GFXSRC)) 81GFXSRC := $(patsubst $(TOP_DIR)/%,%,$(GFXSRC))
56GFXDEFS := $(patsubst %,-D%,$(patsubst -D%,%,$(GFXDEFS))) 82GFXDEFS := $(patsubst %,-D%,$(patsubst -D%,%,$(GFXDEFS)))
57 83
84GDISP_LIST_COMMA=,
85GDISP_LIST_EMPTY=
86GDISP_LIST_SPACE=$(GDISP_LIST_EMPTY) $(GDISP_LIST_EMPTY)
87
88GDISP_DRIVER_LIST := $(strip $(GDISP_DRIVER_LIST))
89GDISP_DRIVER_LIST := $(subst $(GDISP_LIST_SPACE),$(GDISP_LIST_COMMA),$(GDISP_DRIVER_LIST))
90
91GFXDEFS +=-DGDISP_DRIVER_LIST="$(GDISP_DRIVER_LIST)"
92
58ifneq ("$(wildcard $(KEYMAP_PATH)/visualizer.c)","") 93ifneq ("$(wildcard $(KEYMAP_PATH)/visualizer.c)","")
59 SRC += keyboards/$(KEYBOARD)/keymaps/$(KEYMAP)/visualizer.c 94 SRC += keyboards/$(KEYBOARD)/keymaps/$(KEYMAP)/visualizer.c
60else 95else