协同dlink和mavlink

This commit is contained in:
hm
2020-02-26 23:28:44 +08:00
parent 9502eecea5
commit 2e379ee660
9 changed files with 166 additions and 60 deletions
+51 -24
View File
@@ -14,6 +14,10 @@ MainWindow::MainWindow(QWidget *parent)
//ui->maintoolBar->addAction(ui->action);
dlink = new DLink();
nav = new QNavigationWidget(this);
copk = new Cockpit(this);
@@ -25,17 +29,29 @@ MainWindow::MainWindow(QWidget *parent)
nav->setRowHeight(50);
nav->addItem(tr("设备"));
nav->addItem(tr("地图"));
nav->addItem(tr("指令"));
nav->addItem(tr("检查"));
nav->addItem(tr("航线"));
nav->addItem(tr("任务"));
nav->addItem(tr("数据"));
nav->addItem(tr("回放"));
nav->addItem(tr("关于"));
nav->addItem(tr("DRV"));
nav->addItem(tr("MAP"));
nav->addItem(tr("CMD"));
nav->addItem(tr("CHK"));
nav->addItem(tr("WAY"));
nav->addItem(tr("MIS"));
nav->addItem(tr("DAT"));
nav->addItem(tr("REP"));
nav->addItem(tr("COM"));
/*
connect(nav,SIGNAL(currentItemChanged(const int &index)),
this,SLOT(onTabIndexChanged(const int &index)));
*/
connect(nav,SIGNAL(ItemChanged(int)),
this,SLOT(onTabIndexChanged(int)));
//connect(nav,&QNavigationWidget::currentItemChanged,
// this,&MainWindow::onTabIndexChanged);
node = new MavLinkNode();
//node->start();
qDebug() << "mainwindow " << QThread::currentThreadId();
@@ -89,7 +105,17 @@ void MainWindow::resizeEvent(QResizeEvent *e)
}
void MainWindow::onTabIndexChanged(const int &index)
{
if(index == 1)
{
dlink_triggered();
}
else if (index == 2)
{
client_triggered();
}
}
void MainWindow::dlink_triggered()
@@ -105,9 +131,6 @@ void MainWindow::dlink_triggered()
if (QDialog::Accepted == ret)
{
dlink->stopPort();
// statusBar()->showMessage(tr("SerialPort Disconnect"));
}
}
else
@@ -123,22 +146,26 @@ void MainWindow::dlink_triggered()
if (QDialog::Accepted == ret)
{
dlink->setupPort(dlg.port, dlg.baudrate,dlg.parity);
//statusBar()->showMessage(tr("SerialPort Connected:") + dlg.port + tr(",") + QString::number(dlg.baudrate));
node->start();
}
else
{
node->stop();
}
}
}
void MainWindow::client_triggered()
{
ClientLinkDialog dlg(this);
dlg.setWindowTitle(tr("ClientLink"));
//dlg.setWindowIcon(ui->action_dlink->icon());
int ret = dlg.exec();
if (QDialog::Accepted == ret)
{
dlink->setupClient(dlg.remote_addr,dlg.remote_port,dlg.local_port);
}
}