Files

196 lines
5.0 KiB
C
Raw Normal View History

#ifndef GDUFLYATTITUDEINFO_H
#define GDUFLYATTITUDEINFO_H
#include <QObject>
#include "GDUModule/glink/glink_m/glink_m.h"
#include "GDUModule/glink/glink_np/glink_np.h"
enum DroneConnState {
DroneConn_Sucess, //Success:连接成功
DroneConn_None, //None:是没有连接上
DroneConn_MoreOne //MoreOne:多个连接
};
class GDUFlightInfo : public QObject
{
Q_OBJECT
public:
explicit GDUFlightInfo(QObject *parent = nullptr);
DroneConnState drone_connect_state = DroneConn_None;
/*
* byte0 - byte3
* uint32
* 姿ms
*/
Q_PROPERTY(long attitude_timestamp READ attitude_timestamp NOTIFY attitudeInfoNotify)
long attitude_timestamp(){
return attitudeInfo->timestamp;
}
/*
* byte4 - byte7
* float
* :X轴deg/s
*/
Q_PROPERTY(float top_x READ top_x NOTIFY attitudeInfoNotify)
float top_x(){
return attitudeInfo->top_x;
}
/*
* byte8 - byte11
* float
* :Y轴deg/s
*/
Q_PROPERTY(float top_y READ top_y NOTIFY attitudeInfoNotify)
float top_y(){
return attitudeInfo->top_y;
}
/*
* byte12 - byte15
* float
* :Z轴deg/s
*/
Q_PROPERTY(float top_z READ top_z NOTIFY attitudeInfoNotify)
float top_z(){
return attitudeInfo->top_z;
}
/*
* byte16 - byte19
* float
* :X轴deg/s
*/
Q_PROPERTY(float a_x READ a_x NOTIFY attitudeInfoNotify)
float a_x(){
return attitudeInfo->a_x;
}
/*
* byte20 - byte23
* float
* :Y轴m/s2
*/
Q_PROPERTY(float a_y READ a_y NOTIFY attitudeInfoNotify)
float a_y(){
return attitudeInfo->a_y;
}
/*
* byte24 - byte27
* float
* :Z轴m/s2
*/
Q_PROPERTY(float a_z READ a_z NOTIFY attitudeInfoNotify)
float a_z(){
return attitudeInfo->a_z;
}
/*
* byte28 - byte29
* int16
* deg
*/
Q_PROPERTY(short course READ course NOTIFY attitudeInfoNotify)
short course(){
return attitudeInfo->course;
}
/*
* byte30 - byte31
* int16
* deg
*/
Q_PROPERTY(short roll READ roll NOTIFY attitudeInfoNotify)
short roll(){
return attitudeInfo->roll;
}
/*
* byte32 - byte33
* int16
* deg
*/
Q_PROPERTY(short pitch READ pitch NOTIFY attitudeInfoNotify)
short pitch(){
return attitudeInfo->pitch;
}
/*
* byte0 - byte3
* uint32
* ms
*/
Q_PROPERTY(long speed_timestamp READ speed_timestamp NOTIFY speedInfoNotify)
long speed_timestamp(){
return speedInfo->timestamp;
}
/*
* byte4 - byte5
* int16
* cm/s
*/
Q_PROPERTY(short northSpeed READ northSpeed NOTIFY speedInfoNotify)
short northSpeed(){
return speedInfo->northSpeed;
}
/*
* byte6 - byte7
* int16
* cm/s
*/
Q_PROPERTY(short eastSpeed READ eastSpeed NOTIFY speedInfoNotify)
short eastSpeed(){
return speedInfo->eastSpeed;
}
/*
* byte8 - byte9
* int16
* cm/s
*/
Q_PROPERTY(short headSpeed READ headSpeed NOTIFY speedInfoNotify)
short headSpeed(){
return speedInfo->headSpeed;
}
/*
* byte10 - byte11
* int16
* cm/s
*/
Q_PROPERTY(short rightSpeed READ rightSpeed NOTIFY speedInfoNotify)
short rightSpeed(){
return speedInfo->rightSpeed;
}
/*
* byte12 - byte13
* int16
* cm/s
*/
Q_PROPERTY(short verticalSpeed READ verticalSpeed NOTIFY speedInfoNotify)
short verticalSpeed(){
return speedInfo->verticalSpeed;
}
//飞机姿态信息
glink_m_aircraft_fc_attitudeinfo_t *attitudeInfo = glink_m_aircraft_fc_attitudeinfo_createEmptyInfo();
//飞机速度信息
glink_m_aircraft_fc_speedinfo_t *speedInfo = glink_m_aircraft_fc_speedinfo_createEmptyInfo();
//更新姿态信息
void updateAttitudeInfo(){
attitudeInfoNotify();
}
void updateSpeedInfo(){
speedInfoNotify();
}
void receiveFlyAttitudeInfo(QByteArray frameBytes);
signals:
void attitudeInfoNotify();
void speedInfoNotify();
public slots:
};
#endif // GDUFLYATTITUDEINFO_H