数据解析编写完成
This commit is contained in:
@@ -0,0 +1,228 @@
|
||||
#ifndef PARSE_H
|
||||
#define PARSE_H
|
||||
|
||||
#include <QObject>
|
||||
#include "QRunnable"
|
||||
#include "QDebug"
|
||||
#include "QThread"
|
||||
#include "QElapsedTimer"
|
||||
#include "QtMath"
|
||||
|
||||
|
||||
class Parse : public QObject, public QRunnable
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
|
||||
typedef struct
|
||||
{
|
||||
qreal roll_rate;//滚转角速度
|
||||
qreal yaw_rate;//偏航角速度
|
||||
qreal pitch_rate;//俯仰角速度
|
||||
qreal yaw;//航向角
|
||||
qreal pitch;//俯仰角
|
||||
qreal roll;//滚转角
|
||||
qreal ax;//机体纵向加速度
|
||||
qreal ay;//机体法向加速度
|
||||
qreal az;//机体侧向加速度
|
||||
}_ins;//1~18
|
||||
|
||||
typedef struct
|
||||
{
|
||||
struct{
|
||||
QString navStatus;//D7D6 导航状态
|
||||
QString insStatus;//D5D4 组合状态
|
||||
QString headingSrc;//D3D2 航向信号源
|
||||
QString Satellite;//D1D0 卫星信号源
|
||||
}state1;//工作状态字
|
||||
qreal longitude;//位置经度
|
||||
qreal latitude;//位置纬度
|
||||
qreal altitude;//组合高度
|
||||
quint16 worktime;//本状态工作时间
|
||||
qreal Ve;//东向速度
|
||||
qreal Vn;//北向速度
|
||||
qreal Vu;//天向速度
|
||||
qreal Gs;//地速
|
||||
qreal heading;//航迹角
|
||||
qreal Ae;//东向加速度
|
||||
qreal An;//北向加速度
|
||||
qreal Au;//天向加速度
|
||||
qreal satellite_longitude;//卫星经度
|
||||
qreal satellite_latitude;//卫星纬度
|
||||
qreal satellite_altitude;//卫星高度
|
||||
qreal satellite_Ve;//卫星东向速度
|
||||
qreal satellite_Vn;//卫星北向速度
|
||||
qreal satellite_Vu;//卫星天向速度
|
||||
struct
|
||||
{
|
||||
QString ins;//惯导数据有效位
|
||||
QString altitude;//组合高度有效位
|
||||
QString exRTK;//外置差分数据有效位
|
||||
QString exSatellite;//外置卫星数据有效位
|
||||
QString RTK;//内置差分数据有效位
|
||||
QString satellite;//内置卫星数据有效位
|
||||
QString heading;//双天线航向有效位
|
||||
QString communication;//通讯状态
|
||||
}state2;
|
||||
|
||||
struct
|
||||
{
|
||||
QString back7;//
|
||||
QString das;//大气数据有效位
|
||||
QString install;//外部状态偏角有效位
|
||||
QString back4;//
|
||||
QString altitudeInfo;//D3D2 高度阻尼信号
|
||||
QString back1;//
|
||||
QString back0;//
|
||||
}state3;
|
||||
quint16 year;//UTC年
|
||||
quint8 month;//UTC月
|
||||
quint8 day;//UTC日
|
||||
quint8 hour;//UTC时
|
||||
quint8 minute;//UTC分
|
||||
qreal second;//UTC秒
|
||||
}_nav;//19~73
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
QString heatmode;//加温模式
|
||||
QString heatstatus;//加温状态
|
||||
qreal psi;//指示静压
|
||||
qreal ps;//真实静压
|
||||
qreal qci;//指示动压
|
||||
qreal qc;//真实动压
|
||||
qreal hp;//气压高度
|
||||
qreal hpr;//升降速度
|
||||
qreal ts;//静温
|
||||
qreal tt;//总温
|
||||
qreal mi;//马赫数
|
||||
qreal vi;//指示空速
|
||||
qreal vt;//真空速
|
||||
qreal adr;//大气密度比
|
||||
qreal aoai1;//局部攻角1
|
||||
qreal aoai2;//局部攻角2
|
||||
qreal aoat1;//真攻角1
|
||||
qreal aoat2;//真攻角2
|
||||
qreal aosi1;//局部侧滑角1
|
||||
qreal aosi2;//局部侧滑角2
|
||||
qreal aost1;//真侧滑角1
|
||||
qreal aost2;//真侧滑角2
|
||||
struct
|
||||
{
|
||||
bool ps;//静压传感器故障
|
||||
bool qc;//动压传感器故障
|
||||
bool ts;//静温传感器故障
|
||||
bool aoa1;//攻角1故障
|
||||
bool aoa2;//攻角2故障
|
||||
bool aos1;//侧滑角1故障
|
||||
bool aos2;//侧滑角2故障
|
||||
bool heat;//加热故障
|
||||
bool ex_storage;//外部存储故障
|
||||
bool aoa_diff;//双余度攻角不跟随故障
|
||||
bool aos_diff;//双余度侧滑角不跟随故障
|
||||
bool qc_zero;//动压零位过度修正
|
||||
bool back1;
|
||||
bool back2;
|
||||
bool overtemp;//管头过热故障
|
||||
bool system;//大气数据计算机故障
|
||||
}faultword;//故障字
|
||||
struct
|
||||
{
|
||||
bool psi;//指示静压
|
||||
bool ps;//真实静压
|
||||
bool qci;//指示动压
|
||||
bool qc;//真实动压
|
||||
bool hp;//气压高度
|
||||
bool hpr;//升降速度
|
||||
bool ts;//静温
|
||||
bool tt;//总温
|
||||
bool mi;//马赫数
|
||||
bool vi;//指示空速
|
||||
bool vt;//真空速
|
||||
bool adr;//大气密度比
|
||||
bool aoai1;//局部攻角1
|
||||
bool aoai2;//局部攻角2
|
||||
bool aoat1;//真攻角1
|
||||
bool aoat2;//真攻角2
|
||||
bool aosi1;//局部侧滑角1
|
||||
bool aosi2;//局部侧滑角2
|
||||
bool aost1;//真侧滑角1
|
||||
bool aost2;//真侧滑角2
|
||||
}datavalid;//数据有效性
|
||||
qreal coffpress_k0;//压力校准系数K0
|
||||
qreal coffpress_k1;//压力校准系数K1
|
||||
qreal coffpress_k2;//压力校准系数K2
|
||||
qreal coffpress_k3;//压力校准系数K3
|
||||
qreal coffangle_k0;//攻角侧滑角校准系数K0
|
||||
qreal coffangle_k1;//攻角侧滑角校准系数K1
|
||||
qreal coffangle_k2;//攻角侧滑角校准系数K2
|
||||
qreal coffangle_k3;//攻角侧滑角校准系数K3
|
||||
|
||||
}_eadc;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
qreal rpm;//rpm 0~30000
|
||||
qreal t1;//℃ -60~+90
|
||||
qreal t5;//℃ 报警大于900
|
||||
qreal p2;//MPa 报警大于 0.28 或小于 0.15
|
||||
qreal servo_current;//mA 0~150
|
||||
QString oil_low;//小于 0.15
|
||||
QString p2_high;//大于900
|
||||
QString states;
|
||||
}_ecu;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
qreal bus_voltage;//汇流条电压
|
||||
qreal battery_voltage;//蓄电池电压
|
||||
qreal battery_current;//蓄电池电流
|
||||
qreal main_voltage;//主电源电压
|
||||
qreal main_current;//主电源电流
|
||||
qreal current_ch1;//燃油泵及流量计 (32A)
|
||||
qreal current_ch2;//副翼及前起舵机(22A)
|
||||
qreal current_ch3;//56V电池加温1 (10A)
|
||||
qreal current_ch4;//28V电池加温(10A)
|
||||
qreal current_ch5;//智能计算机(2A)
|
||||
qreal current_ch6;//发动机控制器(2A)
|
||||
qreal current_ch7;//空速管加温 (2A)
|
||||
qreal current_ch8;//温度变换器(1A)
|
||||
qreal current_ch9;//燃油切断阀(1A)
|
||||
qreal current_ch10;//56V电池加温2 (10A)
|
||||
qreal current_ch11;//垂直舵机(6A)
|
||||
qreal current_ch12;//56V并网(5A)
|
||||
qreal current_ch13;//滑油压力变换器(1A)
|
||||
}_sspc;
|
||||
|
||||
|
||||
|
||||
explicit Parse(QObject *parent = nullptr);
|
||||
~Parse();
|
||||
|
||||
|
||||
void run() override;
|
||||
|
||||
public slots:
|
||||
|
||||
void parseData(const int &id, const QByteArray &data);
|
||||
|
||||
|
||||
signals:
|
||||
|
||||
void INS_Info(Parse::_ins info);
|
||||
void NAV_Info(Parse::_nav info);
|
||||
|
||||
void EADC_Info(Parse::_eadc info);
|
||||
void ECU_Info(Parse::_ecu info);
|
||||
void SSPC_Info(Parse::_sspc info);
|
||||
|
||||
private:
|
||||
|
||||
QByteArray raw;
|
||||
int index;
|
||||
|
||||
|
||||
};
|
||||
|
||||
#endif // PARSE_H
|
||||
Reference in New Issue
Block a user