diff --git a/src/ui/CommConfigurationWindow.cc b/src/ui/CommConfigurationWindow.cc index 389d405e7ddf3fbe006282dd556900fb43ad39ee..3ff17d01c2ed7f35be62f185575f9751448b2dba 100644 --- a/src/ui/CommConfigurationWindow.cc +++ b/src/ui/CommConfigurationWindow.cc @@ -353,13 +353,13 @@ void CommConfigurationWindow::setProtocol(int protocol) void CommConfigurationWindow::setConnection() { if(!link->isConnected()) { - link->connect(); + LinkManager::instance()->connectLink(link); QGC::SLEEP::msleep(100); if (link->isConnected()) // Auto-close window on connect this->window()->close(); } else { - link->disconnect(); + LinkManager::instance()->disconnectLink(link); } } diff --git a/src/ui/DebugConsole.cc b/src/ui/DebugConsole.cc index 9237142da68d86e4a0c48924a9073953f2095278..857e6405377be83d1cfa02f25fe43b7688013c14 100644 --- a/src/ui/DebugConsole.cc +++ b/src/ui/DebugConsole.cc @@ -782,9 +782,9 @@ void DebugConsole::handleConnectButton() { if (currLink) { if (currLink->isConnected()) { - currLink->disconnect(); + LinkManager::instance()->disconnect(currLink); } else { - currLink->connect(); + LinkManager::instance()->connectLink(currLink); } } } diff --git a/src/ui/QGCToolBar.cc b/src/ui/QGCToolBar.cc index 3fbf90ec7218865087bd97b5d17f0d8cecfe7564..bca5dd8e9f37f7201a7787760630c4bc308d835e 100644 --- a/src/ui/QGCToolBar.cc +++ b/src/ui/QGCToolBar.cc @@ -769,24 +769,25 @@ void QGCToolBar::updateLinkState(bool connected) void QGCToolBar::connectLink(bool connect) { + LinkManager* linkMgr = LinkManager::instance(); + Q_ASSERT(linkMgr); + // No serial port yet present - if (connect && LinkManager::instance()->getSerialLinks().count() == 0) - { + if (connect && linkMgr->getSerialLinks().count() == 0) { MainWindow::instance()->addLink(); - currentLink = LinkManager::instance()->getLinks().last(); + currentLink = linkMgr->getLinks().last(); } else if (connect) { SerialLink *link = qobject_cast(currentLink); - if (link) - { + + if (link) { link->setPortName(portComboBox->itemData(portComboBox->currentIndex()).toString().trimmed()); int baud = baudcomboBox->currentText().toInt(); link->setBaudRate(baud); QObject::connect(link, SIGNAL(connected(bool)), this, SLOT(updateLinkState(bool))); - link->connect(); + linkMgr->connectLink(link); } - } else if (!connect && currentLink) { - currentLink->disconnect(); + linkMgr->disconnectLink(currentLink); QObject::disconnect(currentLink, SIGNAL(connected(bool)), this, SLOT(updateLinkState(bool))); } diff --git a/src/ui/uas/QGCUnconnectedInfoWidget.cc b/src/ui/uas/QGCUnconnectedInfoWidget.cc index 3a77c1afd8224156b369f59c21c5e808caafa9ca..20d1004af8f2728d27d5a7b45dd86f29892c7c1d 100644 --- a/src/ui/uas/QGCUnconnectedInfoWidget.cc +++ b/src/ui/uas/QGCUnconnectedInfoWidget.cc @@ -30,7 +30,7 @@ void QGCUnconnectedInfoWidget::simulate() foreach(LinkInterface* link, links) { MAVLinkSimulationLink* sim = dynamic_cast(link); if (sim) { - sim->connectLink(); + LinkManager::instance()->connectLink(sim); } } }