8080 LCD
1 Introduction
The project is verified mcu interface display function,randoms color are displayed every second after power on
2 Code Path
demo path:
./projects/peripheral/lcd_8080
3.Code explanation
compile commands:
make bk7258 PROJECT=peripheral/lcd_8080
Attention
how to config LCD RGB interface or MCU 8080 is configed by cd_device_t member “type”
LCD conifig by default:
const lcd_device_t lcd_device_st7796s =
{
.id = LCD_DEVICE_ST7796S,
.name = "st7796s",
.type = LCD_TYPE_MCU8080,
.ppi = PPI_320X480,
.mcu = &lcd_mcu,
.init = lcd_st7796s_init,
.lcd_off = st7796s_lcd_off,
};
the another params:
pixel_format_t src_fmt; /**< source data format: input to display module data format(rgb565/rgb888/yuv)*/
pixel_format_t out_fmt; /**< display module output data format(rgb565/rgb666/rgb888), input to lcd device,*/
is the same function as to the following API:
lcd_hal_rgb_set_in_out_format(src_fmt, out_fmt);
LCD MCU config step
step 1: open lcd
media_app_lcd_pipeline_disp_open
media_app_lcd_example_display
step 2:malloc psram
frame_buffer_display_malloc
after psram malloc, should config frame:
uint32_t size = ppi_to_pixel_x(lcd_open->device_ppi) * ppi_to_pixel_y(lcd_open->device_ppi) * 2;
frame = frame_buffer_display_malloc(size);
frame->width = ppi_to_pixel_x(lcd_open->device_ppi);
frame->height = ppi_to_pixel_y(lcd_open->device_ppi);
frame->fmt = PIXEL_FMT_RGB565;
step 3:fill color
lcd_fill_rand_color
step 4:display request
lcd_display_frame_request
step 5:cycle step2-4