航点传输完成,但不能跟随地图移动
This commit is contained in:
@@ -1499,25 +1499,21 @@ void propertyui::on_pushButton_Param7_clicked()
|
||||
|
||||
void propertyui::on_pushButton_Load_clicked()
|
||||
{
|
||||
qDebug() << "Load";
|
||||
emit WPLoad();
|
||||
}
|
||||
|
||||
void propertyui::on_pushButton_Save_clicked()
|
||||
{
|
||||
qDebug() << "Save";
|
||||
emit WPSave();
|
||||
}
|
||||
|
||||
void propertyui::on_pushButton_Upload_clicked()
|
||||
{
|
||||
qDebug() << "Upload";
|
||||
emit WPUpload();
|
||||
}
|
||||
|
||||
void propertyui::on_pushButton_Download_clicked()
|
||||
{
|
||||
qDebug() << "Download";
|
||||
emit WPDownload();
|
||||
}
|
||||
|
||||
|
||||
@@ -123,10 +123,10 @@ void ConnectDialog::reBuildList(void)
|
||||
{
|
||||
ui->label_usrName->setText(tr("User Name"));
|
||||
ui->label_Type->setText(tr("Type"));
|
||||
ui->label_Param1->setText(tr("Local addr"));
|
||||
ui->label_Param2->setText(tr("Local port"));
|
||||
ui->label_Param3->setText(tr("Remote addr"));
|
||||
ui->label_Param4->setText(tr("Remote port"));
|
||||
ui->label_Param1->setText(tr("Local"));
|
||||
ui->label_Param2->setText(tr(""));
|
||||
ui->label_Param3->setText(tr("Remote"));
|
||||
ui->label_Param4->setText(tr(""));
|
||||
ui->label_Param5->setText(tr(""));
|
||||
|
||||
ui->pushButton_param5->hide();
|
||||
@@ -140,15 +140,14 @@ void ConnectDialog::reBuildList(void)
|
||||
ui->pushButton_param4->setText(m_Param4.toString());
|
||||
ui->pushButton_param5->setText(m_Param5.toString());
|
||||
|
||||
emit usrNameChanged(m_usrName);
|
||||
|
||||
}
|
||||
|
||||
|
||||
void ConnectDialog::setUsrName(QVariant value)
|
||||
{
|
||||
m_usrName = value;
|
||||
|
||||
emit usrNameChanged(m_usrName);
|
||||
|
||||
reBuildList();
|
||||
}
|
||||
|
||||
@@ -172,7 +171,7 @@ void ConnectDialog::setType(QVariant value)
|
||||
//载入默认值
|
||||
if(m_Type.toString() == tr("SerialPort"))
|
||||
{
|
||||
m_usrName = tr("unname");
|
||||
m_usrName = tr("Port");
|
||||
|
||||
QString tiltle = this->windowTitle();
|
||||
tiltle = tiltle.simplified();
|
||||
@@ -199,12 +198,12 @@ void ConnectDialog::setType(QVariant value)
|
||||
}
|
||||
else
|
||||
{
|
||||
m_usrName = tr("unname");
|
||||
m_usrName = tr("Net");
|
||||
|
||||
m_Param1 = tr("192.168.10.1");
|
||||
m_Param2 = tr("6060");
|
||||
m_Param3 = tr("192.168.101.1");
|
||||
m_Param4 = tr("6061");
|
||||
m_Param1 = tr("127.0.0.1");
|
||||
m_Param2 = tr("6061");
|
||||
m_Param3 = tr("127.0.0.1");
|
||||
m_Param4 = tr("6060");
|
||||
m_Param5 = "";
|
||||
}
|
||||
|
||||
|
||||
@@ -6,38 +6,38 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>855</width>
|
||||
<height>557</height>
|
||||
<width>954</width>
|
||||
<height>421</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_9">
|
||||
<item row="1" column="2">
|
||||
<layout class="QGridLayout" name="gridLayout_5">
|
||||
<item row="0" column="0">
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="label_Param3">
|
||||
<widget class="QLabel" name="label_usrName">
|
||||
<property name="text">
|
||||
<string>Param3</string>
|
||||
<string>Tiltle</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="QPushButton" name="pushButton_param3">
|
||||
<widget class="QPushButton" name="pushButton_usrName">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>120</width>
|
||||
<width>250</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Param3</string>
|
||||
<string>USR Name</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<spacer name="horizontalSpacer_4">
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
@@ -58,13 +58,144 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0" colspan="6">
|
||||
<layout class="QGridLayout" name="gridLayout_7">
|
||||
<item row="0" column="2">
|
||||
<widget class="QPushButton" name="pushButton_Connect">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Connect</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QPushButton" name="pushButton_Cancel">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Cancel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<spacer name="horizontalSpacer_8">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="6">
|
||||
<widget class="QLabel" name="label_Description">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3" rowspan="3">
|
||||
<widget class="Line" name="line_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="label_Param1">
|
||||
<property name="text">
|
||||
<string>Param1</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="QPushButton" name="pushButton_param1">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>250</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Param1</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<spacer name="horizontalSpacer_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="4">
|
||||
<layout class="QGridLayout" name="gridLayout_6">
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="label_Param4">
|
||||
<property name="text">
|
||||
<string>Param4</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="QPushButton" name="pushButton_param4">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Param4</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<spacer name="horizontalSpacer_7">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<layout class="QGridLayout" name="gridLayout_8">
|
||||
<item row="0" column="3">
|
||||
<widget class="QPushButton" name="pushButton_param5">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>120</width>
|
||||
<width>250</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
@@ -95,43 +226,6 @@
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="label_Type">
|
||||
<property name="text">
|
||||
<string>Type</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="QPushButton" name="pushButton_type">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>120</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Type</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="0" column="4">
|
||||
<layout class="QGridLayout" name="gridLayout_4">
|
||||
<item row="0" column="1">
|
||||
@@ -145,7 +239,7 @@
|
||||
<widget class="QPushButton" name="pushButton_param2">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>120</width>
|
||||
<width>200</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
@@ -169,37 +263,30 @@
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="0" column="3" rowspan="3">
|
||||
<widget class="Line" name="line_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="4">
|
||||
<layout class="QGridLayout" name="gridLayout_6">
|
||||
<item row="1" column="2">
|
||||
<layout class="QGridLayout" name="gridLayout_5">
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="label_Param4">
|
||||
<widget class="QLabel" name="label_Param3">
|
||||
<property name="text">
|
||||
<string>Param4</string>
|
||||
<string>Param3</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="QPushButton" name="pushButton_param4">
|
||||
<widget class="QPushButton" name="pushButton_param3">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>120</width>
|
||||
<width>250</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Param4</string>
|
||||
<string>Param3</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<spacer name="horizontalSpacer_7">
|
||||
<spacer name="horizontalSpacer_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
@@ -213,7 +300,51 @@
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="5" column="0" colspan="7">
|
||||
<item row="1" column="0">
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="label_Type">
|
||||
<property name="text">
|
||||
<string>Type</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="QPushButton" name="pushButton_type">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>250</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Type</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="3" column="0" colspan="6">
|
||||
<widget class="Line" name="line">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0" colspan="6">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
@@ -226,50 +357,7 @@
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="6" column="0" colspan="7">
|
||||
<layout class="QGridLayout" name="gridLayout_7">
|
||||
<item row="0" column="2">
|
||||
<widget class="QPushButton" name="pushButton_Connect">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>120</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Connect</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QPushButton" name="pushButton_Cancel">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>120</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Cancel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<spacer name="horizontalSpacer_8">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="6">
|
||||
<item row="1" column="5">
|
||||
<spacer name="horizontalSpacer_10">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
@@ -282,101 +370,6 @@
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="7">
|
||||
<widget class="QLabel" name="label_Description">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="label_usrName">
|
||||
<property name="text">
|
||||
<string>Tiltle</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="QPushButton" name="pushButton_usrName">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>120</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>USR Name</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="3" column="0" colspan="7">
|
||||
<widget class="Line" name="line">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="label_Param1">
|
||||
<property name="text">
|
||||
<string>Param1</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="QPushButton" name="pushButton_param1">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>120</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Param1</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<spacer name="horizontalSpacer_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="0" column="5" rowspan="3">
|
||||
<widget class="Line" name="line_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
|
||||
+39
-1
@@ -136,10 +136,21 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
connect(missionUI,SIGNAL(WPDelete(int)),
|
||||
map,SLOT(WPDelete(int)));
|
||||
|
||||
|
||||
connect(missionUI,SIGNAL(WPInsert(int)),
|
||||
map,SLOT(WPInsert(int)));
|
||||
|
||||
connect(missionUI,SIGNAL(WPUpload()),
|
||||
map,SLOT(WPUpload()));
|
||||
|
||||
connect(missionUI,SIGNAL(WPDownload()),
|
||||
map,SLOT(WPDownload()));
|
||||
|
||||
connect(missionUI,SIGNAL(WPSave()),
|
||||
map,SLOT(WPSave()));
|
||||
|
||||
connect(missionUI,SIGNAL(WPLoad()),
|
||||
map,SLOT(WPLoad()));
|
||||
|
||||
|
||||
connect(map,SIGNAL(allPoint(QMap<int,int>)),
|
||||
missionUI,SLOT(setallPoint(QMap<int,int>)));
|
||||
@@ -150,6 +161,33 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//dlink ----- map
|
||||
connect(map,SIGNAL(signal_WPDownload(uint8_t, uint8_t)),
|
||||
dlink->mavlinknode->Mission,SLOT(ReadCmd(uint8_t, uint8_t)),Qt::DirectConnection);
|
||||
|
||||
connect(map,SIGNAL(signal_WPUpload(uint8_t,uint8_t,uint32_t)),
|
||||
dlink->mavlinknode->Mission,SLOT(WriteCmd(uint8_t,uint8_t,uint32_t)),Qt::DirectConnection);
|
||||
|
||||
//connect(dlink->mavlinknode->Mission,SIGNAL()
|
||||
|
||||
|
||||
qRegisterMetaType<int32_t>("int32_t");
|
||||
|
||||
connect(dlink->mavlinknode->Mission,SIGNAL(receivedPoint(float,float,float,float,int32_t,int32_t,float,uint16_t,uint16_t,uint16_t,uint8_t,uint8_t,uint8_t,uint8_t,uint8_t,uint8_t)),
|
||||
map,SLOT(receivedPoint(float,float,float,float,int32_t,int32_t,float,uint16_t,uint16_t,uint16_t,uint8_t,uint8_t,uint8_t,uint8_t,uint8_t,uint8_t)),Qt::DirectConnection);
|
||||
|
||||
|
||||
connect(map,SIGNAL(WPProperty(float,float,float,float,int32_t,int32_t,float,uint16_t,uint16_t,uint16_t,uint8_t,uint8_t,uint8_t,uint8_t,uint8_t,uint8_t)),
|
||||
dlink->mavlinknode->Mission,SLOT(transmitPoint(float,float,float,float,int32_t,int32_t,float,uint16_t,uint16_t,uint16_t,uint8_t,uint8_t,uint8_t,uint8_t,uint8_t,uint8_t)),Qt::DirectConnection);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
commandUI = new CommandUI(this);
|
||||
|
||||
|
||||
|
||||
@@ -4,14 +4,17 @@ TEMPLATE = subdirs
|
||||
|
||||
CONFIG += ordered
|
||||
|
||||
SUBDIRS += MavLinkNode
|
||||
|
||||
|
||||
#SUBDIRS += SerialPortDialog
|
||||
#SUBDIRS += ClientLinkDialog
|
||||
SUBDIRS += Skin
|
||||
SUBDIRS += opmap
|
||||
SUBDIRS += qNavigationWidget
|
||||
SUBDIRS += Cockpit
|
||||
SUBDIRS += opmap
|
||||
|
||||
|
||||
SUBDIRS += MavLinkNode
|
||||
SUBDIRS += dlink
|
||||
|
||||
SUBDIRS += App
|
||||
|
||||
@@ -55,6 +55,14 @@ SOURCES += \
|
||||
parameterprocess.cpp \
|
||||
missionprocess.cpp
|
||||
|
||||
INCLUDEPATH += $$PWD/../thirdpart/include
|
||||
|
||||
LIBS += -L$$PWD/../thirdpart/lib -lcore
|
||||
LIBS += -L$$PWD/../thirdpart/lib -linternals
|
||||
LIBS += -L$$PWD/../thirdpart/lib -lopmapwidget
|
||||
|
||||
|
||||
|
||||
#添加mavlink目录
|
||||
INCLUDEPATH += $$PWD/../mavlink \
|
||||
$$PWD/../mavlink/ardupilotmega \
|
||||
|
||||
@@ -305,6 +305,8 @@ void MavLinkNode::Mavlinkparse(quint32 src,QByteArray datagram)
|
||||
void MavLinkNode::MAVLinkRcv_Handler(mavlink_message_t msg)
|
||||
{
|
||||
//用于给参数添加设备,便于读取
|
||||
//qDebug() << "msg.sysid" <<msg.sysid << "msg.compid" << msg.compid;
|
||||
|
||||
Parameter->paramInspect->addVehicles(msg.sysid);
|
||||
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ void MissionProcess::process()//线程函数
|
||||
case RecieveMode : ReadStateMachine();break;
|
||||
case TransmitMode : WriteStateMachine();break;
|
||||
}
|
||||
|
||||
//qDebug() << count;
|
||||
}
|
||||
//退出线程
|
||||
Missionthread->quit();
|
||||
@@ -88,6 +88,8 @@ void MissionProcess::ReadCmd(uint8_t m_sysid, uint8_t m_compid)
|
||||
compid = m_compid;
|
||||
mission_status.m_Mode = RecieveMode;//接收模式
|
||||
|
||||
qDebug() << "recieve read cmd";
|
||||
|
||||
start();//开启线程
|
||||
}
|
||||
|
||||
@@ -101,6 +103,67 @@ void MissionProcess::WriteCmd(uint8_t m_sysid, uint8_t m_compid ,uint32_t count
|
||||
start();//开启线程
|
||||
}
|
||||
|
||||
void MissionProcess::transmitPoint(float param1,float param2,float param3,float param4,
|
||||
int32_t x,int32_t y,float z,
|
||||
uint16_t seq,
|
||||
uint16_t group,
|
||||
uint16_t command,
|
||||
uint8_t target_system,
|
||||
uint8_t target_component,
|
||||
uint8_t frame,
|
||||
uint8_t current,
|
||||
uint8_t autocontinue,
|
||||
uint8_t mission_type)
|
||||
{
|
||||
|
||||
mapcontrol::WayPointItem::_property item;
|
||||
|
||||
item.param1 = param1;
|
||||
item.param2 = param2;
|
||||
item.param3 = param3;
|
||||
item.param4 = param4;
|
||||
item.x = x;
|
||||
item.y = y;
|
||||
item.z = z;
|
||||
item.seq = seq;
|
||||
item.group = group;
|
||||
item.command = command;
|
||||
item.target_system = target_system;
|
||||
item.target_component = target_component;
|
||||
item.frame = frame;
|
||||
item.current = current;
|
||||
item.autocontinue = autocontinue;
|
||||
item.mission_type = mission_type;
|
||||
|
||||
items.insert(seq,item);
|
||||
|
||||
|
||||
|
||||
foreach (mapcontrol::WayPointItem::_property item, items) {
|
||||
qDebug() << item.param1
|
||||
<< item.param2
|
||||
<< item.param3
|
||||
<< item.param4
|
||||
<< item.x
|
||||
<< item.y
|
||||
<< item.z
|
||||
<< item.seq
|
||||
<< item.group
|
||||
<< item.command
|
||||
<< item.target_system
|
||||
<< item.target_component
|
||||
<< item.frame
|
||||
<< item.current
|
||||
<< item.autocontinue
|
||||
<< item.mission_type;
|
||||
|
||||
}
|
||||
|
||||
qDebug() << "transmit" << seq;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
//这个函数类似中断,专门处理接收到的状态
|
||||
void MissionProcess::Parse(mavlink_message_t msg)
|
||||
@@ -116,15 +179,32 @@ void MissionProcess::Parse(mavlink_message_t msg)
|
||||
}break;
|
||||
case MAVLINK_MSG_ID_MISSION_REQUEST_INT: {
|
||||
mavlink_msg_mission_request_int_decode(&msg,&mission_request_int);
|
||||
qDebug() << "recieve mission_request_int ";
|
||||
mission_item_int.seq++;
|
||||
mission_status.transmit.isWaiteforRequest = false;
|
||||
}break;
|
||||
case MAVLINK_MSG_ID_MISSION_REQUEST: {
|
||||
mavlink_msg_mission_request_decode(&msg,&mission_request);
|
||||
qDebug() << "recieve mission_request ";
|
||||
mission_item_int.seq++;
|
||||
mission_status.transmit.isWaiteforRequest = false;
|
||||
}break;
|
||||
case MAVLINK_MSG_ID_MISSION_ITEM_INT: {
|
||||
mavlink_msg_mission_item_int_decode(&msg,&mission_item_int);
|
||||
qDebug() << "recieve mission " << mission_item_int.seq;
|
||||
|
||||
//把航点发出去
|
||||
emit receivedPoint(mission_item_int.param1,mission_item_int.param2,mission_item_int.param3,mission_item_int.param4,
|
||||
mission_item_int.x,mission_item_int.y,mission_item_int.z,
|
||||
mission_item_int.seq,0,
|
||||
mission_item_int.command,
|
||||
mission_item_int.target_system,
|
||||
mission_item_int.target_component,
|
||||
mission_item_int.frame,
|
||||
mission_item_int.current,
|
||||
mission_item_int.autocontinue,
|
||||
mission_item_int.mission_type);
|
||||
|
||||
mission_status.recieve.isWaitingforItem = false;//已经收到航点,不用再等待
|
||||
}break;
|
||||
case MAVLINK_MSG_ID_MISSION_ITEM: {
|
||||
@@ -293,6 +373,7 @@ void MissionProcess::WriteStateMachine(void)
|
||||
if(step == 0)
|
||||
{
|
||||
//向其他线程或者自己读取航点的数量
|
||||
qDebug() << "start send count";
|
||||
count(mission_status.transmit.count);//发送count
|
||||
mission_status.transmit.isWaiteforRequest = true;
|
||||
time = QTime::currentTime().msecsSinceStartOfDay();
|
||||
@@ -310,12 +391,18 @@ void MissionProcess::WriteStateMachine(void)
|
||||
step = 0;
|
||||
mission_status.m_Mode = Nop_Mode;
|
||||
timeout_count = 0;
|
||||
qDebug() << "waitfor request time out,abort transmit";
|
||||
|
||||
}
|
||||
qDebug() << "waitfor request time out" << timeout_count;
|
||||
|
||||
}
|
||||
else//如果没有超时,那么就进入下一个阶段
|
||||
{
|
||||
if(mission_status.transmit.isWaiteforRequest == false)
|
||||
{
|
||||
qDebug() << "recieve item Request";
|
||||
mission_item_int.seq = 0;
|
||||
step ++;
|
||||
time = QTime::currentTime().msecsSinceStartOfDay();
|
||||
}
|
||||
@@ -332,8 +419,11 @@ void MissionProcess::WriteStateMachine(void)
|
||||
step = 0;
|
||||
mission_status.m_Mode = Nop_Mode;
|
||||
timeout_count = 0;
|
||||
|
||||
qDebug() << "send item time out,abort transmit";
|
||||
}
|
||||
//如果超时了,重新发一次当前航点
|
||||
qDebug() << "send item time out" << timeout_count;
|
||||
mission_status.transmit.isWaiteforRequest = false;
|
||||
|
||||
}
|
||||
@@ -342,9 +432,26 @@ void MissionProcess::WriteStateMachine(void)
|
||||
if(mission_status.transmit.isWaiteforRequest == false)//收到Request
|
||||
{
|
||||
//分成两类,int和不带int
|
||||
if(mission_item_int.seq < mission_count.count)
|
||||
if(mission_item_int.seq < mission_status.transmit.count)
|
||||
{
|
||||
//item_int(mission_item_int.seq+1);//发送航点
|
||||
qDebug() << "send item" << mission_item_int.seq;
|
||||
|
||||
mapcontrol::WayPointItem::_property i;
|
||||
|
||||
i = *items.find(mission_item_int.seq);
|
||||
|
||||
/*
|
||||
item_int(i.param1,i.param2,i.param3,i.param4,
|
||||
i.x,i.y,i.z,
|
||||
i.seq,i.command,i.frame,
|
||||
i.current,i.autocontinue,i.mission_type);//发送航点
|
||||
*/
|
||||
|
||||
item(i.param1,i.param2,i.param3,i.param4,
|
||||
i.x * 10e-7,i.y * 10e-7,i.z * 10e-4,
|
||||
i.seq,i.command,i.frame,
|
||||
i.current,i.autocontinue,i.mission_type);//发送航点
|
||||
|
||||
mission_status.transmit.isWaiteforRequest = true;
|
||||
|
||||
time = QTime::currentTime().msecsSinceStartOfDay();
|
||||
@@ -365,6 +472,7 @@ void MissionProcess::WriteStateMachine(void)
|
||||
timeout_count ++;
|
||||
if(timeout_count > 5)//如果指令发5次还没发出去,那么结束读取
|
||||
{
|
||||
qDebug() << "wait for ack time out ,transmit compelet";
|
||||
step = 0;
|
||||
mission_status.m_Mode = Nop_Mode;
|
||||
mission_status.transmit.isWaiteforACK = false;
|
||||
@@ -377,6 +485,7 @@ void MissionProcess::WriteStateMachine(void)
|
||||
//收到ACK
|
||||
if(mission_status.transmit.isWaiteforACK == false)
|
||||
{
|
||||
qDebug() << "recieve ack ,transmit compelet";
|
||||
step = 0;
|
||||
mission_status.m_Mode = Nop_Mode;
|
||||
mission_status.transmit.isWaiteforRequest = false;
|
||||
|
||||
@@ -4,6 +4,10 @@
|
||||
#include <QObject>
|
||||
//#include "mavlinknode.h"
|
||||
|
||||
#include "opmapwidget.h"
|
||||
#include "waypointitem.h"
|
||||
#include "maptype.h"
|
||||
|
||||
#include "QDebug"
|
||||
#include "QThread"
|
||||
#include "mavlink.h"
|
||||
@@ -51,9 +55,7 @@ public:
|
||||
|
||||
_mission_ mission_status;
|
||||
|
||||
//读取航线的指令
|
||||
void ReadCmd(uint8_t m_sysid, uint8_t m_compid);
|
||||
void WriteCmd(uint8_t m_sysid, uint8_t m_compid ,uint32_t count );
|
||||
|
||||
public slots:
|
||||
//线程对外接口
|
||||
void setRunFrq(uint32_t frq);
|
||||
@@ -64,8 +66,21 @@ public slots:
|
||||
void Parse(mavlink_message_t msg);
|
||||
|
||||
|
||||
//读取航线的指令
|
||||
void ReadCmd(uint8_t m_sysid, uint8_t m_compid);
|
||||
void WriteCmd(uint8_t m_sysid, uint8_t m_compid ,uint32_t count );
|
||||
|
||||
|
||||
void transmitPoint(float param1,float param2,float param3,float param4,
|
||||
int32_t x,int32_t y,float z,
|
||||
uint16_t seq,
|
||||
uint16_t group,
|
||||
uint16_t command,
|
||||
uint8_t target_system,
|
||||
uint8_t target_component,
|
||||
uint8_t frame,
|
||||
uint8_t current,
|
||||
uint8_t autocontinue,
|
||||
uint8_t mission_type);
|
||||
|
||||
|
||||
private slots:
|
||||
@@ -110,6 +125,21 @@ signals:
|
||||
|
||||
void SendMessageTo(quint8 ch, quint8 *data,quint16 len);
|
||||
|
||||
|
||||
void receivedPoint(float param1,float param2,float param3,float param4,
|
||||
int32_t x,int32_t y,float z,
|
||||
uint16_t seq,
|
||||
uint16_t group,
|
||||
uint16_t command,
|
||||
uint8_t target_system,
|
||||
uint8_t target_component,
|
||||
uint8_t frame,
|
||||
uint8_t current,
|
||||
uint8_t autocontinue,
|
||||
uint8_t mission_type);
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
uint8_t sysid;
|
||||
@@ -135,7 +165,7 @@ private:
|
||||
|
||||
|
||||
|
||||
|
||||
QList<mapcontrol::WayPointItem *> wplist;
|
||||
|
||||
|
||||
//bool isReadMission = false;
|
||||
@@ -145,7 +175,7 @@ private:
|
||||
//bool isWriteMission = false;
|
||||
|
||||
|
||||
|
||||
QMap<int,mapcontrol::WayPointItem::_property> items;
|
||||
|
||||
//bool ismTimerTimeOut = false;
|
||||
|
||||
|
||||
@@ -308,7 +308,7 @@ void OPMapWidget::mouseDoubleClickEvent(QMouseEvent *event)
|
||||
p = map->mapFromParent(p);
|
||||
internals::PointLatLng LatLng;
|
||||
LatLng = map->FromLocalToLatLng(p.x(), p.y());
|
||||
WayPointItem *Item = WPCreate(LatLng,0);
|
||||
WayPointItem *Item = WPCreate(LatLng,50);
|
||||
|
||||
WPLineCreate(WPFind(Item->Number() - 1),Item,Qt::green,false,2);
|
||||
//qDebug() << "OPMapWidget" << Item->Number() <<QString::number(LatLng.Lat(),'f',8) << QString::number(LatLng.Lng(),'f',8);
|
||||
@@ -875,29 +875,89 @@ void OPMapWidget::setWPCreate(bool const & value)
|
||||
isWPCreate = value;
|
||||
}
|
||||
|
||||
void OPMapWidget::WPLoad(void)
|
||||
void OPMapWidget::WPLoad(void)//带文件目录参数
|
||||
{
|
||||
|
||||
qDebug() << "WPLoad";
|
||||
}
|
||||
|
||||
void OPMapWidget::WPSave(void)
|
||||
void OPMapWidget::WPSave(void)//带文件目录参数
|
||||
{
|
||||
|
||||
qDebug() << "WPSave";
|
||||
}
|
||||
|
||||
void OPMapWidget::WPDownload(void)
|
||||
{
|
||||
//请求读取航点
|
||||
qDebug() << "WPDownload";
|
||||
|
||||
WPDeleteAll();
|
||||
|
||||
emit signal_WPDownload(1,0);
|
||||
|
||||
|
||||
}
|
||||
|
||||
void OPMapWidget::WPUpload(void)
|
||||
{
|
||||
//发送第一个
|
||||
QList<mapcontrol::WayPointItem *> list;
|
||||
|
||||
//QMap<int,QVector<QVariant>> list;
|
||||
|
||||
|
||||
//先发送一个清空指令
|
||||
|
||||
foreach(QGraphicsItem * i, map->childItems()) {
|
||||
WayPointItem *w = qgraphicsitem_cast<WayPointItem *>(i);
|
||||
if (w) {
|
||||
list.append(w);
|
||||
w->emitWPProperty();
|
||||
}
|
||||
}
|
||||
|
||||
qDebug() << "WPUpload" << list.size();
|
||||
|
||||
emit signal_WPUpload(1,0,list.size());//直接发送全部航点到
|
||||
|
||||
}
|
||||
|
||||
void OPMapWidget::receivedPoint(float param1,float param2,float param3,float param4,
|
||||
int32_t x,int32_t y,float z,
|
||||
uint16_t seq,
|
||||
uint16_t group,
|
||||
uint16_t command,
|
||||
uint8_t target_system,
|
||||
uint8_t target_component,
|
||||
uint8_t frame,
|
||||
uint8_t current,
|
||||
uint8_t autocontinue,
|
||||
uint8_t mission_type)
|
||||
{
|
||||
|
||||
qDebug() << "receivers Point" << x * 10e-8 << y * 10e-8 << 10e-8;
|
||||
|
||||
internals::PointLatLng LatLng;
|
||||
|
||||
LatLng.SetLat(x * 10e-8);
|
||||
LatLng.SetLng(y * 10e-8);
|
||||
|
||||
WayPointItem *Item = WPCreate(LatLng,z);
|
||||
|
||||
emit setWPProperty(param1,param2,param3,param4,
|
||||
x,y,z,
|
||||
seq,
|
||||
group,
|
||||
command,
|
||||
target_system,
|
||||
target_component,
|
||||
frame,
|
||||
current,
|
||||
autocontinue,
|
||||
mission_type);
|
||||
|
||||
|
||||
WPLineCreate(WPFind(Item->Number() - 1),Item,Qt::green,false,2);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -524,9 +524,39 @@ signals:
|
||||
|
||||
|
||||
|
||||
void signal_WPDownload(uint8_t m_sysid, uint8_t m_compid);
|
||||
void signal_WPUpload(uint8_t m_sysid, uint8_t m_compid, uint32_t count);
|
||||
|
||||
|
||||
void transmitPoint(float param1,float param2,float param3,float param4,
|
||||
int32_t x,int32_t y,float z,
|
||||
uint16_t seq,
|
||||
uint16_t group,
|
||||
uint16_t command,
|
||||
uint8_t target_system,
|
||||
uint8_t target_component,
|
||||
uint8_t frame,
|
||||
uint8_t current,
|
||||
uint8_t autocontinue,
|
||||
uint8_t mission_type);
|
||||
|
||||
|
||||
public slots:
|
||||
|
||||
|
||||
void receivedPoint(float param1,float param2,float param3,float param4,
|
||||
int32_t x,int32_t y,float z,
|
||||
uint16_t seq,
|
||||
uint16_t group,
|
||||
uint16_t command,
|
||||
uint8_t target_system,
|
||||
uint8_t target_component,
|
||||
uint8_t frame,
|
||||
uint8_t current,
|
||||
uint8_t autocontinue,
|
||||
uint8_t mission_type);
|
||||
|
||||
|
||||
void WPLineDelete(WayPointItem *from, WayPointItem *to);
|
||||
WayPointLine *WPLineFind(WayPointItem *from, WayPointItem *to);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user