Esempio n. 1
0
int  lcd_info(int argc, char** argv)
{
    uint32_t id;
    rt_device_t lcd = rt_device_find("lcd0");
    
    rt_lcd_init(RT_NULL);
    rt_lcd_control(RT_NULL, RTGRAPHIC_CTRL_GET_INFO, &id);
    rt_kprintf("lcd controllor:0x%X\r\n", id);
    rt_kprintf("lcd size:%dx%d\r\n", LCD_X_MAX, LCD_Y_MAX);
    return RT_EOK;
}
Esempio n. 2
0
void rt_hw_lcd_init(void)
{
    _rt_framebuffer = rt_malloc_align(sizeof(rt_uint16_t) * RT_HW_LCD_HEIGHT * RT_HW_LCD_WIDTH, 32);
    if (_rt_framebuffer == RT_NULL) return; /* no memory yet */
    _lcd_info.bits_per_pixel = LCD_BITS_PER_PIXEL;
    _lcd_info.pixel_format = RTGRAPHIC_PIXEL_FORMAT_RGB565;		// RTGRAPHIC_PIXEL_FORMAT_ARGB888
    _lcd_info.framebuffer = (void *)_rt_framebuffer;
    _lcd_info.width = RT_HW_LCD_WIDTH;
    _lcd_info.height = RT_HW_LCD_HEIGHT;

    /* init device structure */
    lcd.type = RT_Device_Class_Graphic;
    lcd.init = rt_lcd_init;
    lcd.open = RT_NULL;
    lcd.close = RT_NULL;
    lcd.control = rt_lcd_control;
    lcd.user_data = (void *)&_lcd_info;

    /* register lcd device to RT-Thread */
    rt_device_register(&lcd, "lcd", RT_DEVICE_FLAG_RDWR);

    rt_lcd_init(&lcd);
}