From 1af73389da4cfb270503bbb5ab80d63320174a26 Mon Sep 17 00:00:00 2001 From: lm Date: Mon, 19 Jul 2010 18:25:21 +0200 Subject: [PATCH] Cleanups --- src/ui/HUD.cc | 5 +- src/ui/MainWindow.cc | 108 ++++++++++++++++++++++++++++++++++++--- src/ui/MainWindow.h | 4 ++ src/ui/QGCParamWidget.cc | 1 + src/ui/QGCParamWidget.h | 1 + 5 files changed, 112 insertions(+), 7 deletions(-) diff --git a/src/ui/HUD.cc b/src/ui/HUD.cc index cd14ab509..11ce1208d 100644 --- a/src/ui/HUD.cc +++ b/src/ui/HUD.cc @@ -569,7 +569,10 @@ void HUD::paintHUD() float yawTrans = yawInt * (double)maxYawTrans; yawInt *= 0.6f; - //qDebug() << "yaw translation" << yawTrans << "integral" << yawInt << "difference" << yawDiff << "yaw" << yaw << "asin(yawInt)" << asinYaw; + + if ((yawTrans < 5.0) && (yawTrans > -5.0)) yawTrans = 0; + + qDebug() << "yaw translation" << yawTrans << "integral" << yawInt << "difference" << yawDiff << "yaw" << yaw; // Update scaling factor // adjust scaling to fit both horizontally and vertically diff --git a/src/ui/MainWindow.cc b/src/ui/MainWindow.cc index 6e987f75d..e94b180a9 100644 --- a/src/ui/MainWindow.cc +++ b/src/ui/MainWindow.cc @@ -48,6 +48,10 @@ This file is part of the QGROUNDCONTROL project #include "JoystickWidget.h" #include "GAudioOutput.h" +// FIXME Move +#include "PxQuadMAV.h" +#include "SlugsMAV.h" + #include "LogCompressor.h" @@ -344,6 +348,12 @@ void MainWindow::UASCreated(UASInterface* uas) // Revalidate UI // TODO Stylesheet reloading should in theory not be necessary reloadStylesheet(); + + // Check which type this UAS is of + PxQuadMAV* mav = dynamic_cast(uas); + if (mav) loadPixhawkView(); + SlugsMAV* mav2 = dynamic_cast(uas); + if (mav2) loadSlugsView(); } /** @@ -377,6 +387,98 @@ void MainWindow::clearView() } } +void MainWindow::loadSlugsView() +{ + clearView(); + // Engineer view, used in EMAV2009 + + // LINE CHART + linechart->setActive(true); + centerStack->setCurrentWidget(linechart); + + // UAS CONTROL + QDockWidget* container1 = new QDockWidget(tr("Control"), this); + container1->setWidget(control); + addDockWidget(Qt::LeftDockWidgetArea, container1); + + // UAS LIST + QDockWidget* container4 = new QDockWidget(tr("Unmanned Systems"), this); + container4->setWidget(list); + addDockWidget(Qt::BottomDockWidgetArea, container4); + + // UAS STATUS + QDockWidget* container3 = new QDockWidget(tr("Status Details"), this); + container3->setWidget(info); + addDockWidget(Qt::LeftDockWidgetArea, container3); + + // HORIZONTAL SITUATION INDICATOR + QDockWidget* container6 = new QDockWidget(tr("Horizontal Situation Indicator"), this); + container6->setWidget(hsi); + hsi->start(); + addDockWidget(Qt::LeftDockWidgetArea, container6); + + // WAYPOINT LIST + QDockWidget* container5 = new QDockWidget(tr("Waypoint List"), this); + container5->setWidget(waypoints); + addDockWidget(Qt::BottomDockWidgetArea, container5); + + // DEBUG CONSOLE + QDockWidget* container7 = new QDockWidget(tr("Communication Console"), this); + container7->setWidget(debugConsole); + addDockWidget(Qt::BottomDockWidgetArea, container7); + + // ONBOARD PARAMETERS + QDockWidget* containerParams = new QDockWidget(tr("Onboard Parameters"), this); + containerParams->setWidget(parameters); + addDockWidget(Qt::RightDockWidgetArea, containerParams); + + + this->show(); +} + +void MainWindow::loadPixhawkView() +{ + clearView(); + // Engineer view, used in EMAV2009 + + // LINE CHART + linechart->setActive(true); + centerStack->setCurrentWidget(linechart); + + // UAS CONTROL + QDockWidget* container1 = new QDockWidget(tr("Control"), this); + container1->setWidget(control); + addDockWidget(Qt::LeftDockWidgetArea, container1); + + // UAS LIST + QDockWidget* container4 = new QDockWidget(tr("Unmanned Systems"), this); + container4->setWidget(list); + addDockWidget(Qt::BottomDockWidgetArea, container4); + + // UAS STATUS + QDockWidget* container3 = new QDockWidget(tr("Status Details"), this); + container3->setWidget(info); + addDockWidget(Qt::LeftDockWidgetArea, container3); + + // WAYPOINT LIST + QDockWidget* container5 = new QDockWidget(tr("Waypoint List"), this); + container5->setWidget(waypoints); + addDockWidget(Qt::BottomDockWidgetArea, container5); + + // DEBUG CONSOLE + QDockWidget* container7 = new QDockWidget(tr("Communication Console"), this); + container7->setWidget(debugConsole); + addDockWidget(Qt::BottomDockWidgetArea, container7); + + // ONBOARD PARAMETERS + QDockWidget* containerParams = new QDockWidget(tr("Onboard Parameters"), this); + containerParams->setWidget(parameters); + addDockWidget(Qt::RightDockWidgetArea, containerParams); + + + this->show(); +} + void MainWindow::loadPilotView() { clearView(); @@ -490,12 +592,6 @@ void MainWindow::loadEngineerView() container3->setWidget(info); addDockWidget(Qt::LeftDockWidgetArea, container3); - // HORIZONTAL SITUATION INDICATOR - QDockWidget* container6 = new QDockWidget(tr("Horizontal Situation Indicator"), this); - container6->setWidget(hsi); - hsi->start(); - addDockWidget(Qt::LeftDockWidgetArea, container6); - // WAYPOINT LIST QDockWidget* container5 = new QDockWidget(tr("Waypoint List"), this); container5->setWidget(waypoints); diff --git a/src/ui/MainWindow.h b/src/ui/MainWindow.h index a6149cfb1..4576384f7 100644 --- a/src/ui/MainWindow.h +++ b/src/ui/MainWindow.h @@ -117,6 +117,10 @@ public slots: /** @brief Load MAVLink XML generator view */ void loadMAVLinkView(); + // Fixme find a nicer solution that scales to more AP types + void loadSlugsView(); + void loadPixhawkView(); + /** @brief Reload the CSS style sheet */ void reloadStylesheet(); protected: diff --git a/src/ui/QGCParamWidget.cc b/src/ui/QGCParamWidget.cc index 590b90ab3..015af0691 100644 --- a/src/ui/QGCParamWidget.cc +++ b/src/ui/QGCParamWidget.cc @@ -270,6 +270,7 @@ void QGCParamWidget::requestParameterList() // Clear view and request param list clear(); parameters.clear(); + received.clear(); mav->requestParameters(); } diff --git a/src/ui/QGCParamWidget.h b/src/ui/QGCParamWidget.h index c688216e6..66ca255fc 100644 --- a/src/ui/QGCParamWidget.h +++ b/src/ui/QGCParamWidget.h @@ -83,6 +83,7 @@ protected: QMap* > paramGroups; ///< Parameter groups QMap* > changedValues; ///< Changed values QMap* > parameters; ///< All parameters + QVector received; ///< Successfully received parameters }; -- 2.22.0