1 
2 /*
3  * Copyright (c) 2006-2021, RT-Thread Development Team
4  *
5  * SPDX-License-Identifier: Apache-2.0
6  *
7  * Change Logs:
8  * Date           Author         Notes
9  * 2020-11-09     bigmagic       first version
10  */
11 #ifndef __LCD_CONSOLE_H__
12 #define __LCD_CONSOLE_H__
13 
14 #include <rtthread.h>
15 
16 #define RGB(r, g, b) ((((r))<<16) | (((g))<<8) | ((b)))
17 #define COLOR_BLACK RGB(0, 0, 0)
18 #define COLOR_GREEN RGB(0, 255, 0)
19 #define COLOR_CYAN RGB(0, 255, 255)
20 #define COLOR_RED RGB(255, 0, 0)
21 #define COLOR_YELLOW RGB(255, 255, 0)
22 #define COLOR_WHITE RGB(255, 255, 255)
23 
24 #define CONSOLE_WHITE_32 COLOR_WHITE
25 #define CONSOLE_BLACK_32 COLOR_BLACK
26 #define CONSOLE_GREEN_32 COLOR_GREEN
27 #define CONSOLE_CYAN_32 COLOR_CYAN
28 #define CONSOLE_RED_32 COLOR_RED
29 
30 
31 #define RGB16(r, g, b) ((((r))<<11) | (((g))<<5) | ((b)))
32 #define CONSOLE_YELLOW_16 RGB16(0x1f,0x3f,0)
33 #define CONSOLE_WHITE_16 RGB16(0x1f,0x3f,0x1f)
34 #define CONSOLE_BLACK_16 RGB16(0,0,0)
35 #define CONSOLE_GREEN_16 RGB16(0,0x3f,0)
36 #define CONSOLE_CYAN_16 RGB16(0,0x3f,0x1f)
37 #define CONSOLE_RED_16 RGB16(0x1f,0,0)
38 
39 typedef struct
40 {
41     rt_uint32_t width;
42     rt_uint32_t height;
43     rt_uint32_t vwidth;
44     rt_uint32_t vheight;
45     rt_uint32_t pitch;
46     rt_uint32_t depth;
47     rt_uint32_t fore;
48     rt_uint32_t back;
49     rt_uint32_t x;
50     rt_uint32_t y;
51     rt_uint32_t vaddr;
52     rt_uint32_t paddr;
53     rt_uint32_t size;
54 } fb_t;
55 
56 void fb_print(char *s);
57 int lcd_console_init(void);
58 
59 #endif//CONSOLE
60