4646static painter_device_t st7789_display ;
4747#ifdef QUANTUM_PAINTER_DRIVERS_ST7789_170X320_SURFACE
4848static painter_device_t st7789_170x320_surface_display ;
49- static uint8_t display_buffer [SURFACE_REQUIRED_BUFFER_BYTE_SIZE (170 , 320 , 16 )];
49+ static uint8_t display_buffer [SURFACE_REQUIRED_BUFFER_BYTE_SIZE (240 , 320 , 16 )];
5050#else
5151# define st7789_170x320_surface_display st7789_display
5252#endif // QUANTUM_PAINTER_DRIVERS_ST7789_170X320_SURFACE
@@ -55,7 +55,8 @@ static bool has_run = false, forced_reinit = false;
5555
5656void init_display_st7789_170x320_inversion (void ) {
5757 qp_comms_start (st7789_display );
58- qp_comms_command (st7789_display , userspace_config .display .inverted ? ST77XX_CMD_INVERT_OFF : ST77XX_CMD_INVERT_ON );
58+ qp_comms_command (st7789_display ,
59+ userspace_config .display .painter .left .inverted ? ST77XX_CMD_INVERT_OFF : ST77XX_CMD_INVERT_ON );
5960 qp_comms_stop (st7789_display );
6061 if (has_run ) {
6162 forced_reinit = true;
@@ -66,7 +67,7 @@ void init_display_st7789_170x320_rotation(void) {
6667 uint16_t width ;
6768 uint16_t height ;
6869
69- qp_init (st7789_display , userspace_config .display .rotation ? QP_ROTATION_0 : QP_ROTATION_180 );
70+ qp_init (st7789_display , userspace_config .display .painter . left . rotation ? QP_ROTATION_0 : QP_ROTATION_180 );
7071 // qp_set_viewport_offsets(st7789_display, 35, 0);
7172 qp_get_geometry (st7789_display , & width , & height , NULL , NULL , NULL );
7273 qp_clear (st7789_display );
@@ -96,13 +97,13 @@ void init_display_st7789_170x320(void) {
9697#ifdef QUANTUM_PAINTER_DRIVERS_ST7789_170X320_SURFACE
9798 qp_init (st7789_170x320_surface_display , QP_ROTATION_0 );
9899
99- qp_rect (st7789_170x320_surface_display , 0 , 0 , 170 - 1 , 320 - 1 , HSV_BLACK , true);
100+ qp_rect (st7789_170x320_surface_display , 0 , 0 , 240 - 1 , 320 - 1 , HSV_BLACK , true);
100101 qp_surface_draw (st7789_170x320_surface_display , st7789_display , 0 , 0 , 0 );
101102#else
102- qp_rect (st7789_display , 0 , 0 , 170 - 1 , 320 - 1 , 0 , 0 , 0 , true);
103+ qp_rect (st7789_display , 0 , 0 , 240 - 1 , 320 - 1 , 0 , 0 , 0 , true);
103104#endif
104105
105- qp_flush ( st7789_display );
106+ st7789_170x320_draw_user ( );
106107}
107108
108109void st7789_170x320_display_power (bool on ) {
@@ -124,8 +125,8 @@ __attribute__((weak)) void st7789_170x320_draw_user(void) {
124125#endif // COMMUNITY_MODULE_DISPLAY_MENU_ENABLE
125126 {
126127 static uint8_t display_logo = 0xFF ;
127- const uint8_t display_logo_ref = is_keyboard_left () ? userspace_config .display .painter .display_logo_left
128- : userspace_config .display .painter .display_logo_right ;
128+ const uint8_t display_logo_ref = is_keyboard_left () ? userspace_config .display .painter .left . display_logo
129+ : userspace_config .display .painter .right . display_logo ;
129130
130131 if (display_logo != display_logo_ref ) {
131132 display_logo = display_logo_ref ;
@@ -135,7 +136,11 @@ __attribute__((weak)) void st7789_170x320_draw_user(void) {
135136 painter_image_handle_t screen_saver = qp_load_image_mem (screen_saver_image [display_logo ].data );
136137
137138 if (screen_saver != NULL ) {
139+ #ifdef QUANTUM_PAINTER_DRIVERS_ST7789_170X320_SURFACE
138140 qp_drawimage (st7789_170x320_surface_display , 0 , 0 , screen_saver );
141+ #else // QUANTUM_PAINTER_DRIVERS_ST7789_170X320_SURFACE
142+ qp_drawimage (st7789_display , 0 , 0 , screen_saver );
143+ #endif // QUANTUM_PAINTER_DRIVERS_ST7789_170X320_SURFACE
139144 qp_close_image (screen_saver );
140145 }
141146 force_redraw = false;
0 commit comments