Fix LCD shield output

This commit is contained in:
Kwabena W. Agyeman 2020-10-24 09:59:38 -07:00
parent dcf141192e
commit e49e01e852

View File

@ -329,12 +329,13 @@ static mp_obj_t py_lcd_display(uint n_args, const mp_obj_t *args, mp_map_t *kw_a
uint8_t pixel = IM_GET_GS_PIXEL(arg_img, (rect.x + j), (rect.y + i)); uint8_t pixel = IM_GET_GS_PIXEL(arg_img, (rect.x + j), (rect.y + i));
line[j] = COLOR_Y_TO_RGB565(pixel); line[j] = COLOR_Y_TO_RGB565(pixel);
} }
lcd_write_data(rect.w*2, (uint8_t *) line);
} else { } else {
lcd_write_data(rect.w*2, (uint8_t *) for (int j=0; j<rect.w; j++) {
(((uint16_t *) arg_img->pixels) + uint16_t pixel = IM_GET_RGB565_PIXEL(arg_img, (rect.x + j), (rect.y + i));
((rect.y + i) * arg_img->w) + rect.x)); line[j] = __REV16(pixel);
}
} }
lcd_write_data(rect.w*2, (uint8_t *) line);
if (r_pad) { if (r_pad) {
lcd_write_data(r_pad*2, zero); // r_pad < width lcd_write_data(r_pad*2, zero); // r_pad < width
} }