⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 video.h

📁 在LPC2132的ARM处理器上
💻 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 + -