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

📄 extend_p.h

📁 C语言源代码及相关资料
💻 H
字号:
#ifndef	__EXTEND_H
#define	__EXTEND_H

#if	PROTOCOL_EXTEND_EN>0
///////////////////////////4.4 功能扩展协议	34//////////////////////////////////////////
//4.4.1 下行数据格式	34
typedef	enum
{
	D_QueTypePhtComm				=	0x0401,	//4.4.1.1 查询指定类型照片(命令ID:0401H)	34
	D_BillSetupComm					=	0x0402,	//4.4.1.2 实时上传照片指令(命令ID:0402H)	35
	D_SetupScreenCondComm			=	0x0403,	//4.4.1.3 设置终端拍照条件(命令ID:0403H)	35
	D_RealTimeUploadPhtComm			=	0x0404,	//4.4.1.4 表单设置(命令ID:0404H)	36
	D_WorkParamQueComm				=	0x0405,	//4.4.1.5 工作参数查询(命令ID:0405H)	38
	D_WorkParamUploadCfg1Comm		=	0x0406,	//4.4.1.6 工作参数上传设置一(命令ID:0406H):(指定时间点方式)	38
	D_WorkParamUploadCfg2Comm		=	0x0407,	//4.4.1.7 工作参数上传设置二(命令ID:0407H):(指定间隔方式)	39
	D_QueLogDataComm				=	0x0408,	//4.4.1.8 查询日志数据(命令ID:0408H)	40
	D_SetupWorkParamAlarmCondComm	=	0x0409	//4.4.1.9 设置终端工作参数报警条件(命令ID:0409H)	40
} ENUM_EXTENDCOMMID_DOWN;

//////////////4.4.1 下行数据格式	34////////////////
//4.4.1.1 查询指定类型照片(命令ID:0401H)	34
typedef	struct
{
  INT16U		pht_Type;	// 查询照片类型1(根据状态位).表示设置需要定位终端拍照的类型,占用2个字节,把1个字节看作8位,最低位为0位,最高位为15位:
									//0位=1表示:求助报警照片;//1位=1表示: 发动机运行时照片;//2位=1表示:翻牌照片;//3位=1表示:ACC打开时拍照片;//4位=1表示:ACC关闭时拍照片;
  INT16U		pht_WorkParamID;	//查询照片类型2(根据工作参数.表示需要上传照片的工作参数ID,当该值等于0时,表示不查询任何工作参数照片)
  INT8U		start_Date[3];		//查询开始日期。 第一个字节代表年(2000年为0年),第二个字节代表月,第三个字节代表日
  INT8U		end_Date[3];		//查新结束日期。第一个字节代表年(2000年为0年),第二个字节代表月,第三个字节代表日

} STRU_D_QueTypePht_Comm;
//4.4.1.2 实时上传照片指令(命令ID:0402H)	35
typedef	struct
{
  INT8U		pht_UploadType;	//照片类型。0:开始上传1:结束上传
  INT8U		pht_ScreenSlot;	//拍摄间隔。 单位:秒(结束上传时为0),相机按指定间隔拍摄照片(如果间隔时间小于上传单张照片的时间,则按照实际上传照片的间隔上传照片)。
  INT16U		pht_UploadCou;		//上传的张数。取值范围0~65535,在结束上传指令中为0;等于65535时,定位终端连续上传不停止,直至接收到停止上传指令。

}STRUCT_RealTimeUploadPht_Comm;
//4.4.1.3 设置终端拍照条件(命令ID:0403H)	35
typedef	struct STRUCT_SetupScreenCond_Comm
{
	INT16U	workParamID;	//需要设置的工作参数的ID
	INT8U		screen_Type;   //拍照类型。 0:表示停止拍照;1:表示数值拍照;2:表示数值范围报拍照;
	INT8U		workParam_Len;	//工作参数值的长度。取值范围0至255
	INT8U	*	pWorkParam;		//工作参数值。 当拍照类型为数值拍照(1)时,一但达到该值即触发拍照。当拍照类型为数值范围拍照(2)时,前1/2长度为起始值,后1/2长度为结束值
	struct STRUCT_SetupScreenCond_Comm	*	pSTRUCT_SetupScreenCond_Comm;

}STRU_SetupScreenCond_Comm;
/////////////////////////////////////////////////////////////////////////////////////////////////////////

