Files
OpenTXW81X/sdk/app/app_lcd/app_lcd.h
T
2025-08-27 09:51:58 +01:00

40 lines
1.1 KiB
C

#ifndef __APP_LCD_H
#define __APP_LCD_H
#include "sys_config.h"
#include "typesdef.h"
#include "stream_frame.h"
#include "hal/lcdc.h"
#include "hal/spi.h"
struct app_lcd_s
{
stream *encode_osd_s;
stream *osd_show_s;
stream *video_p1_s;
stream *video_p0_s;
struct lcdc_device *lcd_dev;
//只有thread_hdl退出后,才可以休眠
void *thread_hdl;
void *line_buf;
uint16_t w,h;
uint16_t screen_w,screen_h;
uint8_t line_buf_num;
uint8_t rotate;
uint8_t video_rotate;
uint8_t hardware_auto_ks:1; //由应用层写入,由lcd模块读取
uint8_t get_auto_ks:1; //由应用层去读取,由lcd的模块去设置
uint8_t hardware_ready:1;
uint8_t thread_exit:1;
};
extern struct app_lcd_s lcd_msg_s;
void lcd_arg_setting(uint16_t w,uint16_t h,uint8_t rotate,uint16_t screen_w,uint16_t screen_h,uint8_t video_rotate);
void lcd_driver_init(void *s1,void *s2,void *s3,void *s4);
void wait_lcd_exit();
void lcd_driver_reinit();
void lcd_hardware_init(uint16_t *w,uint16_t *h,uint8_t *rotate,uint16_t *screen_w,uint16_t *screen_h,uint8_t *video_rotate);
uint8_t g_read_hardware_auto_ks();
uint8_t g_set_hardware_auto_ks(uint8_t en);
#endif