From 274b20d8b4268c92d29f86983e1e1900a3657db1 Mon Sep 17 00:00:00 2001 From: Michael Carpenter Date: Thu, 20 Jun 2013 14:36:36 -0400 Subject: [PATCH] Change for layout of configuration widgets, and start of implmentation of RadioCalibration Widget --- files/images/devices/BR-HMC5883-01-2.jpg | Bin 0 -> 14551 bytes qgroundcontrol.qrc | 4 + src/ui/configuration/AccelCalibrationConfig.ui | 35 +++- src/ui/configuration/ApmHardwareConfig.cc | 30 +++ src/ui/configuration/ApmHardwareConfig.h | 31 +++ src/ui/configuration/CompassConfig.ui | 173 ++++++++++++++++- src/ui/configuration/FrameTypeConfig.cc | 49 +++++ src/ui/configuration/FrameTypeConfig.h | 40 +++- src/ui/configuration/FrameTypeConfig.ui | 110 +++++++++-- src/ui/configuration/RadioCalibrationConfig.cc | 100 ++++++++++ src/ui/configuration/RadioCalibrationConfig.h | 52 ++++- src/ui/configuration/RadioCalibrationConfig.ui | 253 ++++++++++++++++++++++++- 12 files changed, 840 insertions(+), 37 deletions(-) create mode 100644 files/images/devices/BR-HMC5883-01-2.jpg diff --git a/files/images/devices/BR-HMC5883-01-2.jpg b/files/images/devices/BR-HMC5883-01-2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f695795f6f93082d0e4a9b588aef3e9f515ff133 GIT binary patch literal 14551 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 G#Qy-=6;`wW literal 0 HcmV?d00001 diff --git a/qgroundcontrol.qrc b/qgroundcontrol.qrc index 0b614ff..fab4b89 100644 --- a/qgroundcontrol.qrc +++ b/qgroundcontrol.qrc @@ -106,6 +106,10 @@ files/images/apm_planner_logo_splash.png files/images/apm_planner_2_0-07.png files/images/apm_planner_2_0-08.png + files/images/mavs/frames_plus.png + files/images/mavs/frames_x.png + files/images/mavs/frames-05.png + files/images/devices/BR-HMC5883-01-2.jpg files/styles/Vera.ttf diff --git a/src/ui/configuration/AccelCalibrationConfig.ui b/src/ui/configuration/AccelCalibrationConfig.ui index 75fdd0c..43ca6a1 100644 --- a/src/ui/configuration/AccelCalibrationConfig.ui +++ b/src/ui/configuration/AccelCalibrationConfig.ui @@ -6,8 +6,8 @@ 0 0 - 400 - 300 + 576 + 354 @@ -16,8 +16,8 @@ - 20 - 20 + 10 + 0 231 31 @@ -29,6 +29,33 @@ false + + + + 60 + 60 + 81 + 31 + + + + Calibrate +Accelerometer + + + + + + 40 + 120 + 161 + 51 + + + + + + diff --git a/src/ui/configuration/ApmHardwareConfig.cc b/src/ui/configuration/ApmHardwareConfig.cc index 829b432..909db3a 100644 --- a/src/ui/configuration/ApmHardwareConfig.cc +++ b/src/ui/configuration/ApmHardwareConfig.cc @@ -1,3 +1,33 @@ +/*===================================================================== + +QGroundControl Open Source Ground Control Station + +(c) 2013 Michael Carpenter (malcom2073@gmail.com) + +This file is part of the QGROUNDCONTROL project + + QGROUNDCONTROL is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + QGROUNDCONTROL is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QGROUNDCONTROL. If not, see . + +======================================================================*/ + +/** + * @file + * @brief APM Hardware Configuration widget source. + * + * @author Michael Carpenter + * + */ #include "ApmHardwareConfig.h" diff --git a/src/ui/configuration/ApmHardwareConfig.h b/src/ui/configuration/ApmHardwareConfig.h index d021d26..8a2beac 100644 --- a/src/ui/configuration/ApmHardwareConfig.h +++ b/src/ui/configuration/ApmHardwareConfig.h @@ -1,3 +1,34 @@ +/*===================================================================== + +QGroundControl Open Source Ground Control Station + +(c) 2013 Michael Carpenter (malcom2073@gmail.com) + +This file is part of the QGROUNDCONTROL project + + QGROUNDCONTROL is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + QGROUNDCONTROL is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QGROUNDCONTROL. If not, see . + +======================================================================*/ + +/** + * @file + * @brief APM Hardware Configuration widget header. + * + * @author Michael Carpenter + * + */ + #ifndef APMHARDWARECONFIG_H #define APMHARDWARECONFIG_H diff --git a/src/ui/configuration/CompassConfig.ui b/src/ui/configuration/CompassConfig.ui index b97069d..8f7edd5 100644 --- a/src/ui/configuration/CompassConfig.ui +++ b/src/ui/configuration/CompassConfig.ui @@ -6,8 +6,8 @@ 0 0 - 400 - 300 + 565 + 241 @@ -16,9 +16,9 @@ - 30 - 20 - 131 + 10 + 0 + 521 31 @@ -29,7 +29,168 @@ false + + + + 230 + 100 + 101 + 16 + + + + <a href="http://magnetic-declination.com/">Declination Website</a> + + + + + + 280 + 120 + 201 + 22 + + + + + + + 300 + 180 + 91 + 23 + + + + Live Calibration + + + + + + 390 + 180 + 91 + 23 + + + + Log Calibration + + + + + + 340 + 160 + 91 + 16 + + + + Advanced Config + + + + + + 220 + 70 + 321 + 31 + + + + + + + + + + in Degrees eg 2* 3' W is -2.3 + + + + + + + + + 10 + 70 + 201 + 111 + + + + + + + + 100 + 100 + + + + + + + :/files/images/devices/BR-HMC5883-01-2.jpg + + + true + + + + + + + + + Enable + + + + + + + Auto Declination + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + 220 + 120 + 54 + 20 + + + + Orientation + + - + + + diff --git a/src/ui/configuration/FrameTypeConfig.cc b/src/ui/configuration/FrameTypeConfig.cc index ac514ca..abb8942 100644 --- a/src/ui/configuration/FrameTypeConfig.cc +++ b/src/ui/configuration/FrameTypeConfig.cc @@ -1,11 +1,60 @@ +/*===================================================================== + +QGroundControl Open Source Ground Control Station + +(c) 2013 Michael Carpenter (malcom2073@gmail.com) + +This file is part of the QGROUNDCONTROL project + + QGROUNDCONTROL is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + QGROUNDCONTROL is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QGROUNDCONTROL. If not, see . + +======================================================================*/ + +/** + * @file + * @brief Airframe type configuration widget source. + * + * @author Michael Carpenter + * + */ + #include "FrameTypeConfig.h" FrameTypeConfig::FrameTypeConfig(QWidget *parent) : QWidget(parent) { ui.setupUi(this); + connect(ui.plusRadioButton,SIGNAL(clicked()),this,SLOT(plusFrameSelected())); + connect(ui.xRadioButton,SIGNAL(clicked()),this,SLOT(xFrameSelected())); + connect(ui.vRadioButton,SIGNAL(clicked()),this,SLOT(vFrameSelected())); + //connect(UASManager::instance()->getActiveUAS()->getParamManager(),SIGNAL(parameterListUpToDate(int)) } FrameTypeConfig::~FrameTypeConfig() { } +void FrameTypeConfig::xFrameSelected() +{ + +} + +void FrameTypeConfig::plusFrameSelected() +{ + +} + +void FrameTypeConfig::vFrameSelected() +{ + +} diff --git a/src/ui/configuration/FrameTypeConfig.h b/src/ui/configuration/FrameTypeConfig.h index 592bf56..f24e00f 100644 --- a/src/ui/configuration/FrameTypeConfig.h +++ b/src/ui/configuration/FrameTypeConfig.h @@ -1,9 +1,42 @@ +/*===================================================================== + +QGroundControl Open Source Ground Control Station + +(c) 2013 Michael Carpenter (malcom2073@gmail.com) + +This file is part of the QGROUNDCONTROL project + + QGROUNDCONTROL is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + QGROUNDCONTROL is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QGROUNDCONTROL. If not, see . + +======================================================================*/ + +/** + * @file + * @brief Airframe type configuration widget header. + * + * @author Michael Carpenter + * + */ + #ifndef FRAMETYPECONFIG_H #define FRAMETYPECONFIG_H #include #include "ui_FrameTypeConfig.h" - +#include "UASInterface.h" +#include "UASManager.h" +#include "QGCUASParamManager.h" class FrameTypeConfig : public QWidget { Q_OBJECT @@ -11,7 +44,10 @@ class FrameTypeConfig : public QWidget public: explicit FrameTypeConfig(QWidget *parent = 0); ~FrameTypeConfig(); - +private slots: + void xFrameSelected(); + void plusFrameSelected(); + void vFrameSelected(); private: Ui::FrameTypeConfig ui; }; diff --git a/src/ui/configuration/FrameTypeConfig.ui b/src/ui/configuration/FrameTypeConfig.ui index 4359e41..6787fa5 100644 --- a/src/ui/configuration/FrameTypeConfig.ui +++ b/src/ui/configuration/FrameTypeConfig.ui @@ -6,30 +6,102 @@ 0 0 - 400 - 300 + 553 + 497 Form - - - - 20 - 20 - 131 - 31 - - - - <h2>Frame Setup</h2> - - - false - - + + + + + <h2>Frame Setup</h2> + + + false + + + + + + + + + 'Plus' Style + + + + :/files/images/mavs/frames_plus.png:/files/images/mavs/frames_plus.png + + + + 300 + 150 + + + + + + + + 'X' Style + + + + :/files/images/mavs/frames_x.png:/files/images/mavs/frames_x.png + + + + 300 + 150 + + + + + + + + Qt::LeftToRight + + + false + + + 'V' Style + + + + :/files/images/mavs/frames-05.png:/files/images/mavs/frames-05.png + + + + 300 + 120 + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + - + + + diff --git a/src/ui/configuration/RadioCalibrationConfig.cc b/src/ui/configuration/RadioCalibrationConfig.cc index 81b898e..37aaac0 100644 --- a/src/ui/configuration/RadioCalibrationConfig.cc +++ b/src/ui/configuration/RadioCalibrationConfig.cc @@ -1,11 +1,111 @@ +/*===================================================================== + +QGroundControl Open Source Ground Control Station + +(c) 2013 Michael Carpenter (malcom2073@gmail.com) + +This file is part of the QGROUNDCONTROL project + + QGROUNDCONTROL is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + QGROUNDCONTROL is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QGROUNDCONTROL. If not, see . + +======================================================================*/ + +/** + * @file + * @brief Radio Calibration Configuration source. + * + * @author Michael Carpenter + * + */ + #include "RadioCalibrationConfig.h" RadioCalibrationConfig::RadioCalibrationConfig(QWidget *parent) : QWidget(parent) { ui.setupUi(this); + m_uas = 0; + m_calibrationEnabled = false; + connect(UASManager::instance(), SIGNAL(activeUASSet(UASInterface*)), this, SLOT(setActiveUAS(UASInterface*))); + setActiveUAS(UASManager::instance()->getActiveUAS()); + ui.rollWidget->setMin(800); + ui.rollWidget->setMax(2200); + ui.pitchWidget->setMin(800); + ui.pitchWidget->setMax(2200); + ui.throttleWidget->setMin(800); + ui.throttleWidget->setMax(2200); + ui.yawWidget->setMin(800); + ui.yawWidget->setMax(2200); + guiUpdateTimer = new QTimer(this); + connect(guiUpdateTimer,SIGNAL(timeout()),this,SLOT(guiUpdateTimerTick())); } RadioCalibrationConfig::~RadioCalibrationConfig() { } +void RadioCalibrationConfig::setActiveUAS(UASInterface *uas) +{ + if (uas==NULL) return; + if (m_uas) + { + // Disconnect old system + disconnect(m_uas, SIGNAL(remoteControlChannelRawChanged(int,float)), this,SLOT(remoteControlChannelRawChanged(int,float))); + disconnect(m_uas, SIGNAL(parameterChanged(int,int,QString,QVariant)), this,SLOT(parameterChanged(int,int,QString,QVariant))); + } + +} +void RadioCalibrationConfig::remoteControlChannelRawChanged(int chan,float val) +{ + + //Channel is 0-7 typically? + //Val will be 0-3000, PWM value. + if (m_calibrationEnabled) { + if (val < rcMin[chan]) + { + rcMin[chan] = val; + } + + if (val > rcMax[chan]) + { + rcMax[chan] = val; + } + } + + // Raw value + rcValue[chan] = val; +} + +void RadioCalibrationConfig::parameterChanged(int uas, int component, QString parameterName, QVariant value) +{ + +} +void RadioCalibrationConfig::guiUpdateTimerTick() +{ + ui.rollWidget->setValue(rcValue[0]); + ui.pitchWidget->setValue(rcValue[1]); + ui.throttleWidget->setValue(rcValue[2]); + ui.yawWidget->setValue(rcValue[3]); + ui.radio5Widget->setValue(rcValue[4]); + ui.radio6Widget->setValue(rcValue[5]); + ui.radio7Widget->setValue(rcValue[6]); + ui.radio8Widget->setValue(rcValue[7]); +} +void RadioCalibrationConfig::showEvent(QShowEvent *event) +{ + guiUpdateTimer->stop(); +} +void RadioCalibrationConfig::hideEvent(QHideEvent *event) +{ + guiUpdateTimer->start(100); +} diff --git a/src/ui/configuration/RadioCalibrationConfig.h b/src/ui/configuration/RadioCalibrationConfig.h index df0cb44..a873483 100644 --- a/src/ui/configuration/RadioCalibrationConfig.h +++ b/src/ui/configuration/RadioCalibrationConfig.h @@ -1,9 +1,44 @@ +/*===================================================================== + +QGroundControl Open Source Ground Control Station + +(c) 2013 Michael Carpenter (malcom2073@gmail.com) + +This file is part of the QGROUNDCONTROL project + + QGROUNDCONTROL is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + QGROUNDCONTROL is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QGROUNDCONTROL. If not, see . + +======================================================================*/ + +/** + * @file + * @brief Radio Calibration Configuration widget header. + * + * @author Michael Carpenter + * + */ + #ifndef RADIOCALIBRATIONCONFIG_H #define RADIOCALIBRATIONCONFIG_H #include +#include +#include +#include #include "ui_RadioCalibrationConfig.h" - +#include "UASManager.h" +#include "UASInterface.h" class RadioCalibrationConfig : public QWidget { Q_OBJECT @@ -11,8 +46,21 @@ class RadioCalibrationConfig : public QWidget public: explicit RadioCalibrationConfig(QWidget *parent = 0); ~RadioCalibrationConfig(); - +protected: + void showEvent(QShowEvent *event); + void hideEvent(QHideEvent *event); +private slots: + void setActiveUAS(UASInterface *uas); + void remoteControlChannelRawChanged(int chan,float val); + void parameterChanged(int uas, int component, QString parameterName, QVariant value); + void guiUpdateTimerTick(); private: + double rcMin[8]; + double rcMax[8]; + double rcValue[8]; + QTimer *guiUpdateTimer; + bool m_calibrationEnabled; + UASInterface *m_uas; Ui::RadioCalibrationConfig ui; }; diff --git a/src/ui/configuration/RadioCalibrationConfig.ui b/src/ui/configuration/RadioCalibrationConfig.ui index 3fdd683..321d200 100644 --- a/src/ui/configuration/RadioCalibrationConfig.ui +++ b/src/ui/configuration/RadioCalibrationConfig.ui @@ -6,8 +6,8 @@ 0 0 - 400 - 300 + 771 + 389 @@ -16,8 +16,8 @@ - 20 - 20 + 10 + 10 171 31 @@ -29,7 +29,252 @@ false + + + + 10 + 50 + 716 + 300 + + + + + QLayout::SetMinAndMaxSize + + + + + + + + 250 + 40 + + + + + 250 + 40 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 50 + 200 + + + + + 50 + 200 + + + + + + + + Qt::Horizontal + + + + 250 + 20 + + + + + + + + + 50 + 200 + + + + + 50 + 200 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + 250 + 40 + + + + + 250 + 40 + + + + + + + + + 250 + 40 + + + + + 250 + 40 + + + + + + + + + 250 + 40 + + + + + 250 + 40 + + + + + + + + + 250 + 40 + + + + + 250 + 40 + + + + + + + + + + + + + + + 250 + 40 + + + + + 250 + 40 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + 20 + 360 + 75 + 23 + + + + Calibrate + + + + + QGCRadioChannelDisplay + QWidget +
ui/designer/QGCRadioChannelDisplay.h
+ 1 +
+