修改航线,参数,消息等
This commit is contained in:
+88
-8
@@ -1,8 +1,35 @@
|
||||
#include "Vehicle.h"
|
||||
|
||||
|
||||
/*
|
||||
* 1. 判断飞机是否丢失信号
|
||||
* 2. 状态更新(飞机从数据链发来的数据)
|
||||
* 3. 选择发beep声
|
||||
* 4. 飞机自身状态(如选中)
|
||||
* 5. 组别情况
|
||||
* 6. 所有的指令,参数,航线,都通过飞机自己发送,飞机跟自己特定的数据链相连
|
||||
* 7. 记录所有发过的指令等
|
||||
*/
|
||||
|
||||
|
||||
Vehicle::Vehicle(QObject *parent) : QObject(parent)
|
||||
{
|
||||
//WayPointGroup.begin().value().begin().value()
|
||||
qint32 group = 0;//没有任何组别
|
||||
bool select = false;
|
||||
|
||||
qint32 sysid = 1;
|
||||
|
||||
|
||||
//数据链 地址等信息
|
||||
|
||||
//参数
|
||||
|
||||
//航线
|
||||
|
||||
//指令
|
||||
|
||||
//记录
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -11,25 +38,78 @@ Vehicle::~Vehicle()
|
||||
|
||||
}
|
||||
|
||||
void Vehicle::_Handler(mavlink_message_t msg)
|
||||
{
|
||||
//用于给参数添加设备,便于读取
|
||||
|
||||
switch (msg.msgid) {
|
||||
//航线部分
|
||||
case MAVLINK_MSG_ID_MISSION_REQUEST_LIST:
|
||||
case MAVLINK_MSG_ID_MISSION_COUNT:
|
||||
case MAVLINK_MSG_ID_MISSION_REQUEST_INT:
|
||||
case MAVLINK_MSG_ID_MISSION_REQUEST:
|
||||
case MAVLINK_MSG_ID_MISSION_ITEM_INT:
|
||||
case MAVLINK_MSG_ID_MISSION_ITEM:
|
||||
case MAVLINK_MSG_ID_MISSION_ACK:
|
||||
case MAVLINK_MSG_ID_MISSION_CURRENT:
|
||||
case MAVLINK_MSG_ID_MISSION_SET_CURRENT:
|
||||
case MAVLINK_MSG_ID_MISSION_CLEAR_ALL:
|
||||
case MAVLINK_MSG_ID_MISSION_ITEM_REACHED:
|
||||
case MAVLINK_MSG_ID_MISSION_REQUEST_PARTIAL_LIST:
|
||||
case MAVLINK_MSG_ID_MISSION_WRITE_PARTIAL_LIST:
|
||||
//Mission->Parse(msg);
|
||||
break;
|
||||
|
||||
//参数
|
||||
case MAVLINK_MSG_ID_PARAM_REQUEST_LIST:
|
||||
case MAVLINK_MSG_ID_PARAM_REQUEST_READ:
|
||||
case MAVLINK_MSG_ID_PARAM_SET:
|
||||
case MAVLINK_MSG_ID_PARAM_VALUE:
|
||||
//Parameter->Parse(msg);
|
||||
break;
|
||||
|
||||
//命令
|
||||
case MAVLINK_MSG_ID_COMMAND_INT:
|
||||
case MAVLINK_MSG_ID_COMMAND_LONG:
|
||||
case MAVLINK_MSG_ID_COMMAND_ACK:
|
||||
//Commander->Parse(msg);
|
||||
break;
|
||||
|
||||
//终端
|
||||
case MAVLINK_MSG_ID_SERIAL_CONTROL:
|
||||
//Terminal->Parse(msg);
|
||||
break;
|
||||
|
||||
|
||||
//状态
|
||||
default:
|
||||
//StatusParse(msg);
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Vehicle::setType(int t)
|
||||
{
|
||||
Q_UNUSED(t)
|
||||
//type = t;
|
||||
}
|
||||
|
||||
void Vehicle::setMsg(int idx,int m)
|
||||
void Vehicle::setMsg(mavlink_message_t *msg)
|
||||
{
|
||||
Q_UNUSED(idx)
|
||||
Q_UNUSED(m)
|
||||
messages.insert(msg->msgid,msg);
|
||||
}
|
||||
|
||||
void Vehicle::setParam(int idx, param *p)
|
||||
void Vehicle::setParam(mavlink_param_value_t *param)
|
||||
{
|
||||
params.insert(idx,p);
|
||||
parameters.insert(param->param_index,param);
|
||||
}
|
||||
|
||||
void Vehicle::setMission(int idx, item_int * i)
|
||||
void Vehicle::setMission(mavlink_mission_item_int_t * item)
|
||||
{
|
||||
//waypoint.insert(idx,i);
|
||||
waypoints.insert(item->seq,item);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
|
||||
#include "VehicleManage_global.h"
|
||||
#include <QObject>
|
||||
|
||||
|
||||
#include "QIcon"
|
||||
#include "QHash"
|
||||
#include "QMap"
|
||||
#include "VehicleType.h"
|
||||
#include "QDebug"
|
||||
|
||||
#include "mavlink.h"
|
||||
|
||||
/*
|
||||
|
||||
@@ -46,9 +46,9 @@ public slots:
|
||||
|
||||
void setType(int t);
|
||||
|
||||
void setMsg(int idx, int m);
|
||||
void setParam(int idx,param *p);
|
||||
void setMission(int idx, item_int *i);
|
||||
void setMsg(mavlink_message_t *msg);
|
||||
void setParam(mavlink_param_value_t *param);
|
||||
void setMission(mavlink_mission_item_int_t *item);
|
||||
|
||||
|
||||
private slots:
|
||||
@@ -56,13 +56,62 @@ private slots:
|
||||
|
||||
private:
|
||||
|
||||
//基本信息
|
||||
|
||||
QIcon icon = "fixwing.png";
|
||||
QColor tailColor = "#026F80";
|
||||
QColor wayColor = "#F09382";
|
||||
|
||||
int sysid = 0;
|
||||
bool isSeleted = false;
|
||||
int type = 0;//设备类型
|
||||
|
||||
int sysid;
|
||||
bool arm;
|
||||
int flightmode;
|
||||
|
||||
bool heartbeat = false;
|
||||
bool isOnline = false;
|
||||
|
||||
//惯性
|
||||
qreal roll;
|
||||
qreal pitch;
|
||||
qreal yaw;
|
||||
|
||||
qreal p;
|
||||
qreal q;
|
||||
qreal r;
|
||||
|
||||
qreal ax;
|
||||
qreal ay;
|
||||
qreal az;
|
||||
|
||||
//导航
|
||||
double lat;
|
||||
double lng;
|
||||
qreal RelativeAltitude;//相对海拔
|
||||
qreal AbsoluteAltitude;//绝对海拔
|
||||
|
||||
qreal groudspeed;
|
||||
qreal heading;
|
||||
|
||||
int fixType;
|
||||
int Satellites;
|
||||
|
||||
//大气
|
||||
qreal tas;
|
||||
qreal cas;
|
||||
qreal Ma;
|
||||
qreal alpha;
|
||||
qreal beta;
|
||||
|
||||
//控制
|
||||
|
||||
|
||||
|
||||
state m_state;
|
||||
|
||||
|
||||
|
||||
//state m_state;
|
||||
|
||||
/*
|
||||
* 航线组
|
||||
@@ -77,13 +126,14 @@ private:
|
||||
*
|
||||
*/
|
||||
|
||||
QMap<int,QMap<int,item_int *>> WayPointGroup;//航线组
|
||||
QMap<int,mavlink_mission_item_int_t *> waypoints;//航线组
|
||||
|
||||
|
||||
QMap<int,int> msg;
|
||||
QMap<int,param *> params;
|
||||
QMap<quint32,mavlink_message_t *> messages;
|
||||
|
||||
|
||||
QMap<int,mavlink_param_value_t *> parameters;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
#include "VehicleManage.h"
|
||||
|
||||
|
||||
VehicleManage::VehicleManage()
|
||||
{
|
||||
|
||||
@@ -24,7 +25,7 @@ void VehicleManage::setMsg(int sysid,int s)
|
||||
Vehicle *v = Vehicles.value(sysid);
|
||||
|
||||
|
||||
v->setMsg(s,s);
|
||||
//v->setMsg(s,s);
|
||||
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -1,4 +1,4 @@
|
||||
QT -= gui
|
||||
QT += gui
|
||||
|
||||
TEMPLATE = lib
|
||||
DEFINES += VEHICLEMANAGE_LIBRARY
|
||||
@@ -29,6 +29,7 @@ MOC_DIR = $$PWD/../build
|
||||
OBJECTS_DIR = $$PWD/../build
|
||||
|
||||
#添加mavlink目录
|
||||
#INCLUDEPATH += $$PWD/../mavlink
|
||||
INCLUDEPATH += $$PWD/../mavlink \
|
||||
$$PWD/../mavlink/ardupilotmega \
|
||||
$$PWD/../mavlink/common \
|
||||
|
||||
Reference in New Issue
Block a user