📄 param.c
字号:
0x0101, //里程数 占用4个字节,数值范围0~4294967295,单位:米。
0x0102, //油箱油位值 占用2个字节, 数值范围0~65535 单位:0.001V
0x0103, //GSM信号强度 占用1个字节,数值范围0~31
0x0104, //喷油累计时间 占用4个字节,数值范围0~4294967295,单位:mS
0x0105, //温度值(无线) 占用3个字节,具体详见表A.46
0x0106, //油箱油位值(无线) 占用2个字节, 数值范围0~65535 单位:0.01V
0x0107, //脉冲(1)信号个数 占用4个字节,数值范围0~4294967295,单位:千个
0x0108, //湿度值(无线) 占用2个字节,具体详见表A.47
0x0109, //0109H 油箱1油位百分比 占用1个字节,表示当前油位的百分比 单位:% 取值范围:0-100
0x0111, //0111H 无线温度值1 具体详见表A.48
0x0112, //0112H 无线温度值2 具体详见表A.48
0x0113, //0113H 无线温度值3 具体详见表A.48
0x0114, //0114H 无线温度值4 具体详见表A.48
//数据传输类工作参数(第一个字节为O2H)
0x0200, //数据传输1 详细参见每批次采购技术状态
/////////////////////////////////////////////////数据长度///////////////////////////
//开关量类工作参数(第一个字节为OOH)
0x0001, //开关量1 占用1个字节,0表示未连接;1表示关闭;2表示打开;
0x0001, //开关量2 占用1个字节,0表示未连接;1表示关闭;2表示打开;
0x0001, //开关量3 占用1个字节,0表示未连接;1表示关闭;2表示打开;
0x0001, //开关量4 占用1个字节,0表示未连接;1表示关闭;2表示打开;
0x0001, //开关量5 占用1个字节,0表示未连接;1表示关闭;2表示打开;
0x0001, //开关量6 占用1个字节,0表示未连接;1表示关闭;2表示打开;
0x0001, //开关量7 占用1个字节,0表示未连接;1表示关闭;2表示打开;
0x0001, //开关量8 占用1个字节,0表示未连接;1表示关闭;2表示打开;
0x0001, //开关量9 占用1个字节,0表示未连接;1表示关闭;2表示打开;
0x0001, //开关量10 占用1个字节,0表示未连接;1表示关闭;2表示打开;
0x0001, //开关量11 占用1个字节,0表示未连接;1表示关闭;2表示打开;
0x0001, //开关量12 占用1个字节,0表示未连接;1表示关闭;2表示打开;
0x0001, //开关量13 占用1个字节,0表示未连接;1表示关闭;2表示打开;
0x0001, //开关量14 占用1个字节,0表示未连接;1表示关闭;2表示打开;
0x0001, //开关量15 占用1个字节,0表示未连接;1表示关闭;2表示打开;
0x0001, //开关量16 占用1个字节,0表示未连接;1表示关闭;2表示打开;
0x0006, /*0011H 无线开关量1 占用6个字节,格式如下:
起始字节 字段 长度(字节) 说明
7 传感器ID 4 4个字节
13 开关量 1 00表示关闭,11表示打开
14 电池状态 1 00表示正常,11表示低电压报警
*/
0x0006,/*0012H 无线开关量2 占用6个字节,格式如下:
起始字节 字段 长度(字节) 说明
7 传感器ID 4 4个字节
13 开关量 1 00表示关闭,11表示打开
14 电池状态 1 00表示正常,11表示低电压报警
*/
0x0006,/*0013H 无线开关量3 占用6个字节,格式如下:
起始字节 字段 长度(字节) 说明
7 传感器ID 4 4个字节
13 开关量 1 00表示关闭,11表示打开
14 电池状态 1 00表示正常,11表示低电压报警
*/
0x0006,/*0014H 无线开关量4 占用6个字节,格式如下:
起始字节 字段 长度(字节) 说明
7 传感器ID 4 4个字节
13 开关量 1 00表示关闭,11表示打开
14 电池状态 1 00表示正常,11表示低电压报警
*/
0x0006,/*0015H 无线开关量5 占用6个字节,格式如下:
起始字节 字段 长度(字节) 说明
7 传感器ID 4 4个字节
13 开关量 1 00表示关闭,11表示打开
14 电池状态 1 00表示正常,11表示低电压报警
*/
0x0006,/*0016H 无线开关量6 占用6个字节,格式如下:
起始字节 字段 长度(字节) 说明
7 传感器ID 4 4个字节
13 开关量 1 00表示关闭,11表示打开
14 电池状态 1 00表示正常,11表示低电压报警
*/
//数值类工作参数(第一个字节为O1H)
0x0004, //ACC累计时间 占用4个字节,数值范围0~4294967295,单位:秒。
0x0004, //里程数 占用4个字节,数值范围0~4294967295,单位:米。
0x0002, //油箱油位值 占用2个字节, 数值范围0~65535 单位:0.001V
0x0001, //GSM信号强度 占用1个字节,数值范围0~31
0x0004, //喷油累计时间 占用4个字节,数值范围0~4294967295,单位:mS
0x0003, //温度值(无线) 占用3个字节,具体详见表A.46
0x0002, //油箱油位值(无线) 占用2个字节, 数值范围0~65535 单位:0.01V
0x0004, //脉冲(1)信号个数 占用4个字节,数值范围0~4294967295,单位:千个
0x0002, //湿度值(无线) 占用2个字节,具体详见表A.47
0x0001, //0109H 油箱1油位百分比 占用1个字节,表示当前油位的百分比 单位:% 取值范围:0-100
0x0008, //0111H 无线温度值1 具体详见表A.48
0x0008, //0112H 无线温度值2 具体详见表A.48
0x0008, //0113H 无线温度值3 具体详见表A.48
0x0008, //0114H 无线温度值4 具体详见表A.48
//数据传输类工作参数(第一个字节为O2H)
0x0002, //数据传输1 详细参见每批次采购技术状态
};
///////终端使用,无须上报,自定义参数
INT16U const CUSTOM_PARAMS[CUSTOM_PARAMS_COUNT*2]={
///////////自定义参数ID
///追踪参数
0x0000, //通信方式 占用1个字节:
0x0001, //时间间隔(ACC开) 2 单位:秒,最小为0,默认为0秒
0x0002, //时间间隔(ACC关) 2 单位:秒,最小为0,默认为0秒
0x0003, //距离间隔 2 单位:米,最小为0,默认为0,最大为65535米
0x0004, //记录保存里程数及ACC的当前扇区号,2个字节
0x0005, //系统第一次启动标志,1个字节.为0时表示已执行第一次启动,非0表示还未执行过
///工作参数上传设置2
0x0006, //通信方式 占用1个字节:
0x0007, //时间间隔(ACC开) 2 单位:秒,最小为0,默认为0秒
0x0008, //时间间隔(ACC关) 2 单位:秒,最小为0,默认为0秒
0x0009, //距离间隔 2 单位:米,最小为0,默认为0,最大为65535米
///工作参数上传设置1
0x000a, //通信方式。0:IP方式。1:SMS方式。1个字节
0x000b, //最多240个,需要存储空间480个字节。时间点的小时。时间点的小时。取值范围0至23//时间点的分钟。取值范围0至59
//
0x000c, //求助告警 占用1个字节,0表示未连接;1表示关闭;2表示打开;
0x000d, //远程控制 占用1个字节,0表示未连接;1表示关闭;2表示打开;
0x000e, //调度屏告警 占用1个字节,0表示未连接;1表示关闭;2表示打开;
//设置压缩回传参数
0x000f, // 需压缩回传的数据. 00:表示定位数据.01:表示带工作参数的定位数据
0x0010, //压缩的时间间隔(ACC开).单位秒,最小为1秒。
0x0011, //压缩的时间间隔(ACC关).单位秒,最小为1秒。
0x0012, //每包压缩的位置数。 表示一个数据包可以包含的压缩位置的数量,表示范围10~33,默认值为33。
0x0013, //压缩回传的次数. 表示需要压缩回传的次数,当改值为FFFFH时表示连续不断的回传,当该值为0000H表示停止发送。
0x0014, //盲区保存的当前地址 占用4个字节
0x0015, //盲区回传的当前地址 占用4个字节
//////////自定义参数数据长度///////////////////////////
///追踪参数
0x0001, //通信方式 占用1个字节:
0x0002, //时间间隔(ACC开) 2 单位:秒,最小为0,默认为0秒
0x0002, //时间间隔(ACC关) 2 单位:秒,最小为0,默认为0秒
0x0002, //距离间隔 2 单位:米,最小为0,默认为0,最大为65535米
0x0002, //记录保存里程数及ACC的当前扇区号,2个字节
0x0001, //系统第一次启动标志,1个字节.为0时表示已执行第一次启动,非0表示还未执行过
///工作参数上传设置2长度
0x0001, //通信方式 占用1个字节:
0x0002, //时间间隔(ACC开) 2 单位:秒,最小为0,默认为0秒
0x0002, //时间间隔(ACC关) 2 单位:秒,最小为0,默认为0秒
0x0002, //距离间隔 2 单位:米,最小为0,默认为0,最大为65535米
///工作参数上传设置1
0x0001, //通信方式。0:IP方式。1:SMS方式。1个字节
0x01E0, //最多240个,需要存储空间480个字节。时间点的小时。取值范围0至23//时间点的分钟。取值范围0至59
//
0x0001, //求助告警 占用1个字节,0表示未连接;1表示关闭;2表示打开;
0x0001, //远程控制 占用1个字节,0表示未连接;1表示关闭;2表示打开;
0x0001, //调度屏告警 占用1个字节,0表示未连接;1表示关闭;2表示打开;
//设置压缩回传参数
0x0001, // 需压缩回传的数据. 00:表示定位数据.01:表示带工作参数的定位数据
0x0001, //压缩的时间间隔(ACC开).单位秒,最小为1秒。
0x0001, //压缩的时间间隔(ACC关).单位秒,最小为1秒。
0x0001, //每包压缩的位置数。 表示一个数据包可以包含的压缩位置的数量,表示范围10~33,默认值为33。
0x0002, //压缩回传的次数. 表示需要压缩回传的次数,当改值为FFFFH时表示连续不断的回传,当该值为0000H表示停止发送。
0x0004, //盲区保存的当前地址 占用4个字节
0x0004, //盲区回传的当前地址 占用4个字节
};
///////告警项编码,及告警状态值(状态值根据当前告警改变)
INT8U ALARM_ID_STATUS[ALARMID_COUNT*2]={
//告警项的编码
0x01,//01H:求助报警;
0x02,//02H:超速报警;
0x03,//03H:低速报警;
0x04,//04H:低电压报警;
0x05,//05H: 断电报警;
0x06,//06H:LCD故障报警;
0x07,//07H:视频信号拆除报警 ;
0x08,//08H:GPS模块故障报警;
0x09,//09H:GPS天线开路报警;
0x0A,//0AH:GPS天线短路报警;
0x0B,//0BH:工作参数值报警;
//告警状态
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
};
/***********************************************************************
**函数功能:根据对象标号得到存储长度及存储地址偏移量
**Oid: 对象标号
**Olen: 对象数据长度
**Omove: 对象存储地址偏移量
**************************************************************************/
uint8 GetOmoveAddr(const uint16 * params,const uint16 params_Cou,uint16 Oid,uint16 * Olen,uint16 * Omove)
{
uint32 i=0,CURI=0;
*Omove=0; //清零,防止传进来的*Omove非零
for(i=0;i<params_Cou;i++)
{
if(Oid==params[i])
{
*Olen=params[params_Cou+i];
CURI=i;
break;
}
}
if(CURI==0)
*Omove=0;
else
{
for(i=0;i<CURI;i++)
{
*Omove+=params[params_Cou+i];
}
}
return TRUE;
}
/***********************************************************************
**函数功能:
**alarmID: 告警项代码
**返回值: 告警项的索引
**************************************************************************/
INT8U GetAlarmID_Index(uint8 alarmID)
{
uint8 i=0;
for(i=0;i<ALARMID_COUNT;i++)
{
if(ALARM_ID_STATUS[i]==alarmID)
return i;
}
return ALARMID_COUNT;
}
/***********************************************************************
**函数功能:根据对象标号,存储的参数值,得到实际存储ASCII码值长度
**************************************************************************/
INT8U GetParamVal_ASCII(uint16 param_ID,uint8 * buff,uint32 * paramValue_Len)
{
uint32 iTemp=0;
for(iTemp=0;iTemp<ASCII_PARAMS_COUNT;iTemp++)
{
if(param_ID==ASCII_Params[iTemp])
{
uint16 i=0;
for(i=0;i<*paramValue_Len;i++)
{
if(buff[i]>0x7F)
{
buff[i]=0;
break;
}
}
*paramValue_Len=i;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -