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

📄 traffic_.h

📁 C语言源代码及相关资料
💻 H
字号:
#ifndef		__TRAFFIC_H
#define		__TRAFFIC_H
#if	PROTOCOL_TRAFFIC_EN>0
//////////////////////////////////////////4.5 交通运输物流客运类专用类协议	50//////////////////////////
//4.5.1 下行数据格式	50
typedef	enum
{
	D_CreateRoundAreaComm					=0x0801,		//4.5.1.1 设置圆型区域(命令ID:0801H)	50
	D_DeleteRoundAreaComm					=0x0802,		//4.5.1.2 删除圆型区域(命令ID:0802H)	51
	D_CreateRectAreaComm					=0x0803,		//4.5.1.3 设置矩形区域(命令ID:0803H)	52
	D_DeleteRectAreaComm					=0x0804,		//4.5.1.4 删除矩型区域(命令ID:0804H)	53
	D_CreatePolygonAreaComm					=0x0805,		//4.5.1.5 设置多边形区域(命令ID:0805H)	53
	D_DeletePolygonAreaComm					=0x0806,		//4.5.1.6 删除多边形区域(命令ID:0806H)	54
	D_CreateRouteAreaComm					=0x0807,		//4.5.1.7 设置路线区域(命令ID:0807H)	54
	D_DeleteRouteAreaComm					=0x0808,		//4.5.1.8 删除路线区域(命令ID:0808H)	55
	D_SetupCompressRevertComm				=0x0809,		//4.5.1.9 设置压缩回传(命令ID:0809H)	56
	D_SetupDriverIDComm						=0x080A,		//4.5.1.10 设置驾驶员ID(命令ID:080AH)	56
	D_CenterNavigationComm					=0x080B,		//4.5.1.11 中心导航指令(命令ID:080BH)	57
	D_SendoutMobileTextInfoComm				=0x080C,		//4.5.1.12 下发手机文本信息(命令ID:080CH)	58
	D_SendoutMobileSchedulerInfoComm		=0x080D			//4.5.1.13 下发手机调度信息(命令ID:080DH)	58
}ENUM_TrafficCommID_DOWN;

//4.5.1.1 设置圆型区域(命令ID:0801H)	50
typedef	struct
{
	INT16U  	area_ID;				//区域ID
	INT16U		area_Property;		//区域属性
	//区域属性:
	//位	标志
	//0	1:根据时间(设置的起始及结束时间)
	//1	1:限速(根据设置的最高速度及超速持续时间)
	//2	1:进区域报警给驾驶员
	//3	1:进区域报警给平台
	//4	1:出区域报警给驾驶员
	//5	1:出区域报警给平台
	//6~15	保留
	INT8U		center_Latitude[4];	//中心点纬度  .  纬度×1000000
	INT8U		center_Longitude[4];	//中心点经度 .   经度×1000000
	INT8U		radius[4];			//半径。
	INT8U		strart_Time[3];	//起始时间。  表示区域生效每天的开始时间,第一个字节代表小时,第二个字节代表分钟,第三个字节代表秒
	INT8U		end_Time[3];		//结束时间。
	INT8U		tipTop_Speed;		//最高速度。  单位:KM/H
	INT16U		overSpeed_Duration;	//超速持续时间。单位:秒
}STRU_AreaItem_Form;
typedef	struct
{
  INT16U		area_Cou;	//区域数。
  STRU_AreaItem_Form	*	pSTRU_AreaItem_Form;	//<500.总长度不超过500个字节,否则用多条指令。

}STRU_D_CreateRoundArea_Comm;

