添加位移监测传感器结构体及解包
This commit is contained in:
@@ -99,6 +99,7 @@ typedef enum {
|
||||
SURFACE_STRESS, //0x0014 表面应力
|
||||
PRESSURE, //0x0015 压力
|
||||
MICROWAVE_DISPLACE, //0x0016 微波位移
|
||||
DISPLACEMENT = 0x0020, //0x0020 位移监测传感器
|
||||
}SensorType_m;
|
||||
|
||||
typedef struct {//主设备固定包头
|
||||
@@ -124,7 +125,19 @@ typedef struct {
|
||||
int16_t PitchAngle; //俯仰角偏斜 (范围±900)单位0.1°
|
||||
int16_t RollAngle; //横滚角偏斜 (范围±900)单位0.1°
|
||||
int16_t YawAngle; //偏航角偏斜 (范围0~3600)单位0.1°
|
||||
}__attribute__((packed))LaserTracingType_t;
|
||||
}__attribute__((packed))LaserTracingType_T;
|
||||
|
||||
typedef struct {//0x0020 位移计
|
||||
int16_t PitchAngle; //俯仰角偏斜(范围±900)单位0.1°
|
||||
int16_t RollAngle; //横滚角偏斜(范围±900)单位0.1°
|
||||
int16_t YawAngle; //偏航角偏斜(范围0~3600)单位0.1°
|
||||
float Altitude; //海拔()单位cm
|
||||
int16_t Distance; //1轴应力值转位移(范围±300,单位0.1mm)
|
||||
}__attribute__ ((packed))Displacement_T,*DisplacementDp;
|
||||
|
||||
typedef struct {
|
||||
int Distance;
|
||||
}__attribute__((packed))LaserDistanceSensorType_t;
|
||||
|
||||
typedef struct {
|
||||
uint8_t CommDevAddr[6]; //通讯单元地址
|
||||
@@ -134,10 +147,6 @@ typedef struct {
|
||||
uint8_t ERTime; //紧急上报时长
|
||||
}__attribute__((packed))SvrDownLPDevConfigPara_t;
|
||||
|
||||
typedef struct {
|
||||
int Distance;
|
||||
}__attribute__((packed))LaserDistanceSensorType_t;
|
||||
|
||||
typedef struct {
|
||||
uint8_t AlarmType;
|
||||
uint8_t AlarmState;
|
||||
|
||||
@@ -298,8 +298,8 @@ int CommUintOrgData(GateWayPara GateWay, CommUnitPara CUPara, CommUnitData CUDat
|
||||
case FORCE_3D:
|
||||
break;
|
||||
case LASER_TRACING:
|
||||
memcpy(&sData[Len], CUData->Data[i], sizeof(LaserTracingType_t));
|
||||
Len += sizeof(LaserTracingType_t);
|
||||
memcpy(&sData[Len], CUData->Data[i], sizeof(LaserTracingType_T));
|
||||
Len += sizeof(LaserTracingType_T);
|
||||
break;
|
||||
case WATER_LEVEL:
|
||||
break;
|
||||
@@ -327,6 +327,10 @@ int CommUintOrgData(GateWayPara GateWay, CommUnitPara CUPara, CommUnitData CUDat
|
||||
break;
|
||||
case MICROWAVE_DISPLACE:
|
||||
break;
|
||||
case DISPLACEMENT:
|
||||
memcpy(&sData[Len], CUData->Data[i], sizeof(Displacement_T));
|
||||
Len += sizeof(Displacement_T);
|
||||
break;
|
||||
}
|
||||
SensorN++;
|
||||
}
|
||||
@@ -374,8 +378,8 @@ void DebugDisplaySensorData(int SensorIdx, uint16_t SensorType, uint8_t *SensorD
|
||||
break;
|
||||
}
|
||||
case LASER_TRACING: {
|
||||
LaserTracingType_t Sensor;
|
||||
memcpy((uint8_t *)&Sensor, SensorData, sizeof(LaserTracingType_t));
|
||||
LaserTracingType_T Sensor;
|
||||
memcpy((uint8_t *)&Sensor, SensorData, sizeof(LaserTracingType_T));
|
||||
MAIN_DBG_LOG("Sensor%d Type %04x: PitchAngle=%04d, RollAngle=%04d, YawAngle=%04d\r\n",
|
||||
SensorIdx, SensorType, Sensor.PitchAngle, Sensor.RollAngle, Sensor.YawAngle);
|
||||
break;
|
||||
@@ -419,6 +423,13 @@ void DebugDisplaySensorData(int SensorIdx, uint16_t SensorType, uint8_t *SensorD
|
||||
case MICROWAVE_DISPLACE: {
|
||||
break;
|
||||
}
|
||||
case DISPLACEMENT: {
|
||||
Displacement_T Sensor;
|
||||
memcpy((uint8_t *)&Sensor, SensorData, sizeof(Displacement_T));
|
||||
MAIN_DBG_LOG("Sensor%d Type %04x: PitchAngle=%04d, RollAngle=%04d, YawAngle=%04d, Altitude=%06f, Distance=%04d\r\n",
|
||||
SensorIdx, SensorType, Sensor.PitchAngle, Sensor.RollAngle, Sensor.YawAngle, Sensor.Altitude, Sensor.Distance);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user