//4.4.1.4 表单设置(命令ID:0404H)	3
//根据用户要求定制的表单。每条指令设置一个表单(分段发送),多个表单分多条指令下发。此指令默认需定位终端返回命令应答。
//如定位终端新收到的表单ID与已保存的表单ID有重复,则用新的表单覆盖原有的表单。
//表A.35 	选项内容设置格式
typedef	struct   STRUCT_OptionInfo_FORM
{
	INT8U		optionInfo_ID;   //选项内容的ID。	在一个输入项中不允许重复,但在一个表单中允许重复
	INT8U		optionInfo_Len;  //选项内容的长度。
	INT8U	 *	pOptionInfo_Name; //选项内容的名称,小于40个字节。
	struct   STRUCT_OptionInfo_FORM	*	pSTRUCT_OptionInfo_FORM;

}STRU_OptionInfo_FORM;
//表A.34 	表单设置命令       表单数据//输入项结构
typedef	struct STRUCT_InputItem_FORM
{
	 INT16U		inputItem_Len;	//输入项长度  .  从"输入项长度"第一个字节开始到"选项内容"最后一个字节结束的长度
	 INT8U		inputItem_ID;	//输入项ID
	 INT8U		inputItem_Type;//输入项类型
	 INT8U		inputItem_YesNo;//可选或必选。0:必须输入。1:不必须输入
	 INT8U		inputItemName_Len;//输入项名称长度
	 INT8U  *	pInputItem_Name;	//输入项名称。小于等于40个字节
	 STRU_OptionInfo_FORM  *	pSTRU_OptionInfo_FORM;		//选项内容。输入项类型=0或1时,参见表A.35.输入项类型=2或3时,选项内容为空
	 struct	STRUCT_InputItem_FORM	*	pSTRUCT_InputItem_FORM;
}STRU_InputItem_FORM;
//表A.34 	表单设置命令       表单数据
typedef	struct
{
	 INT32U		bill_ID[4];        	//表单ID
	 INT32U		fatherBill_ID[4];	//父表单ID
	 INT8U		billName_Len;			//表单名称长度
	 INT8U	*	pBill_Name;				//表单名称  .小于等于40个字节
	 STRU_InputItem_FORM   *		pSTRU_InputItem_FORM;
} STRU_BillData_FORM;
typedef	struct
{
	INT8U		bill_Date[3];	//日期,第一个字节代表年(2000年为0年),第二个字节代表月,第三个字节代表日
	INT8U		bill_Time[3];  //时间,第一个字节代表小时,第二个字节代表分钟,第三个字节代表秒
	INT8U		segment_Cou;	//分段数 .大于UDP最大传输长度的表单数据将分多个段落传送
	INT8U		segmentID;		//段落号。范围从1~表单分段数
	STRU_BillData_FORM	*	pSTRU_BillData_FORM;
}STRU_BillSetup_Comm;
//////////////////////////////////////////////////////////////////////////////////////////////////////////


//4.4.1.5 工作参数查询(命令ID:0405H)	38
//信息内容为空,该指令默认无需定位终端应答,定位终端收到该指令后立即上传一条定位终端工作参数信息。
//typedef	STRU_U_UploadWorkParam_Comm		STRU_D_WorkParamQue_Comm;
//STRU_U_UploadWorkParam_Comm参见4.4.2.4 上传定位终端工作参数(命令ID:0504H)	46


//4.4.1.6 工作参数上传设置一(命令ID:0406H):(指定时间点方式)	38
//该指令默认需定位终端应答,定位终端收到该指令后每日按照设置的时间点发送工作参数信息。
//不设置任何时间点,则代表不定时上传工作参数,出厂默认不上传工作参数。
//注:当中心参数设置中不设置任何参数上传时,车载终端对该指令则应答失败!
//表A.36 	工作参数上传设置一指令
typedef	struct	STRUCT_TimePoint_FORM
{
	INT8U		timePoint_Hour;		//时间点的小时。取值范围0至23
	INT8U		timePoint_Minute;		//时间点的分钟。取值范围0至59
	//struct	STRUCT_TimePoint_FORM	*	pSTRUCT_TimePoint_FORM;
}STRU_TimePoint_FORM;
typedef	struct
{
	INT8U		communi_Mode;	//通信方式。0:IP方式。1:SMS方式。
	STRU_TimePoint_FORM		stru_TimePoint_FORM[240];
}STRU_WorkParamUploadCfg1_Comm;

/////////////////////////////////////////////4.4.1.6 end


