diff options
| author | Fred Sundvik <fsundvik@gmail.com> | 2017-04-08 20:10:20 +0300 |
|---|---|---|
| committer | Fred Sundvik <fsundvik@gmail.com> | 2017-04-09 18:34:59 +0300 |
| commit | 3eb8785e8770c07e6a4280c50240d5d951461911 (patch) | |
| tree | 5d5adfe0f8bef36732667cf832f64bda936670c6 | |
| parent | 995002fa912545128625ec2d8c53cff5de560b97 (diff) | |
| download | qmk_firmware-3eb8785e8770c07e6a4280c50240d5d951461911.tar.gz qmk_firmware-3eb8785e8770c07e6a4280c50240d5d951461911.zip | |
Add automatic flush for the LCD screen
| -rw-r--r-- | keyboards/ergodox/infinity/drivers/gdisp/st7565ergodox/gdisp_lld_ST7565.c | 1 | ||||
| -rw-r--r-- | keyboards/ergodox/infinity/visualizer.c | 2 | ||||
| -rw-r--r-- | keyboards/ergodox/keymaps/default/visualizer.c | 2 | ||||
| -rw-r--r-- | quantum/visualizer/lcd_keyframes.c | 5 | ||||
| -rw-r--r-- | quantum/visualizer/visualizer.c | 4 |
5 files changed, 5 insertions, 9 deletions
diff --git a/keyboards/ergodox/infinity/drivers/gdisp/st7565ergodox/gdisp_lld_ST7565.c b/keyboards/ergodox/infinity/drivers/gdisp/st7565ergodox/gdisp_lld_ST7565.c index 0de457a7a..5b7b6d44c 100644 --- a/keyboards/ergodox/infinity/drivers/gdisp/st7565ergodox/gdisp_lld_ST7565.c +++ b/keyboards/ergodox/infinity/drivers/gdisp/st7565ergodox/gdisp_lld_ST7565.c | |||
| @@ -262,6 +262,7 @@ LLDSPEC void gdisp_lld_blit_area(GDisplay *g) { | |||
| 262 | srcbit++; | 262 | srcbit++; |
| 263 | } | 263 | } |
| 264 | } | 264 | } |
| 265 | g->flags |= GDISP_FLG_NEEDFLUSH; | ||
| 265 | } | 266 | } |
| 266 | 267 | ||
| 267 | #if GDISP_NEED_CONTROL && GDISP_HARDWARE_CONTROL | 268 | #if GDISP_NEED_CONTROL && GDISP_HARDWARE_CONTROL |
diff --git a/keyboards/ergodox/infinity/visualizer.c b/keyboards/ergodox/infinity/visualizer.c index 2e10fdd70..6f9b0210a 100644 --- a/keyboards/ergodox/infinity/visualizer.c +++ b/keyboards/ergodox/infinity/visualizer.c | |||
| @@ -127,8 +127,6 @@ bool display_logo(keyframe_animation_t* animation, visualizer_state_t* state) { | |||
| 127 | // if you have full screen image, then just use 128 and 32 for both source and target dimensions | 127 | // if you have full screen image, then just use 128 and 32 for both source and target dimensions |
| 128 | gdispGBlitArea(GDISP, 0, 0, 128, 32, 0, 0, 128, (pixel_t*)image_data_lcd_logo); | 128 | gdispGBlitArea(GDISP, 0, 0, 128, 32, 0, 0, 128, (pixel_t*)image_data_lcd_logo); |
| 129 | 129 | ||
| 130 | // Always remember to flush the display | ||
| 131 | gdispFlush(); | ||
| 132 | return false; | 130 | return false; |
| 133 | } | 131 | } |
| 134 | 132 | ||
diff --git a/keyboards/ergodox/keymaps/default/visualizer.c b/keyboards/ergodox/keymaps/default/visualizer.c index f6159e1ef..1b0f12f25 100644 --- a/keyboards/ergodox/keymaps/default/visualizer.c +++ b/keyboards/ergodox/keymaps/default/visualizer.c | |||
| @@ -101,8 +101,6 @@ bool display_logo(keyframe_animation_t* animation, visualizer_state_t* state) { | |||
| 101 | // if you have full screen image, then just use 128 and 32 for both source and target dimensions | 101 | // if you have full screen image, then just use 128 and 32 for both source and target dimensions |
| 102 | gdispGBlitArea(GDISP, 0, 0, 128, 32, 0, 0, 128, (pixel_t*)image_data_lcd_logo); | 102 | gdispGBlitArea(GDISP, 0, 0, 128, 32, 0, 0, 128, (pixel_t*)image_data_lcd_logo); |
| 103 | 103 | ||
| 104 | // Always remember to flush the display | ||
| 105 | gdispFlush(); | ||
| 106 | return false; | 104 | return false; |
| 107 | } | 105 | } |
| 108 | 106 | ||
diff --git a/quantum/visualizer/lcd_keyframes.c b/quantum/visualizer/lcd_keyframes.c index 74f6e3b47..c6e04d0ca 100644 --- a/quantum/visualizer/lcd_keyframes.c +++ b/quantum/visualizer/lcd_keyframes.c | |||
| @@ -23,7 +23,6 @@ bool lcd_keyframe_display_layer_text(keyframe_animation_t* animation, visualizer | |||
| 23 | (void)animation; | 23 | (void)animation; |
| 24 | gdispClear(White); | 24 | gdispClear(White); |
| 25 | gdispDrawString(0, 10, state->layer_text, state->font_dejavusansbold12, Black); | 25 | gdispDrawString(0, 10, state->layer_text, state->font_dejavusansbold12, Black); |
| 26 | gdispFlush(); | ||
| 27 | return false; | 26 | return false; |
| 28 | } | 27 | } |
| 29 | 28 | ||
| @@ -62,7 +61,6 @@ bool lcd_keyframe_display_layer_bitmap(keyframe_animation_t* animation, visualiz | |||
| 62 | gdispDrawString(0, 10, layer_buffer, state->font_fixed5x8, Black); | 61 | gdispDrawString(0, 10, layer_buffer, state->font_fixed5x8, Black); |
| 63 | format_layer_bitmap_string(state->status.default_layer >> 16, state->status.layer >> 16, layer_buffer); | 62 | format_layer_bitmap_string(state->status.default_layer >> 16, state->status.layer >> 16, layer_buffer); |
| 64 | gdispDrawString(0, 20, layer_buffer, state->font_fixed5x8, Black); | 63 | gdispDrawString(0, 20, layer_buffer, state->font_fixed5x8, Black); |
| 65 | gdispFlush(); | ||
| 66 | return false; | 64 | return false; |
| 67 | } | 65 | } |
| 68 | 66 | ||
| @@ -101,7 +99,6 @@ bool lcd_keyframe_display_mods_bitmap(keyframe_animation_t* animation, visualize | |||
| 101 | format_mods_bitmap_string(state->status.mods, status_buffer); | 99 | format_mods_bitmap_string(state->status.mods, status_buffer); |
| 102 | gdispDrawString(0, 20, status_buffer, state->font_fixed5x8, Black); | 100 | gdispDrawString(0, 20, status_buffer, state->font_fixed5x8, Black); |
| 103 | 101 | ||
| 104 | gdispFlush(); | ||
| 105 | return false; | 102 | return false; |
| 106 | } | 103 | } |
| 107 | 104 | ||
| @@ -140,7 +137,6 @@ bool lcd_keyframe_display_led_states(keyframe_animation_t* animation, visualizer | |||
| 140 | get_led_state_string(output, state); | 137 | get_led_state_string(output, state); |
| 141 | gdispClear(White); | 138 | gdispClear(White); |
| 142 | gdispDrawString(0, 10, output, state->font_dejavusansbold12, Black); | 139 | gdispDrawString(0, 10, output, state->font_dejavusansbold12, Black); |
| 143 | gdispFlush(); | ||
| 144 | return false; | 140 | return false; |
| 145 | } | 141 | } |
| 146 | 142 | ||
| @@ -155,7 +151,6 @@ bool lcd_keyframe_display_layer_and_led_states(keyframe_animation_t* animation, | |||
| 155 | y = 17; | 151 | y = 17; |
| 156 | } | 152 | } |
| 157 | gdispDrawString(0, y, state->layer_text, state->font_dejavusansbold12, Black); | 153 | gdispDrawString(0, y, state->layer_text, state->font_dejavusansbold12, Black); |
| 158 | gdispFlush(); | ||
| 159 | return false; | 154 | return false; |
| 160 | } | 155 | } |
| 161 | 156 | ||
diff --git a/quantum/visualizer/visualizer.c b/quantum/visualizer/visualizer.c index 2479a64c7..6f134097f 100644 --- a/quantum/visualizer/visualizer.c +++ b/quantum/visualizer/visualizer.c | |||
| @@ -313,6 +313,10 @@ static DECLARE_THREAD_FUNCTION(visualizerThread, arg) { | |||
| 313 | gdispGFlush(LED_DISPLAY); | 313 | gdispGFlush(LED_DISPLAY); |
| 314 | #endif | 314 | #endif |
| 315 | 315 | ||
| 316 | #ifdef LCD_ENABLE | ||
| 317 | gdispGFlush(LCD_DISPLAY); | ||
| 318 | #endif | ||
| 319 | |||
| 316 | #ifdef EMULATOR | 320 | #ifdef EMULATOR |
| 317 | draw_emulator(); | 321 | draw_emulator(); |
| 318 | #endif | 322 | #endif |
