瀏覽代碼

Separated backlight and LCD disable/enable

Also moved them to correct places
Fred Sundvik 8 年之前
父節點
當前提交
1e7585e767

+ 8 - 6
keyboards/ergodox/infinity/visualizer.c

@@ -186,22 +186,24 @@ static keyframe_animation_t lcd_bitmap_leds_animation = {
 };
 
 static keyframe_animation_t suspend_animation = {
-    .num_frames = 3,
+    .num_frames = 4,
     .loop = false,
-    .frame_lengths = {0, gfxMillisecondsToTicks(1000), 0},
+    .frame_lengths = {0, gfxMillisecondsToTicks(1000), 0, 0},
     .frame_functions = {
             lcd_keyframe_display_layer_text,
             backlight_keyframe_animate_color,
-            keyframe_disable_lcd_and_backlight,
+            lcd_keyframe_disable,
+            lcd_keyframe_disable,
     },
 };
 
 static keyframe_animation_t resume_animation = {
-    .num_frames = 4,
+    .num_frames = 5,
     .loop = false,
-    .frame_lengths = {0, 0, gfxMillisecondsToTicks(10000), 0},
+    .frame_lengths = {0, 0, 0, gfxMillisecondsToTicks(10000), 0},
     .frame_functions = {
-            keyframe_enable_lcd_and_backlight,
+            lcd_keyframe_enable,
+            backlight_keyframe_enable,
             display_logo,
             backlight_keyframe_animate_color,
             enable_visualization,

+ 8 - 6
keyboards/ergodox/keymaps/default/visualizer.c

@@ -128,22 +128,24 @@ static keyframe_animation_t lcd_layer_display = {
 };
 
 static keyframe_animation_t suspend_animation = {
-    .num_frames = 3,
+    .num_frames = 4,
     .loop = false,
-    .frame_lengths = {0, gfxMillisecondsToTicks(1000), 0},
+    .frame_lengths = {0, gfxMillisecondsToTicks(1000), 0, 0},
     .frame_functions = {
             lcd_keyframe_display_layer_text,
             backlight_keyframe_animate_color,
-            keyframe_disable_lcd_and_backlight,
+            lcd_keyframe_disable,
+            lcd_keyframe_disable,
     },
 };
 
 static keyframe_animation_t resume_animation = {
-    .num_frames = 4,
+    .num_frames = 5,
     .loop = false,
-    .frame_lengths = {0, 0, gfxMillisecondsToTicks(10000), 0},
+    .frame_lengths = {0, 0, 0, gfxMillisecondsToTicks(10000), 0},
     .frame_functions = {
-            keyframe_enable_lcd_and_backlight,
+            lcd_keyframe_enable,
+            backlight_keyframe_enable,
             display_logo,
             backlight_keyframe_animate_color,
             enable_visualization,

+ 16 - 0
quantum/visualizer/lcd_backlight_keyframes.c

@@ -59,3 +59,19 @@ bool backlight_keyframe_set_color(keyframe_animation_t* animation, visualizer_st
             LCD_INT(state->current_lcd_color));
     return false;
 }
+
+bool backlight_keyframe_disable(keyframe_animation_t* animation, visualizer_state_t* state) {
+    (void)animation;
+    (void)state;
+    lcd_backlight_hal_color(0, 0, 0);
+    return false;
+}
+
+bool backlight_keyframe_enable(keyframe_animation_t* animation, visualizer_state_t* state) {
+    (void)animation;
+    (void)state;
+    lcd_backlight_color(LCD_HUE(state->current_lcd_color),
+        LCD_SAT(state->current_lcd_color),
+        LCD_INT(state->current_lcd_color));
+    return false;
+}

+ 3 - 0
quantum/visualizer/lcd_backlight_keyframes.h

@@ -24,4 +24,7 @@ bool backlight_keyframe_animate_color(keyframe_animation_t* animation, visualize
 // Sets the backlight color to the target color
 bool backlight_keyframe_set_color(keyframe_animation_t* animation, visualizer_state_t* state);
 
+bool backlight_keyframe_disable(keyframe_animation_t* animation, visualizer_state_t* state);
+bool backlight_keyframe_enable(keyframe_animation_t* animation, visualizer_state_t* state);
+
 #endif /* QUANTUM_VISUALIZER_LCD_BACKLIGHT_KEYFRAMES_H_ */

+ 14 - 0
quantum/visualizer/lcd_keyframes.c

@@ -158,3 +158,17 @@ bool lcd_keyframe_display_layer_and_led_states(keyframe_animation_t* animation,
     gdispFlush();
     return false;
 }
+
+bool lcd_keyframe_disable(keyframe_animation_t* animation, visualizer_state_t* state) {
+    (void)animation;
+    (void)state;
+    gdispSetPowerMode(powerOff);
+    return false;
+}
+
+bool lcd_keyframe_enable(keyframe_animation_t* animation, visualizer_state_t* state) {
+    (void)animation;
+    (void)state;
+    gdispSetPowerMode(powerOn);
+    return false;
+}

+ 4 - 0
quantum/visualizer/lcd_keyframes.h

@@ -30,4 +30,8 @@ bool lcd_keyframe_display_led_states(keyframe_animation_t* animation, visualizer
 // Displays both the layer text and the led states
 bool lcd_keyframe_display_layer_and_led_states(keyframe_animation_t* animation, visualizer_state_t* state);
 
+bool lcd_keyframe_disable(keyframe_animation_t* animation, visualizer_state_t* state);
+bool lcd_keyframe_enable(keyframe_animation_t* animation, visualizer_state_t* state);
+
+
 #endif /* QUANTUM_VISUALIZER_LCD_KEYFRAMES_H_ */

+ 0 - 21
quantum/visualizer/visualizer.c

@@ -228,27 +228,6 @@ bool keyframe_no_operation(keyframe_animation_t* animation, visualizer_state_t*
     return false;
 }
 
-bool keyframe_disable_lcd_and_backlight(keyframe_animation_t* animation, visualizer_state_t* state) {
-    (void)animation;
-    (void)state;
-#ifdef LCD_ENABLE
-    gdispSetPowerMode(powerOff);
-#endif
-#ifdef LCD_BACKLIGHT_ENABLE
-    lcd_backlight_hal_color(0, 0, 0);
-#endif
-    return false;
-}
-
-bool keyframe_enable_lcd_and_backlight(keyframe_animation_t* animation, visualizer_state_t* state) {
-    (void)animation;
-    (void)state;
-#ifdef LCD_ENABLE
-    gdispSetPowerMode(powerOn);
-#endif
-    return false;
-}
-
 bool enable_visualization(keyframe_animation_t* animation, visualizer_state_t* state) {
     (void)animation;
     (void)state;

+ 0 - 3
quantum/visualizer/visualizer.h

@@ -130,9 +130,6 @@ void run_next_keyframe(keyframe_animation_t* animation, visualizer_state_t* stat
 // Does nothing, useful for adding delays
 bool keyframe_no_operation(keyframe_animation_t* animation, visualizer_state_t* state);
 
-bool keyframe_disable_lcd_and_backlight(keyframe_animation_t* animation, visualizer_state_t* state);
-bool keyframe_enable_lcd_and_backlight(keyframe_animation_t* animation, visualizer_state_t* state);
-
 // Call this once, when the initial animation has finished, alternatively you can call it
 // directly from the initalize_user_visualizer function (the animation can be null)
 bool enable_visualization(keyframe_animation_t* animation, visualizer_state_t* state);