//4.4.1.7 工作参数上传设置二(命令ID:0407H):(指定间隔方式)	39
//表A.37 	工作参数上传设置二指令
//该指令默认需定位终端应答。定位终端收到该指令后立即按照设置的时间间隔上传机器工作参数。
//结构同追踪指令STRU_D_TRACE_Comm   .暂定义如下。
typedef	STRU_D_Trace_Comm     STRU_WorkParamUploadCfg2_Comm;

//4.4.1.8 查询日志数据(命令ID:0408H)	40
//该指令默认需定位终端应答,当定位终端未记录日志数据时,应答失败。
typedef	struct
{
  INT8U		logData_Type;	//01表示:根据追踪参数设置间隔存储数据;.02表示: 根据工作参数上传设置间隔存储数据.03表示: 存储报警照片数据.04表示:根据压缩数据存储
  INT8U		start_Date[6];	//第一个字节代表年(2000年为0年),第二个字节代表月,第三个字节代表日,第四个字节代表小时,第五个字节代表分钟,第六个字节代表秒
  INT8U		end_Date[6];	//6个字节
}STRU_QueLogData_Comm;

//4.4.1.9 设置终端工作参数报警条件(命令ID:0409H)	40
typedef	struct  STRUCT_SetupWorkParamAlarmCond
{
  INT16U		workParam_ID;	//需要设置的工作参数的ID
  INT16U		workParam_AlarmType;	//工作参数的报警类型 。0:表示停止报警;1:表示数值报警;2:表示数值范围内报警;
  INT8U     workParam_AlarmValueLen;	//工作参数报警值的长度。取值范围0至255
  INT8U     workParam_AlarmValue;		//工作参数报警值.当报警类型为数值报警(1)时,一但达到该值即触发报警.当报警类型为数值范围报警(2)时,前1/2长度为起始值,后1/2长度为结束值
  struct	STRUCT_SetupWorkParamAlarmCond	*	pSTRUCT_SetupWorkParamAlarmCond;
}STRU_SetupWorkParamAlarmCond_Comm;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


//////////////////4.4.2 上行数据格式	41     /////////////////////
typedef	enum
{
	U_UploadPhoto1Comm			=0x0501,		//4.4.2.1 上传照片一(命令ID:0501H)	41
	U_UploadPhoto2Comm			=0x0502,		//4.4.2.2 上传照片二(命令ID:0502H)	43
	U_UploadBillInfoComm		=0x0503,		//4.4.2.3 上传表单信息(命令ID:0503H)	44
	U_UploadWorkParamComm		=0x0504,		//4.4.2.4 上传定位终端工作参数(命令ID:0504H)	46
	U_UploadLogInfoComm			=0x0505			//4.4.2.5 上传日志信息(命令ID:0505H)	49

} ENUM_EXTENDCOMMID_UP;