//4.5.1.2 删除圆型区域(命令ID:0802H)	51
typedef	struct
{
  INT8U			area_Cou;	//区域数。本条指令中包含的区域数,不超过125,多于125用多条消息,0为删除所有圆形区域
  INT16U	*	pArea_ID;		//区域ID1~N.

}STRU_D_DeleteRoundArea_Comm;
//4.5.1.3 设置矩形区域(命令ID:0803H)	52
typedef	struct
{
	INT16U  	area_ID;				//区域ID
	INT16U		area_Property;		//区域属性
	//区域属性:
	//位	标志
	//0	1:根据时间(设置的起始及结束时间)
	//1	1:限速(根据设置的最高速度及超速持续时间)
	//2	1:进区域报警给驾驶员
	//3	1:进区域报警给平台
	//4	1:出区域报警给驾驶员
	//5	1:出区域报警给平台
	//6~15	保留
	INT8U		LeftUp_Latitude[4];	//左上点纬度  .  纬度×1000000
	INT8U		LeftUp_Longitude[4];	//左上点纬度经度 .   经度×1000000
	INT8U		LeftDown_Latitude[4];	//左上点纬度  .  纬度×1000000
	INT8U		LeftDown_Longitude[4];	//左上点纬度经度 .   经度×1000000
	INT8U		radius[4];			//半径。
	INT8U		strart_Time[3];	//起始时间。  表示区域生效每天的开始时间,第一个字节代表小时,第二个字节代表分钟,第三个字节代表秒
	INT8U		end_Time[3];		//结束时间。
	INT8U		tipTopSpeed;		//最高速度。  单位:KM/H
	INT16U		overSpeedDuration;	//超速持续时间。单位:秒
}STRU_RectAreaItem_Form ;
typedef	struct
{
  INT16U		area_Cou;	//区域数。
  STRU_RectAreaItem_Form	*	pSTRU_RectAreaItem_Form;	//<500.总长度不超过500个字节,否则用多条指令。

}STRU_D_CreateRectArea_Comm;

//4.5.1.4 删除矩型区域(命令ID:0804H)	53
typedef	STRU_D_DeleteRoundArea_Comm	STRU_D_DeleteRectArea_Comm;

//4.5.1.5 设置多边形区域(命令ID:0805H)	53
//顶点项内容
typedef	struct
{
	INT8U		top_Latitude[4];	// 纬度×1000000
	INT8U		top_Longitude[4];	// 经度×1000000
}STRU_TopItem_Form;
typedef	struct
{
	INT16U  	area_ID;				//区域ID
	INT16U		area_Property;		//区域属性
	//区域属性:
	//位	标志
	//0	1:根据时间(设置的起始及结束时间)
	//1	1:限速(根据设置的最高速度及超速持续时间)
	//2	1:进区域报警给驾驶员
	//3	1:进区域报警给平台
	//4	1:出区域报警给驾驶员
	//5	1:出区域报警给平台
	//6~15	保留
	INT8U		strart_Time[3];	//起始时间。  表示区域生效每天的开始时间,第一个字节代表小时,第二个字节代表分钟,第三个字节代表秒
	INT8U		end_Time[3];		//结束时间。
	INT8U		tipTopSpeed;		//最高速度。  单位:KM/H
	INT16U		overSpeedDuration;	//超速持续时间。单位:秒
	INT16U		areaTop_cou;		//区域总顶点数
	INT8U		segment_Cou;		//分段数
	INT8U		segment_ID;			//段号
	STRU_TopItem_Form		*	pSTRU_TopItem_Form;		//顶点项1~n

}STRU_D_CreatePolygonArea_Comm;

//4.5.1.6 删除多边形区域(命令ID:0806H)	54
typedef	STRU_D_DeleteRoundArea_Comm      STRU_D_DeletePolygonArea_Comm;

//4.5.1.7 设置路线区域(命令ID:0807H)	54
typedef	struct
{
	INT16U  	area_ID;				//区域ID
	INT16U		area_Property;		//区域属性
	//区域属性:
	//位	标志
	//0	1:根据时间(设置的起始及结束时间)
	//1	1:限速(根据设置的最高速度及超速持续时间)
	//2	1:进区域报警给驾驶员
	//3	1:进区域报警给平台
	//4	1:出区域报警给驾驶员
	//5	1:出区域报警给平台
	//6~15	保留
	INT8U		strart_Time[3];	//起始时间。  表示区域生效每天的开始时间,第一个字节代表小时,第二个字节代表分钟,第三个字节代表秒
	INT8U		end_Time[3];		//结束时间。
	INT8U		tipTopSpeed;		//最高速度。  单位:KM/H
	INT16U		overSpeedDuration;	//超速持续时间。单位:秒
	INT16U		routeWidth;			//路段宽度
	INT16U		areaInflexion_cou;		//区域总拐点数
	INT8U		segment_Cou;		//分段数
	INT8U		segment_ID;			//段号
	STRU_TopItem_Form		*	pSTRU_InflexionItem_Form;		//拐点项1~n

}STRU_D_CreateRouteArea_Comm;

//4.5.1.8 删除路线区域(命令ID:0808H)	55
typedef	STRU_D_DeleteRoundArea_Comm      STRU_D_DeleteRouteArea_Comm;

//4.5.1.9 设置压缩回传(命令ID:0809H)	56
typedef	struct
{
	INT8U		compressRevertData;	// 需压缩回传的数据.  00:表示定位数据.01:表示带工作参数的定位数据
	INT8U    	accIn_CompressTimeSlot;		//压缩的时间间隔(ACC开).单位秒,最小为1秒。
	INT8U    	accOut_CompressTimeSlot;	//压缩的时间间隔(ACC关).单位秒,最小为1秒。
	INT8U		compress_PlaceCou;	//每包压缩的位置数。		表示一个数据包可以包含的压缩位置的数量,表示范围10~33,默认值为33。
	INT16U		compressRevert_Cou;	//压缩回传的次数.     表示需要压缩回传的次数,当改值为FFFFH时表示连续不断的回传,当该值为0000H表示停止发送。
}STRU_D_SetupCompressRevert_Comm;
//4.5.1.10 设置驾驶员ID(命令ID:080AH)	56
typedef	struct    STRU_D_SetupDriverID_Form
{
	INT8U  		driverID_Len;	//驾驶员ID的长度。
	INT8U	 *	pDriverID;		//驾驶员ID。  ASCII码表示,驾驶员1的ID
	INT8U		driverLoginMobile_Len;	// 驾驶员ID1登陆手机号长度
	INT8U	 * 	pDriverLoginMobile;	// ASCII码表示,驾驶员1的手机号
	//struct	STRU_D_SetupDriverID_Form	*	pSTRU_D_SetupDriverID_Form;
}STRU_D_SetupDriverID_Comm;

//4.5.1.11 中心导航指令(命令ID:080BH)	57
typedef	struct
{
	INT8U			top_Latitude[4];	// 纬度×1000000
	INT8U			top_Longitude[4];	// 经度×1000000
	INT32U			statusBit;    		//待定。

}STRU_DataPackage_Form;
typedef	struct
{
	INT8U			strart_Time[3];	//起始时间。  表示区域生效每天的开始时间,第一个字节代表小时,第二个字节代表分钟,第三个字节代表秒
	INT8U			end_Time[3];		//结束时间。
	INT8U			dataPackage_Cou;	//数据包条数。 数值范围 0-15,纬度、经度、状态位组成一条数据包
	STRU_DataPackage_Form	*	pSTRU_DataPackage_Form;
	INT8U		*	pDisplayInfo;	//显示信息。用ASCII码表示,长度小于256个字节。用于传送用户信息。

}STRU_D_CenterNavigation_Comm;

//4.5.1.12 下发手机文本信息(命令ID:080CH)	58
typedef	STRU_D_DownTextInfo_Comm	STRU_D_SendoutMobileTextInfo_Comm;

//4.5.1.13 下发手机调度信息(命令ID:080DH)	58
typedef	struct
{
	INT16U		*	pAnsw_SeqID;	//取值范围:00H-FFFFH,这条信息的序列号,用户返回的时候会返回这个序列号, 采用Unicode编码方式
	INT8U		*	pListSeparator;		//":" 采用Unicode位编码方式
	INT16U		*	pTextInfo;		//<200采用Unicode位编码方式
}STRU_D_SendoutMobileSchedulerInfo_Comm;


//4.5.2 上行数据格式	59
typedef	enum
{
	U_PassInAndOut_RouteAlarmComm		=0x0901,		//4.5.2.1 进出区域/路线报警指令(命令ID:0901H)	59
	U_UploadCompressRevertComm			=0x0902,		//4.5.2.2 上传压缩回传信息(命令ID:0902H)	60
	U_UploadDriverInfoComm				=0x0903,		//4.5.2.3 上传驾驶员信息(命令ID:0903H)	63
	U_UploadMobileSMSInfoComm			=0x0904,		//4.5.2.4 上传手机短信信息(命令ID:0904H)	64
	U_BlindSectionRepairComm			=0x0905		//4.5.2.5 盲区补偿(命令ID:0905H)	65
}ENUM_TrafficCommID_UP;
//4.5.2.1 进出区域/路线报警指令(命令ID:0901H)	59
typedef	struct
{
	INT8U		areaType;	//区域类型	1	1:圆型区域;2:矩形区域;3:多边形区域;4:路线
	INT16U		areaOrRoute_ID;	// 区域或线路ID	2
	INT8U		inOut;		// 方向	1	0:进;1:出
	STRU_U_StatusBit_FORM	*	pSTRU_U_StatusBit_FORM;

}STRU_U_PassInAndOut_RouteAlarm_Comm;
//4.5.2.2 上传压缩回传信息(命令ID:0902H)	60
typedef	struct  
{
	INT16U			latitude;  	//压缩点2的经纬度值(两个字节bit15~bit0)的最低位bit15表示正负值:为0表示此值为正,直接加上压缩点1经纬度值即为当前的经纬度值,
	INT16U			longitude;	//如果为1则表示此值为负,压缩点1经纬度减去此数为当前的经纬度。
	INT8U			speed;		  	//速度,单位:公里/小时,表示范围0~255。从GPS模块接收处理后的速度
	INT8U			direction;		//正北方向为0度,顺时针增加,单位:2度,数值范围0~180。
	INT16U			heightAboveSeaLevel;//海拔高度,单位:米,
					//????高位第一位表示正负高度,为1表示海拔为正高度,为0表示海拔为负高度,表示范围-32767~32767米。
	//INT8U			dateTime[6];	//第一个字节代表年(2000年为0年),第二个字节代表月,第三个字节代表日,第四个字节代表小时,第五个字节代表分钟,第六个字节代表秒
	INT32U			statusBit;	//用来表示定位终端的各种状态信息。
}STRUCT_CompressPointStatusBit_Form;
typedef	struct  STRUCT_CompressPoint_Form
{
	INT8U			compressPoint_DataLen;  //压缩点1数据长度	1
	STRUCT_CompressPointStatusBit_Form	*	pSTRUCT_CompressPointStatusBit_Form;
	INT8U		*	pCompressPoint_WorkParam;//压缩点1工作参数	不定	如果设置工作数据,需上传
	struct		STRUCT_CompressPoint_Form		*		pSTRUCT_CompressPoint_Form;

}STRU_CompressPoint_Form;
typedef	struct
{
	INT16U			commID;	// 数据命令ID	2	需上传数据的命令ID
	INT8U    		accIn_CompressTimeSlot;		//压缩的时间间隔(ACC开).单位秒,最小为1秒。  该值与中心下发的设定压缩回传参数中的值相等
	INT8U    		accOut_CompressTimeSlot;	//压缩的时间间隔(ACC关).单位秒,最小为1秒。
	INT8U			datumMark_DataLen;	//基准点数据长度	1
	STRU_U_StatusBit_FORM	*	pSTRU_U_StatusBit_FORM;
	INT8U		*	pDatumMark_WorkParam;	//基准点工作参数	不定	如果设置工作数据,需上传
	STRU_CompressPoint_Form		*	pSTRU_CompressPoint_Form;

}STRU_U_UploadCompressRevert_Comm;

//4.5.2.3 上传驾驶员信息(命令ID:0903H)	63
typedef	struct
{
	STRU_U_StatusBit_FORM	*	pSTRU_U_StatusBit_FORM;
	INT8U			driverID_Len;    //驾驶员ID长度	1	驾驶员所选择的菜单ID
	INT8S		*  pDriverID;       //驾驶员ID	不定	ASCII码表示
	INT8U			mobileNum_Len;   //驾驶员手机号长度	1
	INT8S		*	pMobileNum;       //驾驶员手机号	不定	ASCII码表示
	INT8S		*	pMobile_SMSInfo;  //手机短信内容	…

}STRU_U_UploadDriverInfo_Comm;
//4.5.2.4 上传手机短信信息(命令ID:0904H)	64
typedef 	STRU_U_UploadDriverInfo_Comm		STRU_U_UploadMobileSMSInfo_Comm;


//4.5.2.5 盲区补偿(命令ID:0905H)	65		同//4.4.2.5 上传日志信息(命令ID:0505H)	49
typedef		STRU_U_UploadLogInfo_Comm		STRU_U_BlindSectionRepair_Comm;
/////////////////////////////////////////////////////////////////////////////////////////////////
#endif

#endif


⌨️ 快捷键说明

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