File tree Expand file tree Collapse file tree 4 files changed +30
-13
lines changed
hw/drivers/display/lvgl/tft Expand file tree Collapse file tree 4 files changed +30
-13
lines changed Original file line number Diff line number Diff line change 132
132
133
133
static const uint8_t madctl [] = {
134
134
MADCTL_MX ,
135
- MADCTL_MX | MADCTL_MY | MADCTL_MV ,
136
- MADCTL_MY ,
137
135
MADCTL_MV ,
136
+ MADCTL_MY ,
137
+ MADCTL_MX | MADCTL_MY | MADCTL_MV ,
138
138
};
139
139
140
140
void
@@ -231,17 +231,20 @@ void
231
231
ili9341_flush (lv_disp_drv_t * drv , const lv_area_t * area , lv_color_t * color_p )
232
232
{
233
233
uint8_t cmd [5 ];
234
+ lv_disp_t * disp = lv_disp_get_default ();
235
+ lv_coord_t hor_res = lv_disp_get_hor_res (disp );
236
+ lv_coord_t ver_res = lv_disp_get_ver_res (disp );
234
237
235
- if (area -> x2 < 0 || area -> y2 < 0 || area -> x1 >= ILI9341_HOR_RES || area -> y1 >= ILI9341_VER_RES ) {
238
+ if (area -> x2 < 0 || area -> y2 < 0 || area -> x1 >= hor_res || area -> y1 >= ver_res ) {
236
239
lv_disp_flush_ready (drv );
237
240
return ;
238
241
}
239
242
240
243
/* Truncate the area to the screen */
241
244
int32_t act_x1 = area -> x1 < 0 ? 0 : area -> x1 ;
242
245
int32_t act_y1 = area -> y1 < 0 ? 0 : area -> y1 ;
243
- int32_t act_x2 = area -> x2 >= ILI9341_HOR_RES ? ILI9341_HOR_RES - 1 : area -> x2 ;
244
- int32_t act_y2 = area -> y2 >= ILI9341_VER_RES ? ILI9341_VER_RES - 1 : area -> y2 ;
246
+ int32_t act_x2 = area -> x2 >= hor_res ? hor_res - 1 : area -> x2 ;
247
+ int32_t act_y2 = area -> y2 >= ver_res ? ver_res - 1 : area -> y2 ;
245
248
246
249
/* Column address */
247
250
cmd [0 ] = ILI9341_CASET ;
Original file line number Diff line number Diff line change @@ -190,17 +190,20 @@ void
190
190
ili9486_flush (lv_disp_drv_t * drv , const lv_area_t * area , lv_color_t * color_p )
191
191
{
192
192
uint8_t cmd [5 ];
193
+ lv_disp_t * disp = lv_disp_get_default ();
194
+ lv_coord_t hor_res = lv_disp_get_hor_res (disp );
195
+ lv_coord_t ver_res = lv_disp_get_ver_res (disp );
193
196
194
- if (area -> x2 < 0 || area -> y2 < 0 || area -> x1 >= ILI9486_HOR_RES || area -> y1 >= ILI9486_VER_RES ) {
197
+ if (area -> x2 < 0 || area -> y2 < 0 || area -> x1 >= hor_res || area -> y1 >= ver_res ) {
195
198
lv_disp_flush_ready (drv );
196
199
return ;
197
200
}
198
201
199
202
/* Truncate the area to the screen */
200
203
int32_t act_x1 = area -> x1 < 0 ? 0 : area -> x1 ;
201
204
int32_t act_y1 = area -> y1 < 0 ? 0 : area -> y1 ;
202
- int32_t act_x2 = area -> x2 >= ILI9486_HOR_RES ? ILI9486_HOR_RES - 1 : area -> x2 ;
203
- int32_t act_y2 = area -> y2 >= ILI9486_VER_RES ? ILI9486_VER_RES - 1 : area -> y2 ;
205
+ int32_t act_x2 = area -> x2 >= hor_res ? hor_res - 1 : area -> x2 ;
206
+ int32_t act_y2 = area -> y2 >= ver_res ? ver_res - 1 : area -> y2 ;
204
207
205
208
/* Column address */
206
209
cmd [0 ] = ILI9486_CASET ;
Original file line number Diff line number Diff line change @@ -183,17 +183,20 @@ void
183
183
st7735s_flush (lv_disp_drv_t * drv , const lv_area_t * area , lv_color_t * color_p )
184
184
{
185
185
uint8_t cmd [5 ];
186
+ lv_disp_t * disp = lv_disp_get_default ();
187
+ lv_coord_t hor_res = lv_disp_get_hor_res (disp );
188
+ lv_coord_t ver_res = lv_disp_get_ver_res (disp );
186
189
187
- if (area -> x2 < 0 || area -> y2 < 0 || area -> x1 >= ST7735S_HOR_RES || area -> y1 >= ST7735S_VER_RES ) {
190
+ if (area -> x2 < 0 || area -> y2 < 0 || area -> x1 >= hor_res || area -> y1 >= ver_res ) {
188
191
lv_disp_flush_ready (drv );
189
192
return ;
190
193
}
191
194
192
195
/* Truncate the area to the screen */
193
196
int32_t act_x1 = area -> x1 < 0 ? 0 : area -> x1 ;
194
197
int32_t act_y1 = area -> y1 < 0 ? 0 : area -> y1 ;
195
- int32_t act_x2 = area -> x2 >= ST7735S_HOR_RES ? ST7735S_HOR_RES - 1 : area -> x2 ;
196
- int32_t act_y2 = area -> y2 >= ST7735S_VER_RES ? ST7735S_VER_RES - 1 : area -> y2 ;
198
+ int32_t act_x2 = area -> x2 >= hor_res ? hor_res - 1 : area -> x2 ;
199
+ int32_t act_y2 = area -> y2 >= ver_res ? ver_res - 1 : area -> y2 ;
197
200
198
201
/* Column address */
199
202
cmd [0 ] = ST7735S_CASET ;
Original file line number Diff line number Diff line change @@ -209,12 +209,20 @@ void
209
209
st7789_flush (lv_disp_drv_t * drv , const lv_area_t * area , lv_color_t * color_p )
210
210
{
211
211
uint8_t cmd [5 ];
212
+ lv_disp_t * disp = lv_disp_get_default ();
213
+ lv_coord_t hor_res = lv_disp_get_hor_res (disp );
214
+ lv_coord_t ver_res = lv_disp_get_ver_res (disp );
215
+
216
+ if (area -> x2 < 0 || area -> y2 < 0 || area -> x1 >= hor_res || area -> y1 >= ver_res ) {
217
+ lv_disp_flush_ready (drv );
218
+ return ;
219
+ }
212
220
213
221
/* Truncate the area to the screen */
214
222
int32_t offsetx1 = area -> x1 < 0 ? 0 : area -> x1 ;
215
223
int32_t offsety1 = area -> y1 < 0 ? 0 : area -> y1 ;
216
- int32_t offsetx2 = area -> x2 >= ST7789_HOR_RES ? ST7789_HOR_RES - 1 : area -> x2 ;
217
- int32_t offsety2 = area -> y2 >= ST7789_VER_RES ? ST7789_VER_RES - 1 : area -> y2 ;
224
+ int32_t offsetx2 = area -> x2 >= hor_res ? hor_res - 1 : area -> x2 ;
225
+ int32_t offsety2 = area -> y2 >= ver_res ? ver_res - 1 : area -> y2 ;
218
226
219
227
#if (CONFIG_LV_TFT_DISPLAY_OFFSETS )
220
228
offsetx1 += CONFIG_LV_TFT_DISPLAY_X_OFFSET ;
You can’t perform that action at this time.
0 commit comments