116 lines
2.9 KiB
C
116 lines
2.9 KiB
C
#ifndef _LCD_DATA_DRIVER_H_
|
|
#define _LCD_DATA_DRIVER_H_
|
|
|
|
#if 0
|
|
#define log_info(x, ...) printf("\n[lcd_deta_driver]>>>>>>>>>>>>>>>>>>>###" x " \n", ## __VA_ARGS__)
|
|
#else
|
|
#define log_info(...)
|
|
#endif
|
|
|
|
#define FILTER_COLOR 0x000000 //图像合成过滤纯黑色
|
|
#define FILTER_COLOR_RGB565 0x0000 //图像合成过滤纯黑色
|
|
#define FILTER_COLOR_OUTER_FRAME 0xffff //外框颜色
|
|
|
|
enum lcd_turn {
|
|
LCD_TURN_90 = 0,
|
|
LCD_TURN_270,
|
|
LCD_TURN_0,
|
|
LCD_TURN_180,
|
|
};
|
|
|
|
enum lcd_show_mode {
|
|
UI,
|
|
CAMERA,
|
|
UI_CAMERA,
|
|
UI_USER,
|
|
UI_QR,
|
|
UI_RGB,
|
|
};
|
|
|
|
struct lcd_task_info {
|
|
OS_SEM yuv_sem;
|
|
OS_SEM compose_sem;
|
|
OS_SEM wait_yuv_use_ok_sem;
|
|
u8 yuv_data_use_flag;
|
|
u8 data_ok_flag;
|
|
u8 send_data_ok_flag;
|
|
u8 wait_te_ready;
|
|
u8 *lcd_data;
|
|
u8 *in_lcd_buf;
|
|
u8 *out_lcd_buf;
|
|
u8 *r_lbuf;
|
|
};
|
|
|
|
struct lcd_compose_info {
|
|
OS_SEM te_ready_sem;
|
|
u8 data_mode;
|
|
u8 turn_mode;
|
|
u8 piece;
|
|
u8 init_value;
|
|
u8 compose_mode;
|
|
u8 compose_status;
|
|
u8 aim_filter_color_l;
|
|
u8 aim_filter_color_h;
|
|
u8 lcd_bk_on;
|
|
u8 lcd_te_io;
|
|
u8 camera_data_mode;
|
|
u16 user1_y_len;
|
|
u16 user2_y;
|
|
u16 user2_y_len;
|
|
u16 start_x;//起始坐标
|
|
u16 start_y;
|
|
u16 aim_compose_w;//合成长宽
|
|
u16 aim_compose_h;
|
|
u16 ui_xstart;
|
|
u16 ui_xend;
|
|
u16 ui_ystart;
|
|
u16 ui_yend;
|
|
u16 lcd_w;
|
|
u16 lcd_h;
|
|
u32 data_size;
|
|
u32 lcd_data_size;
|
|
u32 lcd_yuv420_data_size;
|
|
u8 *ui_save_buf;
|
|
u8 *camera_save_buf;
|
|
u8 *show_buf;
|
|
u8 *out_lcd_buf;
|
|
u8 *binarization;
|
|
u8 *lbuf;
|
|
u8 *w_lbuf;
|
|
u8 task_time;
|
|
struct lbuff_head *lbuf_handle;
|
|
};
|
|
|
|
void set_lcd_data_driver_lcd_h_w(u16 lcd_w, u16 lcd_h);
|
|
void set_lcd_data_size(u32 size);
|
|
void set_lcd_yuv420_data_size(u32 size);
|
|
void set_lcd_bk_on(u8 on);
|
|
void set_lcd_te_pgio(u32 gpio);
|
|
//获取全局UI数据内存指针
|
|
u8 *get_ui_buf(void);
|
|
//获取全局camera数据内存指针
|
|
u8 *get_camera_buf(void);
|
|
//获取全局推屏数据内存指针
|
|
u8 *get_show_buf(void);
|
|
void get_data_use_flag(void);
|
|
void get_data_use_flag1(void);
|
|
void camera_send_data_ready(u8 *buf, u32 size, int width, int height);
|
|
void ui_send_data_ready(u8 *data_buf, u32 data_size);
|
|
void yuv_picture_compose(u8 *in, u8 *out, u16 w, u16 h);
|
|
void set_photo_compose_mode(u8 mode, u8 choice_show_piece);
|
|
void set_init_value(u8 set_init_value);//设置mode_7中的ui数据读取
|
|
void set_compose_mode(u8 mode, int mode1_y_len, int mode2_y, int mode2_y_len);
|
|
void set_compose_mode3(int x, int y, int w, int h);
|
|
void set_lcd_show_data_mode(enum lcd_show_mode choice);
|
|
u8 get_lcd_show_deta_mode(void);
|
|
void set_lcd_ui_x_y(u16 xstart, u16 xend, u16 ystart, u16 yend);
|
|
void set_turn_mode(enum lcd_turn mode);
|
|
u8 get_lcd_turn_mode(void);
|
|
void init_TE(void (*cb)(u8 *buf, u32 buf_size));
|
|
void picture_compose_task_init(void);
|
|
void lcd_data_free_camera_lbuf(void);
|
|
|
|
extern int get_jpeg2yuv_yuv_type(void);
|
|
|
|
#endif
|