diff --git a/artwork/GCS Icons/edit-delete.svg b/artwork/GCS Icons/edit-delete.svg new file mode 100644 index 000000000..8c6df9685 --- /dev/null +++ b/artwork/GCS Icons/edit-delete.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/artwork/GCS Icons/help-contents.svg b/artwork/GCS Icons/help-contents.svg new file mode 100644 index 000000000..620acb6ae --- /dev/null +++ b/artwork/GCS Icons/help-contents.svg @@ -0,0 +1,37 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/artwork/GCS Icons/help-hint.svg b/artwork/GCS Icons/help-hint.svg new file mode 100644 index 000000000..675b93dd6 --- /dev/null +++ b/artwork/GCS Icons/help-hint.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/artwork/GCS Icons/window-close.svg b/artwork/GCS Icons/window-close.svg new file mode 100644 index 000000000..f8e6a8d63 --- /dev/null +++ b/artwork/GCS Icons/window-close.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ground/openpilotgcs/src/plugins/config/ahrs.ui b/ground/openpilotgcs/src/plugins/config/ahrs.ui index f4cc5a453..de39ad079 100644 --- a/ground/openpilotgcs/src/plugins/config/ahrs.ui +++ b/ground/openpilotgcs/src/plugins/config/ahrs.ui @@ -7,7 +7,7 @@ 0 0 720 - 509 + 537 @@ -17,7 +17,7 @@ - 1 + 0 @@ -42,29 +42,6 @@ - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -152,29 +129,6 @@ - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -278,23 +232,6 @@ Hint: run this with engines at cruising speed. - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -368,23 +305,6 @@ Hint: run this with engines at cruising speed. - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -580,29 +500,6 @@ p, li { white-space: pre-wrap; } - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -638,29 +535,6 @@ p, li { white-space: pre-wrap; } - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -757,7 +631,7 @@ new home location unless it is in indoor mode. - + 0 @@ -766,16 +640,36 @@ new home location unless it is in indoor mode. - 20 - 20 + 32 + 32 + + + true + + - - :/configgadget/images/help2.png:/configgadget/images/help2.png + + :/core/images/helpicon.svg:/core/images/helpicon.svg + + + + 32 + 32 + + + + Ctrl+S + + + false + + + true @@ -820,7 +714,7 @@ specific calibration button on top of the screen. - + diff --git a/ground/openpilotgcs/src/plugins/config/airframe.ui b/ground/openpilotgcs/src/plugins/config/airframe.ui index 44d65930a..50403ab93 100644 --- a/ground/openpilotgcs/src/plugins/config/airframe.ui +++ b/ground/openpilotgcs/src/plugins/config/airframe.ui @@ -29,29 +29,6 @@ - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -102,7 +79,7 @@ - 0 + 1 @@ -116,23 +93,6 @@ - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -172,23 +132,6 @@ - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -451,23 +394,6 @@ - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -586,29 +512,6 @@ - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -650,29 +553,6 @@ - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -885,29 +765,6 @@ Typical value is 50% for + or X configuration on quads. - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -985,7 +842,7 @@ Typical value is 50% for + or X configuration on quads. - + 10 @@ -993,29 +850,6 @@ Typical value is 50% for + or X configuration on quads. - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -1085,46 +919,6 @@ Typical value is 50% for + or X configuration on quads. - - - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - @@ -2137,19 +1931,34 @@ p, li { white-space: pre-wrap; } - + + + + 0 + 0 + + - 20 - 20 + 32 + 32 - - :/configgadget/images/help2.png:/configgadget/images/help2.png + + :/core/images/helpicon.svg:/core/images/helpicon.svg + + + + 32 + 32 + + + + true @@ -2196,29 +2005,6 @@ p, li { white-space: pre-wrap; } - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -2530,29 +2316,6 @@ p, li { white-space: pre-wrap; } - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -2608,7 +2371,7 @@ p, li { white-space: pre-wrap; } - + diff --git a/ground/openpilotgcs/src/plugins/config/ccattitude.ui b/ground/openpilotgcs/src/plugins/config/ccattitude.ui index 58d9ad2bc..2497983f5 100644 --- a/ground/openpilotgcs/src/plugins/config/ccattitude.ui +++ b/ground/openpilotgcs/src/plugins/config/ccattitude.ui @@ -6,8 +6,8 @@ 0 0 - 331 - 324 + 455 + 428 @@ -18,29 +18,6 @@ - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -158,29 +135,6 @@ - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -284,29 +238,6 @@ - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -363,7 +294,7 @@ arming it in that case! - + 0 @@ -372,16 +303,25 @@ arming it in that case! - 20 - 20 + 32 + 32 - - :/configgadget/images/help2.png:/configgadget/images/help2.png + + :/core/images/helpicon.svg:/core/images/helpicon.svg + + + + 32 + 32 + + + + true @@ -411,23 +351,10 @@ arming it in that case! - - - - Qt::Vertical - - - - 20 - 40 - - - - - + diff --git a/ground/openpilotgcs/src/plugins/config/configahrswidget.cpp b/ground/openpilotgcs/src/plugins/config/configahrswidget.cpp index f4fbb345c..9d81392e4 100644 --- a/ground/openpilotgcs/src/plugins/config/configahrswidget.cpp +++ b/ground/openpilotgcs/src/plugins/config/configahrswidget.cpp @@ -37,7 +37,8 @@ #include #include #include -#include +#include +#include #include "assertions.h" #include "calibration.h" @@ -228,25 +229,8 @@ ConfigAHRSWidget::ConfigAHRSWidget(QWidget *parent) : ConfigTaskWidget(parent) connect(m_ahrs->startDriftCalib, SIGNAL(clicked()),this, SLOT(launchGyroDriftCalibration())); connect(parent, SIGNAL(autopilotConnected()),this, SLOT(ahrsSettingsRequest())); - // Connect all the help buttons to signal mapper that passes button name to SLOT function - QSignalMapper* signalMapper = new QSignalMapper(this); - connect( m_ahrs->multiPointHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_ahrs->multiPointHelp, m_ahrs->multiPointHelp->objectName()); - connect( m_ahrs->sensorNoiseHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_ahrs->sensorNoiseHelp, m_ahrs->sensorNoiseHelp->objectName()); - connect( m_ahrs->accelBiasHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_ahrs->accelBiasHelp, m_ahrs->accelBiasHelp->objectName()); - connect( m_ahrs->gyroDriftHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_ahrs->gyroDriftHelp, m_ahrs->gyroDriftHelp->objectName()); - connect( m_ahrs->commandHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_ahrs->commandHelp, QString("commandHelp")); - connect( m_ahrs->insAlgorithmHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_ahrs->insAlgorithmHelp, m_ahrs->insAlgorithmHelp->objectName()); - connect( m_ahrs->homeLocationHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_ahrs->homeLocationHelp, m_ahrs->homeLocationHelp->objectName()); - - connect(signalMapper, SIGNAL(mapped(const QString &)), parent, SLOT(showHelp(const QString &))); - + // Connect the help button + connect(m_ahrs->ahrsHelp, SIGNAL(clicked()), this, SLOT(openHelp())); } ConfigAHRSWidget::~ConfigAHRSWidget() @@ -1222,6 +1206,11 @@ void ConfigAHRSWidget::ahrsSettingsSaveSD() } +void ConfigAHRSWidget::openHelp() +{ + + QDesktopServices::openUrl( QUrl("http://wiki.openpilot.org/display/Doc/INS+Configuration", QUrl::StrictMode) ); +} /** @} diff --git a/ground/openpilotgcs/src/plugins/config/configahrswidget.h b/ground/openpilotgcs/src/plugins/config/configahrswidget.h index 8cfaf041e..81344226e 100644 --- a/ground/openpilotgcs/src/plugins/config/configahrswidget.h +++ b/ground/openpilotgcs/src/plugins/config/configahrswidget.h @@ -126,6 +126,7 @@ private slots: void enableHomeLocSave(UAVObject *obj); void launchAHRSCalibration(); void saveAHRSCalibration(); + void openHelp(); void launchAccelBiasCalibration(); void calibPhase2(); void incrementProgress(); diff --git a/ground/openpilotgcs/src/plugins/config/configairframewidget.cpp b/ground/openpilotgcs/src/plugins/config/configairframewidget.cpp index 514fc7c5a..da6dc6afb 100644 --- a/ground/openpilotgcs/src/plugins/config/configairframewidget.cpp +++ b/ground/openpilotgcs/src/plugins/config/configairframewidget.cpp @@ -34,7 +34,8 @@ #include #include #include -#include +#include +#include /** Helper delegate for the custom mixer editor table. @@ -193,32 +194,8 @@ ConfigAirframeWidget::ConfigAirframeWidget(QWidget *parent) : ConfigTaskWidget(p connect(parent, SIGNAL(autopilotConnected()),this, SLOT(requestAircraftUpdate())); - // Connect all the help buttons to signal mapper that passes button name to SLOT function - QSignalMapper* signalMapper = new QSignalMapper(this); - connect( m_aircraft->acftTypeHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_aircraft->acftTypeHelp, m_aircraft->acftTypeHelp->objectName()); - connect( m_aircraft->airplaneTypeHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_aircraft->airplaneTypeHelp, m_aircraft->airplaneTypeHelp->objectName()); - connect( m_aircraft->channelAssignmentHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_aircraft->channelAssignmentHelp, m_aircraft->channelAssignmentHelp->objectName()); - connect( m_aircraft->commandHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_aircraft->commandHelp, QString("commandHelp")); - connect( m_aircraft->throttleCurveHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_aircraft->throttleCurveHelp, QString("throttleCurveHelp")); - connect( m_aircraft->multiFrameTypeHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_aircraft->multiFrameTypeHelp, m_aircraft->multiFrameTypeHelp->objectName()); - connect( m_aircraft->throttleCurveHelp_2, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_aircraft->throttleCurveHelp_2, QString("throttleCurveHelp")); - connect( m_aircraft->tricopterYawHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_aircraft->tricopterYawHelp, m_aircraft->tricopterYawHelp->objectName()); - connect( m_aircraft->motorOutputChanHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_aircraft->motorOutputChanHelp, m_aircraft->motorOutputChanHelp->objectName()); - connect( m_aircraft->feedForwardHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_aircraft->feedForwardHelp, m_aircraft->feedForwardHelp->objectName()); - connect( m_aircraft->commandHelp_2, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_aircraft->commandHelp_2, QString("commandHelp")); - - connect(signalMapper, SIGNAL(mapped(const QString &)), parent, SLOT(showHelp(const QString &))); + // Connect the help button + connect(m_aircraft->airframeHelp, SIGNAL(clicked()), this, SLOT(openHelp())); } ConfigAirframeWidget::~ConfigAirframeWidget() @@ -1547,7 +1524,7 @@ bool ConfigAirframeWidget::setupMixer(double mixerFactors[8][3]) setupQuadMotor(channel, mixerFactors[i][0]*pFactor, rFactor*mixerFactors[i][1], yFactor*mixerFactors[i][2]); } - // obj->updated(); // Let caller do this... + obj->updated(); return true; } @@ -1591,7 +1568,7 @@ void ConfigAirframeWidget::setupMotors(QList motorList) field = obj->getField(motor); field->setValue(mmList.takeFirst()->currentText()); } - // obj->updated(); // Do not Save, let the caller do it... + obj->updated(); // Save... } @@ -2049,15 +2026,14 @@ void ConfigAirframeWidget::sendAircraftUpdate() m_aircraft->mrStatusLabel->setText("Error: Assign a Yaw channel"); return; } - // Need to setup motors first because setupMotors(..) will call resetActuators() - // and reset the Yaw channel to disabled. - motorList << "VTOLMotorNW" << "VTOLMotorNE" << "VTOLMotorS"; - setupMotors(motorList); - obj = dynamic_cast(getObjectManager()->getObject(QString("ActuatorSettings"))); Q_ASSERT(obj); field = obj->getField("FixedWingYaw1"); field->setValue(m_aircraft->triYawChannel->currentText()); + // No need to send a obj->updated() here because setupMotors + // will do it. + motorList << "VTOLMotorNW" << "VTOLMotorNE" << "VTOLMotorS"; + setupMotors(motorList); // Motor 1 to 6, Y6 Layout: // pitch roll yaw @@ -2136,18 +2112,10 @@ void ConfigAirframeWidget::sendAircraftUpdate() field->setValue(m_aircraft->customMixerTable->item(5,i)->text(),ti); } - // obj->updated(); + obj->updated(); } - UAVDataObject* obj = dynamic_cast(getObjectManager()->getObject(QString("ActuatorSettings"))); - Q_ASSERT(obj); - obj->updated(); - - obj = dynamic_cast(getObjectManager()->getObject(QString("MixerSettings"))); - Q_ASSERT(obj); - obj->updated(); - - obj = dynamic_cast(getObjectManager()->getObject(QString("SystemSettings"))); + UAVDataObject* obj = dynamic_cast(getObjectManager()->getObject(QString("SystemSettings"))); UAVObjectField* field = obj->getField(QString("AirframeType")); field->setValue(airframeType); obj->updated(); @@ -2170,3 +2138,9 @@ void ConfigAirframeWidget::saveAircraftUpdate() } +void ConfigAirframeWidget::openHelp() +{ + + QDesktopServices::openUrl( QUrl("http://wiki.openpilot.org/display/Doc/Airframe+configuration", QUrl::StrictMode) ); +} + diff --git a/ground/openpilotgcs/src/plugins/config/configairframewidget.h b/ground/openpilotgcs/src/plugins/config/configairframewidget.h index cbc8b1fc8..37f6ef877 100644 --- a/ground/openpilotgcs/src/plugins/config/configairframewidget.h +++ b/ground/openpilotgcs/src/plugins/config/configairframewidget.h @@ -89,6 +89,7 @@ private slots: void updateCustomThrottle1CurveValue(QList list, double value); void updateCustomThrottle2CurveValue(QList list, double value); void enableFFTest(); + void openHelp(); protected: void showEvent(QShowEvent *event); diff --git a/ground/openpilotgcs/src/plugins/config/configccattitudewidget.cpp b/ground/openpilotgcs/src/plugins/config/configccattitudewidget.cpp index beb4fa2fc..2a15bf0cf 100644 --- a/ground/openpilotgcs/src/plugins/config/configccattitudewidget.cpp +++ b/ground/openpilotgcs/src/plugins/config/configccattitudewidget.cpp @@ -30,7 +30,8 @@ #include #include #include -#include +#include +#include ConfigCCAttitudeWidget::ConfigCCAttitudeWidget(QWidget *parent) : ConfigTaskWidget(parent), @@ -46,18 +47,8 @@ ConfigCCAttitudeWidget::ConfigCCAttitudeWidget(QWidget *parent) : connect(parent, SIGNAL(autopilotConnected()),this, SLOT(getCurrentAttitudeSettings())); getCurrentAttitudeSettings(); // The 1st time this panel is instanciated, the autopilot is already connected. - // Connect all the help buttons to signal mapper that passes button name to SLOT function - QSignalMapper* signalMapper = new QSignalMapper(this); - connect( ui->attitudeRotationHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(ui->attitudeRotationHelp, ui->attitudeRotationHelp->objectName()); - connect( ui->attitudeCalibHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(ui->attitudeCalibHelp, ui->attitudeCalibHelp->objectName()); - connect( ui->zeroOnArmHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(ui->zeroOnArmHelp, ui->zeroOnArmHelp->objectName()); - connect( ui->commandHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(ui->commandHelp, QString("commandHelp")); - - connect(signalMapper, SIGNAL(mapped(const QString &)), parent, SLOT(showHelp(const QString &))); + // Connect the help button + connect(ui->ccAttitudeHelp, SIGNAL(clicked()), this, SLOT(openHelp())); } ConfigCCAttitudeWidget::~ConfigCCAttitudeWidget() @@ -183,3 +174,10 @@ void ConfigCCAttitudeWidget::saveAttitudeSettings() { UAVDataObject * obj = dynamic_cast(getObjectManager()->getObject(QString("AttitudeSettings"))); saveObjectToSD(obj); } + +void ConfigCCAttitudeWidget::openHelp() +{ + + QDesktopServices::openUrl( QUrl("http://wiki.openpilot.org/display/Doc/CopterControl+Attitude+Configuration", QUrl::StrictMode) ); +} + diff --git a/ground/openpilotgcs/src/plugins/config/configccattitudewidget.h b/ground/openpilotgcs/src/plugins/config/configccattitudewidget.h index a70c552ba..1a2627c84 100644 --- a/ground/openpilotgcs/src/plugins/config/configccattitudewidget.h +++ b/ground/openpilotgcs/src/plugins/config/configccattitudewidget.h @@ -53,6 +53,7 @@ private slots: void saveAttitudeSettings(); void applyAttitudeSettings(); void getCurrentAttitudeSettings(); + void openHelp(); private: QMutex startStop; diff --git a/ground/openpilotgcs/src/plugins/config/configgadgetfactory.cpp b/ground/openpilotgcs/src/plugins/config/configgadgetfactory.cpp index f19c3dac8..37447b01a 100644 --- a/ground/openpilotgcs/src/plugins/config/configgadgetfactory.cpp +++ b/ground/openpilotgcs/src/plugins/config/configgadgetfactory.cpp @@ -32,7 +32,7 @@ #include ConfigGadgetFactory::ConfigGadgetFactory(QObject *parent) : - IUAVGadgetFactory(QString("ConfigGadget"), tr("Config"), parent) + IUAVGadgetFactory(QString("ConfigGadget"), tr("Config Gadget"), parent) { } @@ -50,3 +50,8 @@ IUAVGadgetConfiguration *ConfigGadgetFactory::createConfiguration(QSettings* qSe { return new ConfigGadgetConfiguration(QString("ConfigGadget"), qSettings); } + +IOptionsPage *ConfigGadgetFactory::createOptionsPage(IUAVGadgetConfiguration *config) +{ + return new ConfigGadgetOptionsPage(qobject_cast(config)); +} diff --git a/ground/openpilotgcs/src/plugins/config/configgadgetfactory.h b/ground/openpilotgcs/src/plugins/config/configgadgetfactory.h index de90e6def..8d371e746 100644 --- a/ground/openpilotgcs/src/plugins/config/configgadgetfactory.h +++ b/ground/openpilotgcs/src/plugins/config/configgadgetfactory.h @@ -46,6 +46,7 @@ public: IUAVGadget *createGadget(QWidget *parent); IUAVGadgetConfiguration *createConfiguration(QSettings* qSettings); + IOptionsPage *createOptionsPage(IUAVGadgetConfiguration *config); }; #endif // CONFIGGADGETFACTORY_H diff --git a/ground/openpilotgcs/src/plugins/config/configgadgetwidget.cpp b/ground/openpilotgcs/src/plugins/config/configgadgetwidget.cpp index 7d7824a24..b49ccf1df 100644 --- a/ground/openpilotgcs/src/plugins/config/configgadgetwidget.cpp +++ b/ground/openpilotgcs/src/plugins/config/configgadgetwidget.cpp @@ -140,43 +140,5 @@ void ConfigGadgetWidget::onAutopilotConnect() { emit autopilotConnected(); } -void ConfigGadgetWidget::showHelp(const QString &helpName) -{ - // Close any previous help windows still open - if(help != 0) { - help->close(); - } - - // Make help windows with given filename and resize to config gadget width - help = new QTextBrowser(this); - help->setSource(QUrl::fromLocalFile( QString(Utils::PathUtils().InsertDataPath("%%DATAPATH%%help/")) + - helpName + QString(".html") )); - QSize size = help->sizeHint(); - size.setWidth(this->width()); - help->resize(size); - - // Now catch closing events, show the window and give it focus - help->installEventFilter(this); - help->show(); - help->setFocus(); -} - -bool ConfigGadgetWidget::eventFilter(QObject *obj, QEvent *event) -{ - // If help is open and we get a close event, close the help window - // Close events currently are any key press and the mouse leaving the help window - - //printf("event type: %d\n",event->type()); - if(help != 0) { - if (event->type() == QEvent::Leave || event->type() == QEvent::KeyPress) { - help->close(); - help=0; - return true; - } - } - - // standard event processing - return QObject::eventFilter(obj, event); -} diff --git a/ground/openpilotgcs/src/plugins/config/configgadgetwidget.h b/ground/openpilotgcs/src/plugins/config/configgadgetwidget.h index 185321fe3..2520458eb 100644 --- a/ground/openpilotgcs/src/plugins/config/configgadgetwidget.h +++ b/ground/openpilotgcs/src/plugins/config/configgadgetwidget.h @@ -52,10 +52,6 @@ public: public slots: void onAutopilotConnect(); - void showHelp(const QString &helpName); - -private slots: - bool eventFilter(QObject *obj, QEvent *event); signals: void autopilotConnected(); diff --git a/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp b/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp index 034cef519..9ee8f6bb7 100644 --- a/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp +++ b/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp @@ -35,7 +35,8 @@ #include #include #include -#include +#include +#include ConfigInputWidget::ConfigInputWidget(QWidget *parent) : ConfigTaskWidget(parent) { @@ -156,16 +157,6 @@ ConfigInputWidget::ConfigInputWidget(QWidget *parent) : ConfigTaskWidget(parent) connect(m_config->saveRCInputToRAM, SIGNAL(clicked()), this, SLOT(sendRCInputUpdate())); connect(m_config->getRCInputCurrent, SIGNAL(clicked()), this, SLOT(requestRCInputUpdate())); - // Flightmode panel is connected to the same as rcinput because - // the underlying object is the same! - connect(m_config->saveFmsToSD, SIGNAL(clicked()), this, SLOT(saveRCInputObject())); - connect(m_config->saveFmsToRAM, SIGNAL(clicked()), this, SLOT(sendRCInputUpdate())); - connect(m_config->getFmsCurrent, SIGNAL(clicked()), this, SLOT(requestRCInputUpdate())); - - connect(m_config->saveArmToSD, SIGNAL(clicked()), this, SLOT(saveRCInputObject())); - connect(m_config->saveArmToRAM, SIGNAL(clicked()), this, SLOT(sendRCInputUpdate())); - connect(m_config->getArmCurrent, SIGNAL(clicked()), this, SLOT(requestRCInputUpdate())); - connect(parent, SIGNAL(autopilotConnected()),this, SLOT(requestRCInputUpdate())); connect(m_config->inSlider0, SIGNAL(valueChanged(int)),this, SLOT(onInSliderValueChanged0(int))); @@ -201,29 +192,8 @@ ConfigInputWidget::ConfigInputWidget(QWidget *parent) : ConfigTaskWidget(parent) } } - // Connect all the help buttons to signal mapper that passes button name to SLOT function - QSignalMapper* signalMapper = new QSignalMapper(this); - connect( m_config->receiverTypeHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->receiverTypeHelp, m_config->receiverTypeHelp->objectName()); - connect( m_config->runCalibrationHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->runCalibrationHelp, m_config->runCalibrationHelp->objectName()); - connect( m_config->commandHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->commandHelp, QString("commandHelp")); - connect( m_config->flightModeSwPosHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->flightModeSwPosHelp, m_config->flightModeSwPosHelp->objectName()); - connect( m_config->stabilizationModePerAxis, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->stabilizationModePerAxis, m_config->stabilizationModePerAxis->objectName()); - connect( m_config->commandHelp_2, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->commandHelp_2, QString("commandHelp")); - connect( m_config->armPositionHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->armPositionHelp, m_config->armPositionHelp->objectName()); - connect( m_config->armingTimeoutHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->armingTimeoutHelp, m_config->armingTimeoutHelp->objectName()); - connect( m_config->commandHelp_3, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->commandHelp_2, QString("commandHelp")); - - connect(signalMapper, SIGNAL(mapped(const QString &)), parent, SLOT(showHelp(const QString &))); - + // Connect the help button + connect(m_config->inputHelp, SIGNAL(clicked()), this, SLOT(openHelp())); } ConfigInputWidget::~ConfigInputWidget() @@ -322,15 +292,6 @@ void ConfigInputWidget::enableControls(bool enable) m_config->saveRCInputToRAM->setEnabled(enable); m_config->saveRCInputToSD->setEnabled(enable); - m_config->saveFmsToSD->setEnabled(enable); - m_config->saveFmsToRAM->setEnabled(enable); - m_config->getFmsCurrent->setEnabled(enable); - - m_config->saveArmToSD->setEnabled(enable); - m_config->saveArmToRAM->setEnabled(enable); - m_config->getArmCurrent->setEnabled(enable); - - m_config->doRCInputCalibration->setEnabled(enable); m_config->ch0Assign->setEnabled(enable); @@ -719,3 +680,10 @@ void ConfigInputWidget::updateChannelInSlider(QSlider *slider, QLabel *min, QLab slider->setValue(value); } } + +void ConfigInputWidget::openHelp() +{ + + QDesktopServices::openUrl( QUrl("http://wiki.openpilot.org/display/Doc/Input+Configuration", QUrl::StrictMode) ); +} + diff --git a/ground/openpilotgcs/src/plugins/config/configinputwidget.h b/ground/openpilotgcs/src/plugins/config/configinputwidget.h index 4f0fa0182..5747ee35d 100644 --- a/ground/openpilotgcs/src/plugins/config/configinputwidget.h +++ b/ground/openpilotgcs/src/plugins/config/configinputwidget.h @@ -90,6 +90,7 @@ private slots: void sendRCInputUpdate(); void saveRCInputObject(); void reverseCheckboxClicked(bool state); + void openHelp(); }; #endif diff --git a/ground/openpilotgcs/src/plugins/config/configoutputwidget.cpp b/ground/openpilotgcs/src/plugins/config/configoutputwidget.cpp index 0879de42a..27858e111 100644 --- a/ground/openpilotgcs/src/plugins/config/configoutputwidget.cpp +++ b/ground/openpilotgcs/src/plugins/config/configoutputwidget.cpp @@ -36,7 +36,8 @@ #include #include #include -#include +#include +#include ConfigOutputWidget::ConfigOutputWidget(QWidget *parent) : ConfigTaskWidget(parent) { @@ -154,20 +155,8 @@ ConfigOutputWidget::ConfigOutputWidget(QWidget *parent) : ConfigTaskWidget(paren } } - // Connect all the help buttons to signal mapper that passes button name to SLOT function - QSignalMapper* signalMapper = new QSignalMapper(this); - connect( m_config->channelRateHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->channelRateHelp, m_config->channelRateHelp->objectName()); - connect( m_config->channelValuesHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->channelValuesHelp, m_config->channelValuesHelp->objectName()); - connect( m_config->spinningArmedlHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->spinningArmedlHelp, m_config->spinningArmedlHelp->objectName()); - connect( m_config->testOutputsHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->testOutputsHelp, m_config->testOutputsHelp->objectName()); - connect( m_config->commandHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->commandHelp, QString("commandHelp")); - - connect(signalMapper, SIGNAL(mapped(const QString &)), parent, SLOT(showHelp(const QString &))); + // Connect the help button + connect(m_config->outputHelp, SIGNAL(clicked()), this, SLOT(openHelp())); } ConfigOutputWidget::~ConfigOutputWidget() @@ -627,5 +616,10 @@ void ConfigOutputWidget::reverseChannel(bool state) } +void ConfigOutputWidget::openHelp() +{ + + QDesktopServices::openUrl( QUrl("http://wiki.openpilot.org/display/Doc/Output+Configuration", QUrl::StrictMode) ); +} diff --git a/ground/openpilotgcs/src/plugins/config/configoutputwidget.h b/ground/openpilotgcs/src/plugins/config/configoutputwidget.h index f3083e725..bb18312f7 100644 --- a/ground/openpilotgcs/src/plugins/config/configoutputwidget.h +++ b/ground/openpilotgcs/src/plugins/config/configoutputwidget.h @@ -87,6 +87,7 @@ private slots: void reverseChannel(bool state); void linkToggled(bool state); void setSpinningArmed(bool val); + void openHelp(); }; #endif diff --git a/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.cpp b/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.cpp index 6d829b756..dd172a599 100644 --- a/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.cpp +++ b/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.cpp @@ -32,8 +32,8 @@ #include #include #include -#include - +#include +#include ConfigStabilizationWidget::ConfigStabilizationWidget(QWidget *parent) : ConfigTaskWidget(parent) { @@ -74,20 +74,8 @@ ConfigStabilizationWidget::ConfigStabilizationWidget(QWidget *parent) : ConfigTa connect(m_stabilization->pitchKi, SIGNAL(valueChanged(double)), this, SLOT(updatePitchKI(double))); connect(m_stabilization->pitchILimit, SIGNAL(valueChanged(double)), this, SLOT(updatePitchILimit(double))); - // Connect all the help buttons to signal mapper that passes button name to SLOT function - QSignalMapper* signalMapper = new QSignalMapper(this); - connect( m_stabilization->rateStabiHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_stabilization->rateStabiHelp, m_stabilization->rateStabiHelp->objectName()); - connect( m_stabilization->attitudeStabiHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_stabilization->attitudeStabiHelp, m_stabilization->attitudeStabiHelp->objectName()); - connect( m_stabilization->angleLimitsHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_stabilization->angleLimitsHelp, m_stabilization->angleLimitsHelp->objectName()); - connect( m_stabilization->updateRealTimeHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_stabilization->updateRealTimeHelp, m_stabilization->updateRealTimeHelp->objectName()); - connect( m_stabilization->commandHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_stabilization->commandHelp, m_stabilization->commandHelp->objectName()); - - connect(signalMapper, SIGNAL(mapped(const QString &)), parent, SLOT(showHelp(const QString &))); + // Connect the help button + connect(m_stabilization->stabilizationHelp, SIGNAL(clicked()), this, SLOT(openHelp())); } ConfigStabilizationWidget::~ConfigStabilizationWidget() @@ -290,3 +278,9 @@ void ConfigStabilizationWidget::realtimeUpdateToggle(bool state) updateTimer.stop(); } +void ConfigStabilizationWidget::openHelp() +{ + + QDesktopServices::openUrl( QUrl("http://wiki.openpilot.org/display/Doc/Stabilization+panel", QUrl::StrictMode) ); +} + diff --git a/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.h b/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.h index 00cbbc977..5af92ae65 100644 --- a/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.h +++ b/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.h @@ -55,6 +55,7 @@ private slots: void sendStabilizationUpdate(); void saveStabilizationUpdate(); void realtimeUpdateToggle(bool); + void openHelp(); void updateRateRollKP(double); void updateRateRollKI(double); diff --git a/ground/openpilotgcs/src/plugins/config/configtelemetrywidget.cpp b/ground/openpilotgcs/src/plugins/config/configtelemetrywidget.cpp index a307da966..843f94ffb 100644 --- a/ground/openpilotgcs/src/plugins/config/configtelemetrywidget.cpp +++ b/ground/openpilotgcs/src/plugins/config/configtelemetrywidget.cpp @@ -32,7 +32,6 @@ #include #include #include -#include ConfigTelemetryWidget::ConfigTelemetryWidget(QWidget *parent) : ConfigTaskWidget(parent) @@ -54,15 +53,6 @@ ConfigTelemetryWidget::ConfigTelemetryWidget(QWidget *parent) : ConfigTaskWidget connect(m_telemetry->getTelemetryCurrent, SIGNAL(clicked()), this, SLOT(requestTelemetryUpdate())); connect(parent, SIGNAL(autopilotConnected()),this, SLOT(requestTelemetryUpdate())); - - // Connect all the help buttons to signal mapper that passes button name to SLOT function - QSignalMapper* signalMapper = new QSignalMapper(this); - connect( m_telemetry->telemetryHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_telemetry->telemetryHelp, m_telemetry->telemetryHelp->objectName()); - connect( m_telemetry->commandHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_telemetry->commandHelp, QString("commandHelp")); - - connect(signalMapper, SIGNAL(mapped(const QString &)), parent, SLOT(showHelp(const QString &))); } ConfigTelemetryWidget::~ConfigTelemetryWidget() diff --git a/ground/openpilotgcs/src/plugins/config/input.ui b/ground/openpilotgcs/src/plugins/config/input.ui index af38b512d..d3260e150 100644 --- a/ground/openpilotgcs/src/plugins/config/input.ui +++ b/ground/openpilotgcs/src/plugins/config/input.ui @@ -6,8 +6,8 @@ 0 0 - 617 - 395 + 557 + 462 @@ -19,1487 +19,978 @@ 0 - + RC Input - - - - 530 - 40 - 36 - 17 - - - - - FreeSans - 8 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Maximum channel pulse width</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(microseconds)</p></body></html> - - - 2000 - - - - - - 150 - 40 - 51 - 17 - - - - - FreeSans - 10 - 75 - true - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + + + + + + MS Shell Dlg 2 + 8 + + + + + + + + + FreeSans + 10 + 75 + true + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'FreeSans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Current channel value.</span></p></body></html> - - - 1000 - - - - - - 205 - 70 - 36 - 17 - - - - - FreeSans - 8 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + + + 1000 + + + + + + + + FreeSans + 8 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Minimum channel pulse width</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(microseconds)</p></body></html> - - - 1000 - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 205 - 220 - 36 - 17 - - - - - FreeSans - 8 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Minimum channel pulse width</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(microseconds)</p></body></html> - - - 1000 - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 150 - 250 - 51 - 17 - - - - - FreeSans - 10 - 75 - true - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'FreeSans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Current channel value.</span></p></body></html> - - - 1000 - - - - - - 530 - 160 - 36 - 17 - - - - - FreeSans - 8 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + + + 1000 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + true + + + 1000 + + + 2000 + + + 1500 + + + Qt::Horizontal + + + + + + + + FreeSans + 8 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Maximum channel pulse width</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(microseconds)</p></body></html> - - - 2000 - - - - - - 205 - 250 - 36 - 17 - - - - - FreeSans - 8 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + + + 2000 + + + + + + + Check this to reverse the channel. +(Useful for transmitters without channel +reversal capabilities). + + + + + + + + + + + MS Shell Dlg 2 + 8 + + + + + + + + + FreeSans + 10 + 75 + true + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'FreeSans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Current channel value.</span></p></body></html> + + + 1000 + + + + + + + + FreeSans + 8 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Minimum channel pulse width</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(microseconds)</p></body></html> - - - 1000 - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 260 - 280 - 93 - 27 - - - - Retrieve settings from OpenPilot - - - Get Current - - - - - - 205 - 100 - 36 - 17 - - - - - FreeSans - 8 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + + + 1000 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + true + + + 1000 + + + 2000 + + + 1500 + + + Qt::Horizontal + + + + + + + + FreeSans + 8 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Maximum channel pulse width</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(microseconds)</p></body></html> + + + 2000 + + + + + + + Check this to reverse the channel. +(Useful for transmitters without channel +reversal capabilities). + + + + + + + + + + + MS Shell Dlg 2 + 8 + + + + + + + + + FreeSans + 10 + 75 + true + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'FreeSans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Current channel value.</span></p></body></html> + + + 1000 + + + + + + + + FreeSans + 8 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Minimum channel pulse width</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(microseconds)</p></body></html> - - - 1000 - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 530 - 220 - 36 - 17 - - - - - FreeSans - 8 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + + + 1000 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + true + + + 1000 + + + 2000 + + + 1500 + + + Qt::Horizontal + + + + + + + + FreeSans + 8 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Maximum channel pulse width</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(microseconds)</p></body></html> - - - 2000 - - - - - - 530 - 190 - 36 - 17 - - - - - FreeSans - 8 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Maximum channel pulse width</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(microseconds)</p></body></html> - - - 2000 - - - - - - 530 - 130 - 36 - 17 - - - - - FreeSans - 8 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Maximum channel pulse width</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(microseconds)</p></body></html> - - - 2000 - - - - - - 460 - 280 - 93 - 27 - - - - Be sure to set the Neutral position on all sliders before sending! -Applies and Saves all settings to SD - - - Save - - - - - - 150 - 160 - 51 - 17 - - - - - FreeSans - 10 - 75 - true - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + + + 2000 + + + + + + + Check this to reverse the channel. +(Useful for transmitters without channel +reversal capabilities). + + + + + + + + + + + MS Shell Dlg 2 + 8 + + + + + + + + + FreeSans + 10 + 75 + true + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'FreeSans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Current channel value.</span></p></body></html> - - - 1000 - - - - - - 205 - 160 - 36 - 17 - - - - - FreeSans - 8 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + + + 1000 + + + + + + + + FreeSans + 8 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Minimum channel pulse width</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(microseconds)</p></body></html> - - - 1000 - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 360 - 280 - 93 - 27 - - - - Send to OpenPilot but don't write in SD. -Be sure to set the Neutral position on all sliders before sending! - - - Apply - - - - - - 20 - 40 - 121 - 21 - - - - - MS Shell Dlg 2 - 8 - - - - - 16 - 16 - - - - true - - - - - - 205 - 130 - 36 - 17 - - - - - FreeSans - 8 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Minimum channel pulse width</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(microseconds)</p></body></html> - - - 1000 - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 530 - 250 - 36 - 17 - - - - - FreeSans - 8 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + + + 1000 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + true + + + 1000 + + + 2000 + + + 1500 + + + Qt::Horizontal + + + + + + + + FreeSans + 8 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Maximum channel pulse width</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(microseconds)</p></body></html> - - - 2000 - - - - - - 150 - 100 - 51 - 17 - - - - - FreeSans - 10 - 75 - true - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + + + 2000 + + + + + + + Check this to reverse the channel. +(Useful for transmitters without channel +reversal capabilities). + + + + + + + + + + + MS Shell Dlg 2 + 8 + + + + + + + + + FreeSans + 10 + 75 + true + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'FreeSans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Current channel value.</span></p></body></html> - - - 1000 - - - - - - 150 - 190 - 51 - 17 - - - - - FreeSans - 10 - 75 - true - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'FreeSans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Current channel value.</span></p></body></html> - - - 1000 - - - - - - 205 - 190 - 36 - 17 - - - - - FreeSans - 8 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + + + 1000 + + + + + + + + FreeSans + 8 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Minimum channel pulse width</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(microseconds)</p></body></html> - - - 1000 - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 150 - 70 - 51 - 17 - - - - - FreeSans - 10 - 75 - true - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'FreeSans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Current channel value.</span></p></body></html> - - - 1000 - - - - - - 150 - 220 - 51 - 17 - - - - - FreeSans - 10 - 75 - true - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'FreeSans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Current channel value.</span></p></body></html> - - - 1000 - - - - - - 150 - 130 - 51 - 17 - - - - - FreeSans - 10 - 75 - true - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'FreeSans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Current channel value.</span></p></body></html> - - - 1000 - - - - - - 530 - 100 - 36 - 17 - - - - - FreeSans - 8 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + + + 1000 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + true + + + 1000 + + + 2000 + + + 1500 + + + Qt::Horizontal + + + + + + + + FreeSans + 8 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Maximum channel pulse width</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(microseconds)</p></body></html> - - - 2000 - - - - - - 530 - 70 - 36 - 17 - - - - - FreeSans - 8 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + + + 2000 + + + + + + + Check this to reverse the channel. +(Useful for transmitters without channel +reversal capabilities). + + + + + + + + + + + MS Shell Dlg 2 + 8 + + + + + + + + + FreeSans + 10 + 75 + true + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Maximum channel pulse width</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(microseconds)</p></body></html> - - - 2000 - - - - - - 205 - 40 - 36 - 17 - - - - - FreeSans - 8 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +</style></head><body style=" font-family:'FreeSans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Current channel value.</span></p></body></html> + + + 1000 + + + + + + + + FreeSans + 8 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Minimum channel pulse width</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(microseconds)</p></body></html> - - - 1000 - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 20 - 70 - 121 - 21 - - - - - MS Shell Dlg 2 - 8 - - - - - - - 20 - 100 - 121 - 21 - - - - - MS Shell Dlg 2 - 8 - - - - - - - 20 - 130 - 121 - 21 - - - - - MS Shell Dlg 2 - 8 - - - - - - - 20 - 160 - 121 - 21 - - - - - MS Shell Dlg 2 - 8 - - - - - - - 20 - 190 - 121 - 21 - - - - - MS Shell Dlg 2 - 8 - - - - - - - 20 - 220 - 121 - 21 - - - - - MS Shell Dlg 2 - 8 - - - - - - - 20 - 250 - 121 - 21 - - - - - MS Shell Dlg 2 - 8 - - - - - - - 40 - 283 - 181 - 22 - - - - - 75 - true - - - - Start calibrating the RC Inputs. + + + 1000 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + true + + + 1000 + + + 2000 + + + 1500 + + + Qt::Horizontal + + + + + + + + FreeSans + 8 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Maximum channel pulse width</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(microseconds)</p></body></html> + + + 2000 + + + + + + + Check this to reverse the channel. +(Useful for transmitters without channel +reversal capabilities). + + + + + + + + + + + MS Shell Dlg 2 + 8 + + + + + + + + + FreeSans + 10 + 75 + true + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'FreeSans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Current channel value.</span></p></body></html> + + + 1000 + + + + + + + + FreeSans + 8 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Minimum channel pulse width</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(microseconds)</p></body></html> + + + 1000 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + true + + + 1000 + + + 2000 + + + 1500 + + + Qt::Horizontal + + + + + + + + FreeSans + 8 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Maximum channel pulse width</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(microseconds)</p></body></html> + + + 2000 + + + + + + + Check this to reverse the channel. +(Useful for transmitters without channel +reversal capabilities). + + + + + + + + + + + 75 + true + + + + Start calibrating the RC Inputs. Uncheck/Check to restart calibration. During calibration: move your RC controls over their whole range, then leave them on Neutral, uncheck calibration and save. Neutral should be put at the bottom of the slider for the throttle. - - - Run Calibration - - - - - - 260 - 0 - 291 - 41 - - - - - 11 - 75 - true - - - - Indicates whether OpenPilot is getting a signal from the RC receiver. - - - RC Receiver not connected or invalid input configuration (missing channels) - - - true - - - - - - 140 - 10 - 91 - 21 - - - - Select the receiver type here: -- PWM is the most usual type -- PPM is connected to input XXX -- Spektrum is used with Spektrum 'satellite' receivers - - - - - - 20 - 10 - 111 - 17 - - - - - 75 - true - - - - Receiver Type: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 20 - 310 - 561 - 21 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + + + Run Calibration + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:10pt; font-weight:600; color:#ff0000;">BEWARE: make sure your engines are not connected when running calibration!</span></p></body></html> - - - - - - 250 - 40 - 271 - 21 - - - - true - - - 1000 - - - 2000 - - - 1500 - - - Qt::Horizontal - - - - - - 250 - 70 - 271 - 21 - - - - true - - - 1000 - - - 2000 - - - 1500 - - - Qt::Horizontal - - - - - - 250 - 100 - 271 - 21 - - - - true - - - 1000 - - - 2000 - - - 1500 - - - Qt::Horizontal - - - - - - 250 - 130 - 271 - 21 - - - - true - - - 1000 - - - 2000 - - - 1500 - - - Qt::Horizontal - - - - - - 250 - 160 - 271 - 21 - - - - true - - - 1000 - - - 2000 - - - 1500 - - - Qt::Horizontal - - - - - - 250 - 190 - 271 - 21 - - - - true - - - 1000 - - - 2000 - - - 1500 - - - Qt::Horizontal - - - - - - 250 - 220 - 271 - 21 - - - - true - - - 1000 - - - 2000 - - - 1500 - - - Qt::Horizontal - - - - - - 250 - 250 - 271 - 21 - - - - true - - - 1000 - - - 2000 - - - 1500 - - - Qt::Horizontal - - - - - - 560 - 40 - 21 - 22 - - - - Check this to reverse the channel. + + + + + + + Rev. + + + + + + + Check this to reverse the channel. (Useful for transmitters without channel reversal capabilities). - - - - - - - - - 560 - 20 - 31 - 20 - - - - Rev. - - - - - - 560 - 70 - 21 - 22 - - - - Check this to reverse the channel. -(Useful for transmitters without channel -reversal capabilities). - - - - - - - - - 560 - 100 - 21 - 22 - - - - Check this to reverse the channel. -(Useful for transmitters without channel -reversal capabilities). - - - - - - - - - 560 - 130 - 21 - 22 - - - - Check this to reverse the channel. -(Useful for transmitters without channel -reversal capabilities). - - - - - - - - - 560 - 160 - 21 - 22 - - - - Check this to reverse the channel. -(Useful for transmitters without channel -reversal capabilities). - - - - - - - - - 560 - 190 - 21 - 22 - - - - Check this to reverse the channel. -(Useful for transmitters without channel -reversal capabilities). - - - - - - - - - 560 - 220 - 21 - 22 - - - - Check this to reverse the channel. -(Useful for transmitters without channel -reversal capabilities). - - - - - - - - - 560 - 250 - 21 - 22 - - - - Check this to reverse the channel. -(Useful for transmitters without channel -reversal capabilities). - - - - - - - - - 230 - 284 - 20 - 20 - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - - - - 10 - 284 - 20 - 20 - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - - - - 10 - 10 - 20 - 20 - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - + + + + + + + + + + + FreeSans + 8 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Maximum channel pulse width</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(microseconds)</p></body></html> + + + 2000 + + + + + + + true + + + 1000 + + + 2000 + + + 1500 + + + Qt::Horizontal + + + + + + + + FreeSans + 8 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Minimum channel pulse width</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(microseconds)</p></body></html> + + + 1000 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + FreeSans + 10 + 75 + true + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'FreeSans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Current channel value.</span></p></body></html> + + + 1000 + + + + + + + + MS Shell Dlg 2 + 8 + + + + + 16 + 16 + + + + true + + + + + + + + 11 + 75 + true + + + + Indicates whether OpenPilot is getting a signal from the RC receiver. + + + RC Receiver not connected or invalid input configuration (missing channels) + + + true + + + + + + + Select the receiver type here: +- PWM is the most usual type +- PPM is connected to input XXX +- Spektrum is used with Spektrum 'satellite' receivers + + + + + + + + 75 + true + + + + Receiver Type: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + Flight Mode Switch Settings - - - - 270 - 310 - 93 - 27 - - - - Retrieve settings from OpenPilot - - - Get Current - - - - - - 380 - 310 - 93 - 27 - - - - Send to OpenPilot but don't write in SD. -Be sure to set the Neutral position on all sliders before sending! - - - Apply - - - - - - 490 - 310 - 93 - 27 - - - - Be sure to set the Neutral position on all sliders before sending! -Applies and Saves all settings to SD - - - Save - - - 390 + 310 10 201 17 @@ -1518,7 +1009,7 @@ Applies and Saves all settings to SD - 390 + 310 30 201 17 @@ -1760,87 +1251,6 @@ if you have not done so already. - - - - 5 - 0 - 20 - 20 - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - - - - 5 - 130 - 20 - 20 - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - - - - 240 - 314 - 20 - 20 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - @@ -1849,29 +1259,6 @@ if you have not done so already. - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -1909,29 +1296,6 @@ if you have not done so already. - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -1971,6 +1335,13 @@ if you have not done so already. + + + + Airframe disarm is done by throttle off and opposite of above combination. + + + @@ -1984,71 +1355,91 @@ if you have not done so already. - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - - - - - Get Current - - - - - - - Apply - - - - - - - Save - - - - - + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + + 32 + 32 + + + + + + + + :/core/images/helpicon.svg:/core/images/helpicon.svg + + + + 32 + 32 + + + + true + + + + + + + Retrieve settings from OpenPilot + + + Get Current + + + + + + + Send to OpenPilot but don't write in SD. +Be sure to set the Neutral position on all sliders before sending! + + + Apply + + + + + + + Be sure to set the Neutral position on all sliders before sending! +Applies and Saves all settings to SD + + + Save + + + + + @@ -2062,9 +1453,6 @@ if you have not done so already. ch7Assign receiverType doRCInputCalibration - getRCInputCurrent - saveRCInputToRAM - saveRCInputToSD fmsSlider fmsModePos3 fmsSsPos3Roll @@ -2078,12 +1466,9 @@ if you have not done so already. fmsSsPos1Roll fmsSsPos1Pitch fmsSsPos1Yaw - getFmsCurrent - saveFmsToRAM - saveFmsToSD - + diff --git a/ground/openpilotgcs/src/plugins/config/output.ui b/ground/openpilotgcs/src/plugins/config/output.ui index 95d977cf7..4d292204b 100644 --- a/ground/openpilotgcs/src/plugins/config/output.ui +++ b/ground/openpilotgcs/src/plugins/config/output.ui @@ -136,29 +136,6 @@ Leave at 50Hz for fixed wing. - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -1052,29 +1029,6 @@ p, li { white-space: pre-wrap; } - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -1092,29 +1046,6 @@ p, li { white-space: pre-wrap; } - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -1152,29 +1083,6 @@ p, li { white-space: pre-wrap; } - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -1204,7 +1112,7 @@ p, li { white-space: pre-wrap; } - + 0 @@ -1213,16 +1121,25 @@ p, li { white-space: pre-wrap; } - 20 - 20 + 32 + 32 - - :/configgadget/images/help2.png:/configgadget/images/help2.png + + :/core/images/helpicon.svg:/core/images/helpicon.svg + + + + 32 + 32 + + + + true @@ -1313,7 +1230,7 @@ Applies and Saves all settings to SD saveRCOutputToSD - + diff --git a/ground/openpilotgcs/src/plugins/config/stabilization.ui b/ground/openpilotgcs/src/plugins/config/stabilization.ui index 5b41db44f..e4ccf1b89 100644 --- a/ground/openpilotgcs/src/plugins/config/stabilization.ui +++ b/ground/openpilotgcs/src/plugins/config/stabilization.ui @@ -7,7 +7,7 @@ 0 0 639 - 657 + 461 @@ -21,29 +21,6 @@ - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -272,29 +249,6 @@ value as YawRate Kp. - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -527,29 +481,6 @@ flying style. - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -651,29 +582,6 @@ flying style. - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -699,7 +607,7 @@ automatically every 300ms, which will help for fast tuning. - + 0 @@ -708,16 +616,25 @@ automatically every 300ms, which will help for fast tuning. - 20 - 20 + 32 + 32 - - :/configgadget/images/help2.png:/configgadget/images/help2.png + + :/core/images/helpicon.svg:/core/images/helpicon.svg + + + + 32 + 32 + + + + true @@ -747,7 +664,7 @@ automatically every 300ms, which will help for fast tuning. - + diff --git a/ground/openpilotgcs/src/plugins/config/telemetry.ui b/ground/openpilotgcs/src/plugins/config/telemetry.ui index 2423a6e1a..905e2fdb2 100644 --- a/ground/openpilotgcs/src/plugins/config/telemetry.ui +++ b/ground/openpilotgcs/src/plugins/config/telemetry.ui @@ -6,192 +6,128 @@ 0 0 - 720 - 480 + 505 + 389 Form - - - - 10 - 10 - 411 - 321 - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - 10 - 10 - 361 - 151 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 10 + 10 + 361 + 151 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:10pt;">Set the serial speed of your onboard telemetry modem here. It is the speed between the OpenPilot board and the onboard modem, and could be different from the radio link speed.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:10pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:10pt;">Beware of not locking yourself out! You should only modify this setting when the OpenPilot board is connected through the USB port.</span></p></body></html> - - - - - - 70 - 200 - 131 - 17 - - - - - 11 - 75 - true - - - - Telemetry speed: - - - - - - 200 - 190 - 141 - 31 - - - - Select the speed here. - - - - - - 190 - 280 - 93 - 27 - - - - Send to OpenPilot but don't write in SD. + + + + + + 70 + 200 + 131 + 17 + + + + + 11 + 75 + true + + + + Telemetry speed: + + + + + + 200 + 190 + 141 + 31 + + + + Select the speed here. + + + + + + 190 + 280 + 93 + 27 + + + + Send to OpenPilot but don't write in SD. Beware of not locking yourself out! - - - Apply - - - - - - 80 - 280 - 93 - 27 - - - - Retrieve settings from OpenPilot - - - Get Current - - - - - - 300 - 280 - 93 - 27 - - - - Applies and Saves all settings to SD. + + + Apply + + + + + + 80 + 280 + 93 + 27 + + + + Retrieve settings from OpenPilot + + + Get Current + + + + + + 300 + 280 + 93 + 27 + + + + Applies and Saves all settings to SD. Beware of not locking yourself out! - - - Save - - - - - - 45 - 198 - 20 - 20 - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - - - - 45 - 284 - 20 - 20 - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - + + + Save + + + + + - - - + diff --git a/ground/openpilotgcs/src/plugins/coreplugin/core.qrc b/ground/openpilotgcs/src/plugins/coreplugin/core.qrc index 5c6d9c76b..c1b0f8e36 100644 --- a/ground/openpilotgcs/src/plugins/coreplugin/core.qrc +++ b/ground/openpilotgcs/src/plugins/coreplugin/core.qrc @@ -60,5 +60,6 @@ images/world.png images/cog.png OpenPilotGCS.xml + images/helpicon.svg diff --git a/ground/openpilotgcs/src/plugins/coreplugin/images/helpicon.svg b/ground/openpilotgcs/src/plugins/coreplugin/images/helpicon.svg new file mode 100644 index 000000000..620acb6ae --- /dev/null +++ b/ground/openpilotgcs/src/plugins/coreplugin/images/helpicon.svg @@ -0,0 +1,37 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +