📄 video.h
字号:
/********************************************************************************************************/
#ifndef __CDMA_h__
#define __CDMA_h__
/********************************************************************************************************/
#ifdef HOSTVAR
#define GLOBAL
#else
#define GLOBAL extern
#endif
/********************************************************************************************************/
#define SYSINIT_TASK_STK_SIZE 256
#define DISPATCH_TASK_STK_SIZE 256
#define UART0_TASK_STK_SIZE 256
#define UART1_TASK_STK_SIZE 256
#define UART2_TASK_STK_SIZE 256
#define UART3_TASK_STK_SIZE 256
#define TIMER_TASK_STK_SIZE 64
#define ALARM_TASK_STK_SIZE 64
#define KEY_TASK_STK_SIZE 64
#define SysInitTask_PRIO 0
#define DispatchTask_PRIO 1
#define Uart0RevTask_PRIO 2
#define Uart1RevTask_PRIO 3
#define Uart2RevTask_PRIO 4
#define Uart3RevTask_PRIO 5
#define KeyInputTask_PRIO 6
#define TimerTask_PRIO 7
#define AlarmOutputTask_PRIO 9
#define QUEUE_SIZE 16
#define CHECK_DEAL_HANDEL 0
#define PIC_DEAL_HANDEL 1
#define LOGIN_DEAL_HANDEL 2
#define SEND_PIC_HANDEL 3
#define LOGIN_PIC_HANDEL 4
#define SYS_CONFIG_HANDEL 5
#define RECODE_HANDEL 6
#define DECODE_HANDEL 7
#define VIDEO_CH1 1
#define VIDEO_CH2 2
#define SUCCESS 0
#define SYN_ERROR 1
#define PACK_ERROR 2
#define CHECK_ERROR 3
#define LOGIN_ERROR 4
#define NOPIC_ERROR 5
#define ERROR 0xff
#define LOGIN_CODE 0xa0
#define UNLOGIN_CODE 0xa1
#define CALL_CODE 0xa2
#define PIC_CODE 0xa3
#define RE_PIC_CODE 0xa4
#define GPS_CODE 0xa5
#define SMS_CODE 0xa7
#define LOGIN_OK_CODE 0xb0
#define UNLOGIN_OK_CODE 0xb1
#define CALL_ECHO_CODE 0xb2
#define PIC_OK_CODE 0xb3
#define SYS_CONF_CODE 0xc0
#define KEY1 (1 << 13)
#define KEY2 (1 << 22)
#define KEY3 (1 << 23)
#define KEY4 (1 << 11)
#define PIC_LED (1 << 10)
#define PIC_COMU_LED (1 << 23)
#define PACK_SIZE 256
#define SAVE_SIZE 256
#define MAX_PIC_NUM 35
#define MAX_FLASH_PAGE 1024
#define GPS_DATA_NUM 10
/********************************************************************************************************/
typedef struct {
uint8 Train_Count;
uint8 Curr_Flag;
} TimeAlarmInfo;
typedef struct {
uint8 Data_Type;
uint8 Func_Type;
uint8 Mode_Type_Info;
uint8 Pack_Index;
uint32 Pic_Size;
uint8 Video_Order_Type;
uint8 Video_ID;
} REV_DATA;
typedef struct {
uint8 pic_index;
uint8 pic_type;
uint8 package_num;
uint16 pic_size;
void *NextPoint;
uint8 pic_buf[PACK_SIZE];
} PIC_STR; // 图片数据内存链表所对应的数据结构
typedef struct {
uint8 pic_index; // 表示第几张图片
uint8 package_num; // 表示本张图片由几包组成
uint8 package_index; // 表示这是本张图片的第几包
uint16 pic_size; // 本包图片的大小
uint8 rev_data_buf[3]; // 预留数据buf
uint8 pic_buf[SAVE_SIZE]; // 本包图片信息
} PIC_FLASH; // 存储在AT45DB021中图片页数据所对应的数据结构
typedef struct {
uint16 pic_flash_begin_page; // 图片在flash开始页
uint16 pic_flash_end_page; // 图片在flash结束页
} PIC_FLASH_STR;
typedef struct {
uint8 magic_code[8]; // 为"GPRSCDMA"表示flash中的数据有效
uint8 mode_type; // 模块类型,为1表示G网模块,为2表示C网模块
uint8 dev_code[6]; // 设备唯一编号
uint8 local_tel_num[11]; // 本机电话号
uint8 tag_num[8]; // 车牌号
uint8 sms_tel_num[11]; // 接收短信端电话号
uint8 alarm_tel_num[11]; // 呼叫电话号
uint8 net_config[20]; // 服务器域名和端口号
uint8 alarm_tel_size;
uint8 net_config_size;
uint8 reserved_field[18]; // 预留字段
uint16 flash_valid_begin_page; // 有效开始页
uint16 flash_free_begin_page; // 空闲开始页
PIC_FLASH_STR pic_str_arry[MAX_PIC_NUM];
uint8 flash_pic_num; // flash中图片的个数
uint8 reserved_area[15]; // 预留区域
} FLASH_INDEX; // 存储在CAT1024中图片索引数据所对应的数据结构
typedef struct //GPS的数据结构
{
uint8 Gps_Flag; // 用于描述GPS定位数据的合法性,为0数据无效,为1数据有效
uint8 Latitude_Size;
uint8 Longitude_Size;
uint8 Velocity_Size;
uint8 Angle_Size;
uint8 Time_Buf[6]; // 时间信息
uint8 Latitude_Buf[12]; // 纬度信息
uint8 Longitude_Buf[12]; // 经度信息
uint8 Velocity_Buf[8]; // 速度信息
uint8 Angle_Buf[3]; // 方向角信息
} GPS_DATA;
typedef void (*api_uart_write)(uint8 *Data, uint16 NByte);
/********************************************************************************************************/
#define PIC_BUF_NUM 5
#define PIC_BUF_SIZE sizeof(PIC_STR)
/********************************************************************************************************/
GLOBAL OS_STK SysInitTask_stack[SYSINIT_TASK_STK_SIZE];
GLOBAL OS_STK DispatchTask_stack[DISPATCH_TASK_STK_SIZE];
GLOBAL OS_STK Uart0Task_stack[UART0_TASK_STK_SIZE];
GLOBAL OS_STK Uart1Task_stack[UART1_TASK_STK_SIZE];
GLOBAL OS_STK Uart2Task_stack[UART2_TASK_STK_SIZE];
GLOBAL OS_STK Uart3Task_stack[UART3_TASK_STK_SIZE];
GLOBAL OS_STK TimerTask_stack[TIMER_TASK_STK_SIZE];
GLOBAL OS_STK AlarmOutputTask_stack[ALARM_TASK_STK_SIZE];
GLOBAL OS_STK KeyInputTask_stack[KEY_TASK_STK_SIZE];
GLOBAL OS_EVENT *Data_Rev_Queue;
GLOBAL OS_EVENT *VideoMbox;
GLOBAL OS_EVENT *ListSem;
GLOBAL OS_EVENT *EchoMbox;
GLOBAL OS_EVENT *Uart0_Sem;
GLOBAL OS_EVENT *VoiceMbox;
GLOBAL OS_MEM *Pic_Mem;
GLOBAL PIC_STR Pic_Data_Buf[PIC_BUF_NUM]; //定义图片数据包内存管理二维数组
GLOBAL PIC_STR *Pic_Head, *Pic_Tail; //图片数据包内存链表头和尾
GLOBAL void *Queue[QUEUE_SIZE];
GLOBAL uint8 Pic_Rev_Flag;
GLOBAL uint8 Pic_Index;
GLOBAL uint8 Alarm_flag;
GLOBAL uint8 Login_flag; // 为0表示通信模块处于掉线状态,为1表示通信模块处于上线状态
GLOBAL uint8 Pic_Time_flag; // 图片定时采集标志,为1表示启动图片定时采集
GLOBAL FLASH_INDEX Flash_Index_Data;
GLOBAL GPS_DATA Rev_GPS_Data;
GLOBAL GPS_DATA History_GPS_Data[GPS_DATA_NUM];
GLOBAL uint8 GPS_Data_Index;
GLOBAL uint8 GPS_Data_Size;
GLOBAL uint8 GPS_Send_Index;
GLOBAL uint8 Alarm_Status;
GLOBAL uint16 Voice_Buf[2][132];
GLOBAL uint8 Voice_Status; // 0x00:表示系统处于既不录音也不放音的工作状态。
// 0x01:表示系统处于录音工作状态
// 0x02:表示系统处于放音工作状态
GLOBAL uint8 voice_index;
GLOBAL uint8 pack_count;
GLOBAL uint16 voice_page_count;
#endif
/********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -