From 11a98bb9e0da0cb0ea1efe1cb465ccbe606e49b8 Mon Sep 17 00:00:00 2001 From: James Cotton Date: Tue, 9 Aug 2011 22:52:02 -0500 Subject: [PATCH] CameraStabilization: Create blank configuration panel --- .../src/plugins/config/camerastabilization.ui | 112 ++++++++++++++++++ .../src/plugins/config/config.pro | 13 +- .../configcamerastabilizationwidget.cpp | 68 +++++++++++ .../config/configcamerastabilizationwidget.h | 64 ++++++++++ .../src/plugins/config/configgadget.qrc | 1 + .../src/plugins/config/configgadgetwidget.cpp | 3 + .../src/plugins/config/configgadgetwidget.h | 2 +- .../src/plugins/config/images/camera.png | Bin 0 -> 2606 bytes 8 files changed, 259 insertions(+), 4 deletions(-) create mode 100644 ground/openpilotgcs/src/plugins/config/camerastabilization.ui create mode 100644 ground/openpilotgcs/src/plugins/config/configcamerastabilizationwidget.cpp create mode 100644 ground/openpilotgcs/src/plugins/config/configcamerastabilizationwidget.h create mode 100644 ground/openpilotgcs/src/plugins/config/images/camera.png diff --git a/ground/openpilotgcs/src/plugins/config/camerastabilization.ui b/ground/openpilotgcs/src/plugins/config/camerastabilization.ui new file mode 100644 index 000000000..7cbd8b7c1 --- /dev/null +++ b/ground/openpilotgcs/src/plugins/config/camerastabilization.ui @@ -0,0 +1,112 @@ + + + CameraStabilizationWidget + + + + 0 + 0 + 720 + 567 + + + + Form + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + + 32 + 32 + + + + + true + + + + + + + + :/core/images/helpicon.svg:/core/images/helpicon.svg + + + + 32 + 32 + + + + Ctrl+S + + + false + + + true + + + + + + + Save settings to the board (RAM only). + +This does not save the calibration settings, this is done using the +specific calibration button on top of the screen. + + + Apply + + + + + + + Send settings to the board, and save to the non-volatile memory. + + + Save + + + false + + + + + + + + + + + + + + + diff --git a/ground/openpilotgcs/src/plugins/config/config.pro b/ground/openpilotgcs/src/plugins/config/config.pro index 79ddea046..c1c4b7e0e 100644 --- a/ground/openpilotgcs/src/plugins/config/config.pro +++ b/ground/openpilotgcs/src/plugins/config/config.pro @@ -37,7 +37,8 @@ HEADERS += configplugin.h \ calibration.h \ defaultattitudewidget.h \ smartsavebutton.h \ - defaulthwsettingswidget.h + defaulthwsettingswidget.h \ + configcamerastabilizationwidget.h SOURCES += configplugin.cpp \ configgadgetconfiguration.cpp \ @@ -65,7 +66,8 @@ SOURCES += configplugin.cpp \ alignment-calibration.cpp \ defaultattitudewidget.cpp \ smartsavebutton.cpp \ - defaulthwsettingswidget.cpp + defaulthwsettingswidget.cpp \ + configcamerastabilizationwidget.cpp FORMS += \ airframe.ui \ @@ -78,6 +80,11 @@ FORMS += \ output.ui \ ccattitude.ui \ defaultattitude.ui \ - defaulthwsettings.ui + defaulthwsettings.ui \ + camerastabilization.ui RESOURCES += configgadget.qrc + + + + diff --git a/ground/openpilotgcs/src/plugins/config/configcamerastabilizationwidget.cpp b/ground/openpilotgcs/src/plugins/config/configcamerastabilizationwidget.cpp new file mode 100644 index 000000000..d932d526c --- /dev/null +++ b/ground/openpilotgcs/src/plugins/config/configcamerastabilizationwidget.cpp @@ -0,0 +1,68 @@ +/** + ****************************************************************************** + * + * @file configahrswidget.h + * @author E. Lafargue & The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010. + * @addtogroup GCSPlugins GCS Plugins + * @{ + * @addtogroup ConfigPlugin Config Plugin + * @{ + * @brief The Configuration Gadget used to update settings in the firmware + *****************************************************************************/ +/* + * This program 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. + * + * This program 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 this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "configcamerastabilizationwidget.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +ConfigCameraStabilizationWidget::ConfigCameraStabilizationWidget(QWidget *parent) : ConfigTaskWidget(parent) +{ + m_camerastabilization = new Ui_CameraStabilizationWidget(); + m_camerastabilization->setupUi(this); + + // Connect the help button + connect(m_camerastabilization->camerastabilizationHelp, SIGNAL(clicked()), this, SLOT(openHelp())); +} + +ConfigCameraStabilizationWidget::~ConfigCameraStabilizationWidget() +{ + // Do nothing +} + +void ConfigCameraStabilizationWidget::enableControls(bool enable) +{ + m_camerastabilization->camerastabilizationSettingsSaveSD->setEnabled(enable); +} + +void ConfigCameraStabilizationWidget::openHelp() +{ + QDesktopServices::openUrl( QUrl("http://wiki.openpilot.org/display/Doc/Camera+Configuration", QUrl::StrictMode) ); +} + +/** + @} + @} + */ diff --git a/ground/openpilotgcs/src/plugins/config/configcamerastabilizationwidget.h b/ground/openpilotgcs/src/plugins/config/configcamerastabilizationwidget.h new file mode 100644 index 000000000..198f3139b --- /dev/null +++ b/ground/openpilotgcs/src/plugins/config/configcamerastabilizationwidget.h @@ -0,0 +1,64 @@ +/** + ****************************************************************************** + * + * @file configahrstwidget.h + * @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010. + * @addtogroup GCSPlugins GCS Plugins + * @{ + * @addtogroup ConfigPlugin Config Plugin + * @{ + * @brief Telemetry configuration panel + *****************************************************************************/ +/* + * This program 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. + * + * This program 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 this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef CONFIGCAMERASTABILIZATIONWIDGET_H +#define CONFIGCAMERASTABILIZATIONWIDGET_H + +#include "ui_camerastabilization.h" +#include "configtaskwidget.h" +#include "extensionsystem/pluginmanager.h" +#include "uavobjectmanager.h" +#include "uavobject.h" +#include +#include +#include +#include +#include +#include + +#include "camerastabsettings.h" + +class ConfigCameraStabilizationWidget: public ConfigTaskWidget +{ + Q_OBJECT + +public: + ConfigCameraStabilizationWidget(QWidget *parent = 0); + ~ConfigCameraStabilizationWidget(); + +private: + virtual void enableControls(bool enable); + + Ui_CameraStabilizationWidget *m_camerastabilization; + +private slots: + void openHelp(); + +protected: + +}; + +#endif // ConfigCameraStabilization_H diff --git a/ground/openpilotgcs/src/plugins/config/configgadget.qrc b/ground/openpilotgcs/src/plugins/config/configgadget.qrc index a91cd499a..640828eeb 100644 --- a/ground/openpilotgcs/src/plugins/config/configgadget.qrc +++ b/ground/openpilotgcs/src/plugins/config/configgadget.qrc @@ -18,5 +18,6 @@ images/hw_config.svg images/hw_config.png images/gyroscope.png + images/camera.png diff --git a/ground/openpilotgcs/src/plugins/config/configgadgetwidget.cpp b/ground/openpilotgcs/src/plugins/config/configgadgetwidget.cpp index 8430f00cf..1e7ce3238 100644 --- a/ground/openpilotgcs/src/plugins/config/configgadgetwidget.cpp +++ b/ground/openpilotgcs/src/plugins/config/configgadgetwidget.cpp @@ -33,6 +33,7 @@ #include "configinputwidget.h" #include "configoutputwidget.h" #include "configstabilizationwidget.h" +#include "configcamerastabilizationwidget.h" #include "config_pro_hw_widget.h" #include "config_cc_hw_widget.h" #include "defaultattitudewidget.h" @@ -81,6 +82,8 @@ ConfigGadgetWidget::ConfigGadgetWidget(QWidget *parent) : QWidget(parent) qwd = new ConfigStabilizationWidget(this); ftw->insertTab(ConfigGadgetWidget::stabilization, qwd, QIcon(":/configgadget/images/gyroscope.png"), QString("Stabilization")); + qwd = new ConfigCameraStabilizationWidget(this); + ftw->insertTab(ConfigGadgetWidget::camerastabilization, qwd, QIcon(":/configgadget/images/camera.png"), QString("Camera Stab")); // qwd = new ConfigPipXtremeWidget(this); diff --git a/ground/openpilotgcs/src/plugins/config/configgadgetwidget.h b/ground/openpilotgcs/src/plugins/config/configgadgetwidget.h index df2f553a3..6cfa6e20d 100644 --- a/ground/openpilotgcs/src/plugins/config/configgadgetwidget.h +++ b/ground/openpilotgcs/src/plugins/config/configgadgetwidget.h @@ -50,7 +50,7 @@ class ConfigGadgetWidget: public QWidget public: ConfigGadgetWidget(QWidget *parent = 0); ~ConfigGadgetWidget(); - enum widgetTabs {hardware=0, aircraft, input, output, ins, stabilization}; + enum widgetTabs {hardware=0, aircraft, input, output, ins, stabilization, camerastabilization}; public slots: void onAutopilotConnect(); diff --git a/ground/openpilotgcs/src/plugins/config/images/camera.png b/ground/openpilotgcs/src/plugins/config/images/camera.png new file mode 100644 index 0000000000000000000000000000000000000000..0d8242e004b6604820bd5196de8623541507dc64 GIT binary patch literal 2606 zcmV+}3eok6P)RK0kw+C;I779JTb<1gQDlk zm*iyk#!cLK;~w@z(Os`hO!QtaR6KgP@a2y%#-M2BMvV!{aeYZhDMmmRDBZTu?o46k zITsuzog!?(mggC_pM=oonYQzt_B&7K_q_auP)Y#+gbB$&*wYIT2z_EMHI!lii(P1o73qmpZR}LoKEL{yC4YPuohBk zD5X#o1rrk!n3$MAHk&mb1Ar)sray)DI^jJ zBoYZ|nl`W33xWW@-;c`5O8EVL*le~EDP>BHowb5ulSm{Gi^VWDHU?eS7yLe&rXe1W zBOZ@~5CWgihhQ*>%F4<|e!4GYHYlY?CX+}elW@D; z2!%rMdcB{dmlrH=07X$SFff2bA~EZ8YHDiG*w~0wt5%_^stUni(D+XXK|CHuEEdD) z=qN@9U~G&MD0{rdIuzM!L&;_chFc=F^4!r?G_dU`(kyroN*A`}WONIz>- zRUNaW0W?iRZ*MP>$>fY}_4V~=X=%ZZ9XpD;&(6+HT)TD+(P(tWHoxDGHEY&D5QL)c zv(#A90NHF7kw^r8{PBmWzPh>^&CSg?c<^A!uGn>5$Gv;^(AL(5!NEb(Hc65o%Q7TM zD#^Y}fvT!wLUncZS-aitWG$u;rhk94*{rGl@ZrN~ZEeMd4I4@tyAwk2<(FULyYIe3 zB9Xw`w{MMYlarH($K!Cj-EcZB@o_@aw5(+epePEuySq*Cyv=6AFTebP6DLl z1W^=?y0Nh_ynp|mp{l~*+5o9k3d6(0rn<9d&!VBBfsvxw*|>2d&Ye4Fs*A;97#|;J zq^K~sHb8%Wzp4EF_uu2tp+k(+{5b~>9Kf+-$4qs7eSK`i6bQElh{xlmSby!>wK#qH zG($y&@zYN~Va=K~MmdwoV03hpp`y9r(g2iFeE9IeRM*ndVu>MHK@esbbzorNlSU>> z374N}EEa>Rsz!OsmMz%6eLF)%^JC}Eou&w7VqyYALqiM|%?_6a`0cmfjK_o!oH})i zp_+y9^UptYtk&@!E zZrwUlIsX`0!<7N17ivsXU2XjZ%FCB8HbRlE+KEQFDf5#w?0G4ep!0EfsxXK2YgZ#KZx9PMh!^6X-*+9JYZE$UX7cX8gQc^tfkD+XUIq>`a zrgAtOW+SACJbCiORL(y})^KG2Ns>&fYo9-VZdws!HL}?(oi-U_L`s zRmIb%PZ_HDH1ZA1+u09rXn_14z>ba%MoK=N2M->Y$~^XNa%TXK$72eW+S}XF+uO@f z(ZYE5?j7#mzi*U9Q8aZ4^8$AU0L=3MbX`YlYb!%F3*-9r>!$Fps;Y{in%Uvj0J*I| zXJ;q6y1E!Dnjf!Uzs93SkBqV?im0jKGao0H2C&&|GiK6UzI>UhQMB2hl;X;jE2g?- z%a(Dwtc_1qn3@oh8#29l^9F5gZ44C^#*G^{Os$n9NeBjm3>D1{w+0}D%*elY^X5&i zqk@MIAL7=nTc)~DD8$w9Z$8`_0GJA!a?c)0DbAlikM8bnhN?bJcXu}~T)1GW3j_jO zhJLwlZ2({@<7aO8q$mo`oH;Wia|la@hlg?I%o$UskK66Ws#U8Pswxcb4L}HiEX$@r zl)=G496fpzFJHc7sBDVYuV3SbAAT?;jub@^vMh7m^iRXR0RX^mw?mfY8OyDko11a> z?p}Dq9789%vfSoTU(2hCr@JU-n}K= ze@90Lu3ft}Bl(ll>4YrHsHmtY>Hdp}C6h%1Q)gf_8pYVy*oR8>`B<;sf!?iNy2Rb_;i z0RJN_1>pDl;q&>7`~MV@h+#fv@pwE41Of;I0+wv@4 z5exP)uohEFY&IL0)3I2i zD9U3Ykx0Do`~5o{4u{NIP?^OeolZZ9L?SIVN-0eylRu`@>2}tl$}A3gt-EPUqhRL1+MA{R~ZI3@D|;x~~74&1O4#dV2m%|Nq7R4=h37JaFD# QrvLx|07*qoM6N<$g4^@hdjJ3c literal 0 HcmV?d00001