//4.4.2.1 上传照片一(命令ID:0501H)	41
typedef	struct
{
	STRU_U_StatusBit_FORM		*	pSTRU_U_StatusBit_FORM;	//同定位终端状态位结构体
	INT8U	  	pht_Type;	//照片类型。 1表示:实时照片;。2表示:历史照片;
	INT8U    pht_Property;	//照片属性。 0表示:实时照片;1表示:求助报警照片;2表示: 发动机运行时照片;3表示:翻牌照片;4表示:ACC打开时拍照片;5表示:ACC关闭时拍照片;
	INT8U		segment_Cou;	//照片分段数。 大于UDP最大传输长度的照片数据将分多个段落传送
	INT8U		segment_ID;	//照片段落号。 范围从1~照片分段数
	INT8U	*	pData;	//照片数据。依图像定。

}STRU_U_UploadPhoto1_Comm;
//4.4.2.2 上传照片二(命令ID:0502H)	43
typedef	struct
{
	STRU_U_StatusBit_FORM		*	pSTRU_U_StatusBit_FORM;	//同定位终端状态位结构体
	INT8U	  	pht_Type;	//照片类型。 1表示:实时照片;。2表示:历史照片;
	INT8U    workParam_ValueLen;	//工作参数值长度
	INT8U *  pWorkParam_Value;	//工作参数值
	INT8U		segment_Cou;	//照片分段数。 大于UDP最大传输长度的照片数据将分多个段落传送
	INT8U		segment_ID;	//照片段落号。 范围从1~照片分段数
	INT8U	*	pData;	//照片数据。依图像定。

}STRU_U_UploadPhoto2_Comm;
//4.4.2.3 上传表单信息(命令ID:0503H)	44
//表A.43 	表单内容设置格式
typedef	struct STRUCT_InputItem_Answ_FORM
{
	 INT16U		inputItem_Len;	//输入项长度  .  从"输入项长度"第一个字节开始到"选项内容"最后一个字节结束的长度
	 INT8U		inputItem_ID;	//输入项ID
	 INT8U		inputItem_Type;//输入项类型
	 INT8U		inputItem_YesNo;//可选或必选。0:必须输入。1:不必须输入
	 INT8U		inputItemName_Len;//输入项名称长度
	 INT8U  *	pInputItem_Name;	//输入项名称。小于等于40个字节

	 INT8U		answer_Len;		//答案长度。如果"输入项1的类型"值为1,答案长度代表用户选择选项的数量。
	 INT8U  *	pAnswer_Info;// "输入项1的类型"=0时,答案长度1个字节,代表选项内容的ID;
									//"输入项1的类型"=1时,答案长度多个字节,每个字节代表一个用户所选择的选项内容ID;
									//"输入项1的类型"=2或3时,答案长度多个字节,代表用户输入的内容;
	 STRU_OptionInfo_FORM  *	pSTRU_OptionInfo_FORM;		//选项内容。输入项类型=0或1时,参见表A.35.输入项类型=2或3时,选项内容为空
	 struct	STRUCT_InputItem_Answ_FORM	*	pSTRUCT_InputItem_Answ_FORM;
}STRU_INPUTITEM_ANSW_FORM;
//表A.42 	上传表单信息指令     表单数据
typedef	struct
{
	 INT32U		bill_ID[4];        	//表单ID
	 INT32U		fatherBill_ID[4];	//父表单ID
	 INT8U		billName_Len;			//表单名称长度
	 INT8U	*	pBill_Name;				//表单名称  .小于等于40个字节
	 STRU_INPUTITEM_ANSW_FORM   *		pSTRU_INPUTITEM_ANSW_FORM;
} STRU_BillDataAnsw_FORM;
typedef	struct
{
	STRU_U_StatusBit_FORM		*	pSTRU_U_StatusBit_FORM;	//同定位终端状态位结构体
	INT8U		segment_Cou;	//照片分段数。 大于UDP最大传输长度的照片数据将分多个段落传送
	INT8U		segment_ID;	//照片段落号。 范围从1~照片分段数
	STRU_BillDataAnsw_FORM	*	pSTRU_BillDataAnsw_FORM;	//照片数据。依图像定。

}STRU_U_UploadBillInfo_Comm;

//4.4.2.4 上传定位终端工作参数(命令ID:0504H)	46
typedef	struct WorkParam_Form
{
	INT16U		workParam_ID;	//工作参数的ID。
	INT8U		workParam_ValueLen;	//工作参数值的长度。
	INT8U    *  workParam_Value;	//工作参数值。
	//struct WorkParam_Form	*		pWorkParam_Form;
}STRU_U_WorkParam_Form;
typedef	struct
{
	STRU_U_StatusBit_FORM	*	pSTRU_U_StatusBit_FORM;	//同定位终端状态位结构体
	STRU_U_WorkParam_Form	*	pSTRU_U_WorkParam_Form;	//工作参数
}STRU_U_UploadWorkParam_Comm;
//参见4.4.1.5 工作参数查询(命令ID:0405H)	38
//信息内容为空,该指令默认无需定位终端应答,定位终端收到该指令后立即上传一条定位终端工作参数信息。
//重定义上传定位终端工作参数供4.4.1.5使用。
typedef	STRU_U_UploadWorkParam_Comm		STRU_D_WorkParamQue_Comm;
//////////////////////////////////////////////////////////////////////

//4.4.2.5 上传日志信息(命令ID:0505H)	49
typedef	struct  STRUCT_DataSegment
{
	INT16U			dataSegment_Len;	//数据段的长度
	INT8U		*	pDataSegmentInfo;	//内容是该数据的全部信息内容。
	//struct	STRUCT_DataSegment	*	pSTRUCT_DataSegment;
}STRU_DataSegment;
typedef	struct
{
	INT16U		data_CommID;	//需上传数据的命令ID。
	STRU_U_StatusBit_FORM	*	pSTRU_U_StatusBit_FORM;	//同定位终端状态位结构体
	INT8U       data_SegmentCou;	//数据总条数
	STRU_DataSegment	*	pSTRU_DataSegment;
}STRU_U_UploadLogInfo_Comm;
////////////////////////////////////////////////////////////////////////////////////////////////
#endif

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -