📄 extend_p.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 + -