航线传输问题解决
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>366</width>
|
||||
<width>373</width>
|
||||
<height>534</height>
|
||||
</rect>
|
||||
</property>
|
||||
@@ -159,25 +159,32 @@
|
||||
<string>惯导选择</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_8">
|
||||
<item row="0" column="2">
|
||||
<widget class="QComboBox" name="comboBox_IMU"/>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="comboBox_sys"/>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="QComboBox" name="comboBox_IMU"/>
|
||||
</item>
|
||||
<item row="0" column="4">
|
||||
<widget class="QPushButton" name="pushButton_IMU">
|
||||
<property name="text">
|
||||
<string>选择</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>选择惯导</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="comboBox_sys"/>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>无人机#</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
#include "CommandButton.h"
|
||||
|
||||
CommandButton::CommandButton(QWidget *parent) : QPushButton(parent)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
void CommandButton::keyPressEvent(QKeyEvent* event)
|
||||
{
|
||||
QWidget::keyPressEvent(event);
|
||||
}
|
||||
void CommandButton::keyReleaseEvent(QKeyEvent* event)
|
||||
{
|
||||
QWidget::keyReleaseEvent(event);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
#ifndef COMMANDBUTTON_H
|
||||
#define COMMANDBUTTON_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QWidget>
|
||||
#include "QPushButton"
|
||||
#include "QDebug"
|
||||
#include "QEvent"
|
||||
|
||||
class CommandButton : public QPushButton
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit CommandButton(QWidget *parent = nullptr);
|
||||
|
||||
protected:
|
||||
|
||||
void keyPressEvent(QKeyEvent* event);
|
||||
void keyReleaseEvent(QKeyEvent* event);
|
||||
|
||||
|
||||
signals:
|
||||
|
||||
};
|
||||
|
||||
#endif // COMMANDBUTTON_H
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "QDebug"
|
||||
|
||||
#include "QPushButton"
|
||||
#include "CommandButton.h"
|
||||
|
||||
#include "QJsonArray"
|
||||
#include "QJsonDocument"
|
||||
|
||||
@@ -32,9 +32,11 @@ FORMS += \
|
||||
$$PWD/CommandUI.ui \
|
||||
|
||||
HEADERS += \
|
||||
$$PWD/CommandButton.h \
|
||||
$$PWD/CommandUI.h
|
||||
|
||||
SOURCES += \
|
||||
$$PWD/CommandButton.cpp \
|
||||
$$PWD/CommandUI.cpp
|
||||
|
||||
RESOURCES += \
|
||||
|
||||
@@ -39,13 +39,20 @@ Selector::~Selector()
|
||||
|
||||
bool Selector::event(QEvent *event)
|
||||
{
|
||||
//qDebug() << event->type() << "wvent";
|
||||
|
||||
if(event->type() == QEvent::Leave)
|
||||
{
|
||||
this->close();
|
||||
//if(QApplication::activeWindow() != this)
|
||||
this->close();
|
||||
}
|
||||
|
||||
return QWidget::event(event);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void Selector::focusOutEvent(QFocusEvent *event)
|
||||
{
|
||||
qDebug() << "focus out" << event;
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
#include <QScrollBar>
|
||||
#include "QFile"
|
||||
|
||||
#include "QEvent"
|
||||
|
||||
namespace Ui {
|
||||
class Selector;
|
||||
}
|
||||
|
||||
@@ -203,8 +203,8 @@ void propertyui::rebuildUI(QString CMD)
|
||||
ui->pushButton_Lat->show();
|
||||
ui->pushButton_Lng->show();
|
||||
|
||||
ui->pushButton_Lat->setText(QString::number(m_x * 10e-8,'f',6));
|
||||
ui->pushButton_Lng->setText(QString::number(m_y * 10e-8,'f',6));
|
||||
ui->pushButton_Lat->setText(QString::number(m_x * 10e-8,'f',7));
|
||||
ui->pushButton_Lng->setText(QString::number(m_y * 10e-8,'f',7));
|
||||
|
||||
}
|
||||
|
||||
@@ -1189,7 +1189,7 @@ void propertyui::on_pushButton_Lat_clicked()
|
||||
inputter->setGeometry(0,0,this->width(),this->height());
|
||||
|
||||
inputter->setLabel(tr("setLatitude"));
|
||||
inputter->setDecimalPlaces(6);
|
||||
inputter->setDecimalPlaces(7);
|
||||
inputter->setInitValue(ui->pushButton_Lat->text());
|
||||
connect(inputter,SIGNAL(confirmValue(QVariant)),
|
||||
this,SLOT(setLatitude(QVariant)));
|
||||
@@ -1210,7 +1210,7 @@ void propertyui::on_pushButton_Lng_clicked()
|
||||
inputter->setGeometry(0,0,this->width(),this->height());
|
||||
|
||||
inputter->setLabel(tr("setLongitude"));
|
||||
inputter->setDecimalPlaces(6);
|
||||
inputter->setDecimalPlaces(7);
|
||||
|
||||
inputter->setInitValue(ui->pushButton_Lng->text());
|
||||
connect(inputter,SIGNAL(confirmValue(QVariant)),
|
||||
|
||||
+13
-8
@@ -819,6 +819,12 @@ void MainWindow::updateUI()//事件驱动式更新数据
|
||||
case 8<<16:
|
||||
mode_str.append(tr("RATTITUDE"));
|
||||
break;
|
||||
case 9<<16:
|
||||
mode_str.append(tr("STANDBY"));
|
||||
break;
|
||||
case 10<<16:
|
||||
mode_str.append(tr("BIT"));
|
||||
break;
|
||||
case (4<<16)+(1<<24):
|
||||
mode_str.append(tr("AUTO_READY"));
|
||||
break;
|
||||
@@ -1010,7 +1016,7 @@ void MainWindow::updateUI()//事件驱动式更新数据
|
||||
healthui->setState(26,getBit(health,12)?(HealthUI::state::warning):(HealthUI::state::success));//sel
|
||||
healthui->setValueState(26,getBit(health,12)?(tr("连接内置惯导")):(tr("连接SBG")));//sel
|
||||
|
||||
statusui->setState(1,QString::number(dlink->mavlinknode->vehicle.airspeed_autocal.ratio,'f',1),0);
|
||||
statusui->setState(1,QString::number(dlink->mavlinknode->vehicle.emb_atom_com.alpha,'f',1),0);
|
||||
|
||||
statusui->setState(2,QString::number(dlink->mavlinknode->vehicle.attitude.pitch * 57.3,'f',1),
|
||||
QString::number(dlink->mavlinknode->vehicle.nav_controller_output.nav_pitch * 57.3,'f',1));
|
||||
@@ -1028,17 +1034,16 @@ void MainWindow::updateUI()//事件驱动式更新数据
|
||||
QString::number(dlink->mavlinknode->vehicle.gps_raw_int.alt * 10e-4
|
||||
+dlink->mavlinknode->vehicle.nav_controller_output.alt_error * 10e-4,'f',1));
|
||||
|
||||
statusui->setState(7,QString::number(dlink->mavlinknode->vehicle.vfr_hud.airspeed,'f',1),
|
||||
QString::number(dlink->mavlinknode->vehicle.vfr_hud.airspeed
|
||||
statusui->setState(7,QString::number(dlink->mavlinknode->vehicle.emb_atom_com.Airspeed,'f',1),
|
||||
QString::number(dlink->mavlinknode->vehicle.emb_atom_com.Airspeed
|
||||
+dlink->mavlinknode->vehicle.nav_controller_output.aspd_error,'f',1));
|
||||
|
||||
statusui->setState(8,QString::number(dlink->mavlinknode->vehicle.vfr_hud.airspeed,'f',1),
|
||||
QString::number(dlink->mavlinknode->vehicle.vfr_hud.airspeed
|
||||
statusui->setState(8,QString::number(dlink->mavlinknode->vehicle.emb_atom_com.Airspeed,'f',1),
|
||||
QString::number(dlink->mavlinknode->vehicle.emb_atom_com.Airspeed
|
||||
+dlink->mavlinknode->vehicle.nav_controller_output.aspd_error,'f',1));
|
||||
|
||||
statusui->setState(9,QString::number(dlink->mavlinknode->vehicle.vfr_hud.airspeed/340.0,'f',1),
|
||||
QString::number((dlink->mavlinknode->vehicle.vfr_hud.airspeed
|
||||
+dlink->mavlinknode->vehicle.nav_controller_output.aspd_error)/340.0,'f',1));
|
||||
statusui->setState(9,QString::number(dlink->mavlinknode->vehicle.emb_atom_com.mach,'f',1),
|
||||
QString::number(dlink->mavlinknode->vehicle.emb_atom_com.Airspeed,'f',1));
|
||||
|
||||
statusui->setState(10,QString::number(dlink->mavlinknode->vehicle.global_position_int.vz * 10e-3,'f',1),
|
||||
QString::number(dlink->mavlinknode->vehicle.global_position_int.vz * 10e-3,'f',1));
|
||||
|
||||
@@ -631,6 +631,9 @@ void MavLinkNode::StatusParse(mavlink_message_t msg)
|
||||
case MAVLINK_MSG_ID_VFR_HUD: {
|
||||
mavlink_msg_vfr_hud_decode(&msg,&vehicle.vfr_hud);
|
||||
}break;
|
||||
case MAVLINK_MSG_ID_EMB_ATMO_COM: {
|
||||
mavlink_msg_emb_atmo_com_decode(&msg,&vehicle.emb_atom_com);
|
||||
}break;
|
||||
case MAVLINK_MSG_ID_TurbineState: {
|
||||
mavlink_msg_turbinestate_decode(&msg,&vehicle.turbinstate);
|
||||
}break;
|
||||
|
||||
@@ -54,6 +54,7 @@ class MavLinkNode : public QObject
|
||||
mavlink_enginestate_t enginestate;
|
||||
mavlink_vfr_hud_t vfr_hud;
|
||||
mavlink_aoa_ssa_t aoa_ssa;
|
||||
mavlink_emb_atmo_com_t emb_atom_com;
|
||||
mavlink_turbinestate_t turbinstate;
|
||||
mavlink_bmustate_t bmustate;
|
||||
mavlink_ccmstate_t ccmstate;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "missionprocess.h"
|
||||
#include "missionprocess.h"
|
||||
|
||||
|
||||
MissionProcess::MissionProcess(QObject *parent) : QObject(parent)
|
||||
@@ -165,6 +165,8 @@ void MissionProcess::transmitPoint(float param1,float param2,float param3,float
|
||||
|
||||
mapcontrol::WayPointItem::_property item;
|
||||
|
||||
qDebug() << x << y << z;
|
||||
|
||||
item.param1 = param1;
|
||||
item.param2 = param2;
|
||||
item.param3 = param3;
|
||||
@@ -185,7 +187,7 @@ void MissionProcess::transmitPoint(float param1,float param2,float param3,float
|
||||
items.insert(item.seq,item);
|
||||
|
||||
|
||||
/*
|
||||
|
||||
foreach (mapcontrol::WayPointItem::_property item, items) {
|
||||
qDebug() << "transmit seq"
|
||||
<< item.seq
|
||||
@@ -206,7 +208,7 @@ void MissionProcess::transmitPoint(float param1,float param2,float param3,float
|
||||
<< item.autocontinue
|
||||
<< item.mission_type;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -552,7 +554,7 @@ void MissionProcess::WriteStateMachine(void)
|
||||
|
||||
|
||||
item_int(i.param1,i.param2,i.param3,i.param4,
|
||||
i.x*10,i.y*10,i.z,
|
||||
i.x,i.y,i.z,
|
||||
i.seq,i.command,i.frame,
|
||||
i.current,i.autocontinue,i.mission_type);//发送航点
|
||||
|
||||
@@ -560,8 +562,8 @@ void MissionProcess::WriteStateMachine(void)
|
||||
<< i.param2
|
||||
<< i.param3
|
||||
<< i.param4
|
||||
<< i.x*10
|
||||
<< i.y*10
|
||||
<< i.x
|
||||
<< i.y
|
||||
<< i.z
|
||||
<< i.seq;
|
||||
|
||||
@@ -610,6 +612,8 @@ void MissionProcess::WriteStateMachine(void)
|
||||
mission_status.m_Mode = Nop_Mode;
|
||||
mission_status.transmit.isWaiteforACK = false;
|
||||
timeout_count = 0;
|
||||
//清除存储的航线
|
||||
items.clear();
|
||||
}
|
||||
qDebug() << "wait for ack time out";
|
||||
}
|
||||
@@ -624,6 +628,10 @@ void MissionProcess::WriteStateMachine(void)
|
||||
mission_item_int.seq = 0;
|
||||
mission_status.m_Mode = Nop_Mode;
|
||||
mission_status.transmit.isWaiteforRequest = false;
|
||||
|
||||
//清除存储的航线
|
||||
items.clear();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user