write_cmd(g, ST7565_INVERT_DISPLAY);
write_cmd(g, ST7565_ALLON_NORMAL);
- write_cmd(g, ST7565_DISPLAY_ON);
write_cmd(g, ST7565_START_LINE | 0);
write_cmd(g, ST7565_RMW);
g->g.Width = GDISP_SCREEN_WIDTH;
g->g.Height = GDISP_SCREEN_HEIGHT;
g->g.Orientation = GDISP_ROTATE_0;
- g->g.Powermode = powerOn;
+ g->g.Powermode = powerOff;
g->g.Backlight = GDISP_INITIAL_BACKLIGHT;
g->g.Contrast = GDISP_INITIAL_CONTRAST;
return TRUE;
// Don't worry, if the startup animation is long, you can use the keyboard like normal
// during that time
static keyframe_animation_t startup_animation = {
- .num_frames = 2,
+ .num_frames = 4,
.loop = false,
- .frame_lengths = {0, gfxMillisecondsToTicks(10000), 0},
+ .frame_lengths = {0, 0, 0, gfxMillisecondsToTicks(10000), 0},
.frame_functions = {
+ lcd_keyframe_enable,
+ backlight_keyframe_enable,
lcd_keyframe_draw_logo,
backlight_keyframe_animate_color,
},
},
};
-static keyframe_animation_t resume_animation = {
- .num_frames = 4,
- .loop = false,
- .frame_lengths = {0, 0, 0, gfxMillisecondsToTicks(10000), 0},
- .frame_functions = {
- lcd_keyframe_enable,
- backlight_keyframe_enable,
- lcd_keyframe_draw_logo,
- backlight_keyframe_animate_color,
- },
-};
-
void initialize_user_visualizer(visualizer_state_t* state) {
// The brightness will be dynamically adjustable in the future
// But for now, change it here.
state->current_lcd_color = initial_color;
state->target_lcd_color = logo_background_color;
lcd_state = LCD_STATE_INITIAL;
- start_keyframe_animation(&resume_animation);
+ start_keyframe_animation(&startup_animation);
}
void ergodox_board_led_on(void){
#include "lcd_backlight.h"
#include <math.h>
-static uint8_t current_hue = 0x00;
-static uint8_t current_saturation = 0x00;
-static uint8_t current_intensity = 0xFF;
-static uint8_t current_brightness = 0x7F;
+static uint8_t current_hue = 0;
+static uint8_t current_saturation = 0;
+static uint8_t current_intensity = 0;
+static uint8_t current_brightness = 0;
void lcd_backlight_init(void) {
lcd_backlight_hal_init();