mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-27 16:54:15 +01:00
Merge branch 'thread/OP-1222_FW_Wizard' of ssh://git.openpilot.org/OpenPilot into laurent/OP-1222_FW_Wizard
This commit is contained in:
commit
61e65734b2
@ -26,109 +26,47 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "airspeedpage.h"
|
#include "airspeedpage.h"
|
||||||
#include "ui_airspeed.h"
|
|
||||||
#include "setupwizard.h"
|
#include "setupwizard.h"
|
||||||
|
|
||||||
AirSpeedPage::AirSpeedPage(SetupWizard *wizard, QWidget *parent) :
|
AirSpeedPage::AirSpeedPage(SetupWizard *wizard, QWidget *parent) :
|
||||||
AbstractWizardPage(wizard, parent),
|
SelectionPage(wizard, QString(":/setupwizard/resources/airspeed-shapes.svg"), parent)
|
||||||
ui(new Ui::AirSpeedPage)
|
{}
|
||||||
{
|
|
||||||
ui->setupUi(this);
|
|
||||||
QSvgRenderer *renderer = new QSvgRenderer();
|
|
||||||
renderer->load(QString(":/configgadget/images/fixedwing-shapes.svg"));
|
|
||||||
m_airspeedPic = new QGraphicsSvgItem();
|
|
||||||
m_airspeedPic->setSharedRenderer(renderer);
|
|
||||||
QGraphicsScene *scene = new QGraphicsScene(this);
|
|
||||||
scene->addItem(m_airspeedPic);
|
|
||||||
ui->typeGraphicsView->setScene(scene);
|
|
||||||
|
|
||||||
setupAirSpeedPageTypesCombo();
|
|
||||||
|
|
||||||
// Default to Software Estimation
|
|
||||||
connect(ui->typeCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(updateImageAndDescription()));
|
|
||||||
ui->typeCombo->setCurrentIndex(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
AirSpeedPage::~AirSpeedPage()
|
AirSpeedPage::~AirSpeedPage()
|
||||||
{
|
{}
|
||||||
delete ui;
|
|
||||||
}
|
|
||||||
|
|
||||||
void AirSpeedPage::initializePage()
|
bool AirSpeedPage::validatePage(SelectionItem *selectedItem)
|
||||||
{
|
{
|
||||||
updateAvailableTypes();
|
getWizard()->setAirspeedType((SetupWizard::AIRSPEED_TYPE)selectedItem->id());
|
||||||
updateImageAndDescription();
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO
|
|
||||||
bool AirSpeedPage::validatePage()
|
|
||||||
{
|
|
||||||
SetupWizard::VEHICLE_SUB_TYPE type = (SetupWizard::VEHICLE_SUB_TYPE)ui->typeCombo->itemData(ui->typeCombo->currentIndex()).toInt();
|
|
||||||
|
|
||||||
getWizard()->setVehicleSubType(type);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AirSpeedPage::fitInView()
|
void AirSpeedPage::setupSelection(Selection *selection)
|
||||||
{
|
{
|
||||||
if (m_airspeedPic) {
|
selection->setTitle(tr("OpenPilot Airspeed Sensor Selection"));
|
||||||
ui->typeGraphicsView->setSceneRect(m_airspeedPic->boundingRect());
|
selection->setText(tr("This part of the wizard will help you select and configure a way to obtain "
|
||||||
ui->typeGraphicsView->fitInView(m_airspeedPic, Qt::KeepAspectRatio);
|
"airspeed data. OpenPilot support three methods to achieve this, one is a "
|
||||||
}
|
"software estimation technique and the other two utilize hardware sensors.\n\n"
|
||||||
}
|
"Please select how you wish to obtain airspeed data below:"));
|
||||||
|
selection->addItem(tr("Estimated"),
|
||||||
void AirSpeedPage::resizeEvent(QResizeEvent *event)
|
tr("This option uses an intelligent estimation algorithm which utilizes the OpenPilot INS/GPS "
|
||||||
{
|
"to estimate wind speed and subtract it from ground speed obtained from the GPS.\n\n"
|
||||||
Q_UNUSED(event);
|
"This solution is highly accurate in normal level flight with the drawback of being less "
|
||||||
fitInView();
|
"accurate in rapid altitude changes.\n\n"),
|
||||||
}
|
"estimated",
|
||||||
|
SetupWizard::ESTIMATE);
|
||||||
void AirSpeedPage::showEvent(QShowEvent *event)
|
|
||||||
{
|
selection->addItem(tr("EagleTree"),
|
||||||
Q_UNUSED(event);
|
tr("Select this option to use the Airspeed MicroSensor V3 from EagleTree, this is an accurate "
|
||||||
fitInView();
|
"airspeed sensor that includes on-board Temperature Compensation.\n\n"
|
||||||
}
|
"Selecting this option will set your board's Flexi-Port in to I2C mode."),
|
||||||
|
"eagletree",
|
||||||
// TODO
|
SetupWizard::EAGLETREE);
|
||||||
void AirSpeedPage::setupAirSpeedPageTypesCombo()
|
|
||||||
{
|
selection->addItem(tr("MS4525 Based"),
|
||||||
ui->typeCombo->addItem(tr("Aileron Dual Servos"), SetupWizard::FIXED_WING_DUAL_AILERON);
|
tr("Select this option to use an airspeed sensor based on the MS4525DO pressure transducer "
|
||||||
m_descriptions << tr("This setup expects a traditional airframe using two independent aileron servos on their own channel (not connected by Y adapter) plus an elevator and a rudder. ");
|
"from Measurement Specialties. This includes the PixHawk sensor and their clones.\n\n"
|
||||||
|
"Selecting this option will set your board's Flexi-Port in to I2C mode."),
|
||||||
ui->typeCombo->addItem(tr("Aileron Single Servo"), SetupWizard::FIXED_WING_AILERON);
|
"ms4525",
|
||||||
m_descriptions << tr("This setup expects a traditional airframe using a single alieron servo or two servos connected by a Y adapter plus an elevator and a rudder. ");
|
SetupWizard::MS4525);
|
||||||
|
|
||||||
ui->typeCombo->addItem(tr("Elevon"), SetupWizard::FIXED_WING_ELEVON);
|
|
||||||
m_descriptions << tr("This setup currently expects a flying-wing setup, an elevon plus rudder setup is not yet supported. Setup should include only two elevons, and should explicitly not include a rudder.");
|
|
||||||
}
|
|
||||||
|
|
||||||
void AirSpeedPage::updateAvailableTypes()
|
|
||||||
{}
|
|
||||||
|
|
||||||
// TODO
|
|
||||||
void AirSpeedPage::updateImageAndDescription()
|
|
||||||
{
|
|
||||||
SetupWizard::VEHICLE_SUB_TYPE type = (SetupWizard::VEHICLE_SUB_TYPE)ui->typeCombo->itemData(ui->typeCombo->currentIndex()).toInt();
|
|
||||||
QString elementId = "";
|
|
||||||
QString description = m_descriptions.at(ui->typeCombo->currentIndex());
|
|
||||||
|
|
||||||
switch (type) {
|
|
||||||
case SetupWizard::FIXED_WING_DUAL_AILERON:
|
|
||||||
elementId = "aileron";
|
|
||||||
break;
|
|
||||||
case SetupWizard::FIXED_WING_AILERON:
|
|
||||||
elementId = "aileron-single";
|
|
||||||
break;
|
|
||||||
case SetupWizard::FIXED_WING_ELEVON:
|
|
||||||
elementId = "elevon";
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
elementId = "";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
m_airspeedPic->setElementId(elementId);
|
|
||||||
ui->typeGraphicsView->setSceneRect(m_airspeedPic->boundingRect());
|
|
||||||
ui->typeGraphicsView->fitInView(m_airspeedPic, Qt::KeepAspectRatio);
|
|
||||||
|
|
||||||
ui->typeDescription->setText(description);
|
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
/**
|
/**
|
||||||
******************************************************************************
|
******************************************************************************
|
||||||
*
|
*
|
||||||
* @file fixedwingpage.h
|
* @file airspeedpage.h
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2012.
|
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2014.
|
||||||
* @addtogroup
|
* @addtogroup
|
||||||
* @{
|
* @{
|
||||||
* @addtogroup FixedWingPage
|
* @addtogroup AirSpeedPage
|
||||||
* @{
|
* @{
|
||||||
* @brief
|
* @brief
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
@ -28,40 +28,18 @@
|
|||||||
#ifndef AIRSPEEDPAGE_H
|
#ifndef AIRSPEEDPAGE_H
|
||||||
#define AIRSPEEDPAGE_H
|
#define AIRSPEEDPAGE_H
|
||||||
|
|
||||||
#include <QtSvg/QGraphicsSvgItem>
|
#include "selectionpage.h"
|
||||||
#include <QtSvg/QSvgRenderer>
|
|
||||||
#include <QList>
|
|
||||||
|
|
||||||
#include "abstractwizardpage.h"
|
class AirSpeedPage : public SelectionPage {
|
||||||
|
|
||||||
namespace Ui {
|
|
||||||
class AirSpeedPage;
|
|
||||||
}
|
|
||||||
|
|
||||||
class AirSpeedPage : public AbstractWizardPage {
|
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit AirSpeedPage(SetupWizard *wizard, QWidget *parent = 0);
|
explicit AirSpeedPage(SetupWizard *wizard, QWidget *parent = 0);
|
||||||
~AirSpeedPage();
|
~AirSpeedPage();
|
||||||
|
|
||||||
void initializePage();
|
public:
|
||||||
bool validatePage();
|
bool validatePage(SelectionItem *selectedItem);
|
||||||
|
void setupSelection(Selection *selection);
|
||||||
void fitInView();
|
|
||||||
protected:
|
|
||||||
void resizeEvent(QResizeEvent *event);
|
|
||||||
void showEvent(QShowEvent *event);
|
|
||||||
|
|
||||||
private:
|
|
||||||
Ui::AirSpeedPage *ui;
|
|
||||||
void setupAirSpeedPageTypesCombo();
|
|
||||||
QGraphicsSvgItem *m_fixedwingPic;
|
|
||||||
void updateAvailableTypes();
|
|
||||||
QList<QString> m_descriptions;
|
|
||||||
|
|
||||||
private slots:
|
|
||||||
void updateImageAndDescription();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // AIRSPEEDPAGE_H
|
#endif // AIRSPEEDPAGE_H
|
||||||
|
@ -1,164 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<ui version="4.0">
|
|
||||||
<class>FixedWingPage</class>
|
|
||||||
<widget class="QWizardPage" name="FixedWingPage">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>600</width>
|
|
||||||
<height>400</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="windowTitle">
|
|
||||||
<string>WizardPage</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="label">
|
|
||||||
<property name="text">
|
|
||||||
<string><!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:8pt; font-weight:400; font-style:normal;">
|
|
||||||
<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">OpenPilot Airspeed Sensor Configuration</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-size:12pt; font-weight:600;"><br /></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-size:10pt;">This part of the wizard will set up the OpenPilot controller for use with an airspeed sensor also commonly called a Pitot tube. The OpenPilot Platform supports multiple types of hardware airspeed sensors as well as an advanced software based wind speed estimation algorthym which requires no additional hardware although this is slightly less accurate than using a dedicated hardware sensor. </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-size:10pt;"><br /></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-size:10pt;">Please select the type of airspeed sensor you wish to use below:</span></p></body></html></string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
|
||||||
</property>
|
|
||||||
<property name="wordWrap">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
||||||
<property name="topMargin">
|
|
||||||
<number>4</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
|
||||||
<property name="rightMargin">
|
|
||||||
<number>4</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="label_2">
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>125</width>
|
|
||||||
<height>36</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<pointsize>10</pointsize>
|
|
||||||
<weight>50</weight>
|
|
||||||
<bold>false</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Airspeed type:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QComboBox" name="typeCombo">
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>125</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QTextEdit" name="typeDescription">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Maximum" vsizetype="Expanding">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="verticalScrollBarPolicy">
|
|
||||||
<enum>Qt::ScrollBarAlwaysOn</enum>
|
|
||||||
</property>
|
|
||||||
<property name="horizontalScrollBarPolicy">
|
|
||||||
<enum>Qt::ScrollBarAlwaysOff</enum>
|
|
||||||
</property>
|
|
||||||
<property name="textInteractionFlags">
|
|
||||||
<set>Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QGraphicsView" name="typeGraphicsView">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>200</width>
|
|
||||||
<height>200</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="autoFillBackground">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="frameShape">
|
|
||||||
<enum>QFrame::NoFrame</enum>
|
|
||||||
</property>
|
|
||||||
<property name="lineWidth">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="midLineWidth">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="verticalScrollBarPolicy">
|
|
||||||
<enum>Qt::ScrollBarAlwaysOff</enum>
|
|
||||||
</property>
|
|
||||||
<property name="horizontalScrollBarPolicy">
|
|
||||||
<enum>Qt::ScrollBarAlwaysOff</enum>
|
|
||||||
</property>
|
|
||||||
<property name="backgroundBrush">
|
|
||||||
<brush brushstyle="NoBrush">
|
|
||||||
<color alpha="0">
|
|
||||||
<red>0</red>
|
|
||||||
<green>0</green>
|
|
||||||
<blue>0</blue>
|
|
||||||
</color>
|
|
||||||
</brush>
|
|
||||||
</property>
|
|
||||||
<property name="foregroundBrush">
|
|
||||||
<brush brushstyle="NoBrush">
|
|
||||||
<color alpha="0">
|
|
||||||
<red>0</red>
|
|
||||||
<green>0</green>
|
|
||||||
<blue>0</blue>
|
|
||||||
</color>
|
|
||||||
</brush>
|
|
||||||
</property>
|
|
||||||
<property name="interactive">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<resources/>
|
|
||||||
<connections/>
|
|
||||||
</ui>
|
|
@ -35,9 +35,9 @@ FixedWingPage::FixedWingPage(SetupWizard *wizard, QWidget *parent) :
|
|||||||
FixedWingPage::~FixedWingPage()
|
FixedWingPage::~FixedWingPage()
|
||||||
{}
|
{}
|
||||||
|
|
||||||
bool FixedWingPage::validatePage(SelectionItem *seletedItem)
|
bool FixedWingPage::validatePage(SelectionItem *selectedItem)
|
||||||
{
|
{
|
||||||
getWizard()->setVehicleSubType((SetupWizard::VEHICLE_SUB_TYPE)seletedItem->id());
|
getWizard()->setVehicleSubType((SetupWizard::VEHICLE_SUB_TYPE)selectedItem->id());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ public:
|
|||||||
~FixedWingPage();
|
~FixedWingPage();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
bool validatePage(SelectionItem *seletedItem);
|
bool validatePage(SelectionItem *selectedItem);
|
||||||
void setupSelection(Selection *selection);
|
void setupSelection(Selection *selection);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -0,0 +1,76 @@
|
|||||||
|
/**
|
||||||
|
******************************************************************************
|
||||||
|
*
|
||||||
|
* @file fixedwingpage.cpp
|
||||||
|
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2012.
|
||||||
|
* @addtogroup
|
||||||
|
* @{
|
||||||
|
* @addtogroup FixedWingPage
|
||||||
|
* @{
|
||||||
|
* @brief
|
||||||
|
*****************************************************************************/
|
||||||
|
/*
|
||||||
|
* 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 "gpspage.h"
|
||||||
|
#include "setupwizard.h"
|
||||||
|
|
||||||
|
GpsPage::GpsPage(SetupWizard *wizard, QWidget *parent) :
|
||||||
|
SelectionPage(wizard, QString(":/setupwizard/resources/gps-shapes.svg"), parent)
|
||||||
|
{}
|
||||||
|
|
||||||
|
GpsPage::~GpsPage()
|
||||||
|
{}
|
||||||
|
|
||||||
|
bool GpsPage::validatePage(SelectionItem *selectedItem)
|
||||||
|
{
|
||||||
|
getWizard()->setGpsType((SetupWizard::GPS_TYPE)selectedItem->id());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void GpsPage::setupSelection(Selection *selection)
|
||||||
|
{
|
||||||
|
selection->setTitle(tr("OpenPilot GPS Selection"));
|
||||||
|
selection->setText(tr("Please select the type of GPS you wish to use. As well as OpenPilot hardware, "
|
||||||
|
"3rd party GPSs are supported also, although please note that performance could "
|
||||||
|
"be less than optimal as not all GPSs are created equal.\n\n"
|
||||||
|
"Please select your GPS type data below:"));
|
||||||
|
|
||||||
|
selection->addItem(tr("Disabled"),
|
||||||
|
tr("GPS Features are not to be enabled"),
|
||||||
|
"disabled",
|
||||||
|
SetupWizard::GPS_DISABLED);
|
||||||
|
|
||||||
|
selection->addItem(tr("OpenPilot Platinum"),
|
||||||
|
tr("Select this option to use the OpenPilot Platinum GPS with integrated Magnetometer "
|
||||||
|
"and Microcontroller connected to the Main Port of your controller.\n\n"
|
||||||
|
"Note: for the OpenPilot v8 GPS please select the U-Blox option."),
|
||||||
|
"platinum",
|
||||||
|
SetupWizard::GPS_PLAT);
|
||||||
|
|
||||||
|
selection->addItem(tr("U-Blox Based"),
|
||||||
|
tr("Select this option for the OpenPilot V8 GPS or generic U-Blox chipset GPSs connected"
|
||||||
|
"to the Main Port of your controller."),
|
||||||
|
"ublox",
|
||||||
|
SetupWizard::GPS_UBX);
|
||||||
|
|
||||||
|
selection->addItem(tr("NMEA Based"),
|
||||||
|
tr("Select this option for a generic NMEA based GPS connected to the Main Port of your"
|
||||||
|
"controller."),
|
||||||
|
"nmea",
|
||||||
|
SetupWizard::GPS_NMEA);
|
||||||
|
|
||||||
|
}
|
45
ground/openpilotgcs/src/plugins/setupwizard/pages/gpspage.h
Normal file
45
ground/openpilotgcs/src/plugins/setupwizard/pages/gpspage.h
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
/**
|
||||||
|
******************************************************************************
|
||||||
|
*
|
||||||
|
* @file gpspage.h
|
||||||
|
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2014.
|
||||||
|
* @addtogroup
|
||||||
|
* @{
|
||||||
|
* @addtogroup GpsPage
|
||||||
|
* @{
|
||||||
|
* @brief
|
||||||
|
*****************************************************************************/
|
||||||
|
/*
|
||||||
|
* 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 GPSPAGE_H
|
||||||
|
#define GPSPAGE_H
|
||||||
|
|
||||||
|
#include "selectionpage.h"
|
||||||
|
|
||||||
|
class GpsPage : public SelectionPage {
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit GpsPage(SetupWizard *wizard, QWidget *parent = 0);
|
||||||
|
~GpsPage();
|
||||||
|
|
||||||
|
public:
|
||||||
|
bool validatePage(SelectionItem *selectedItem);
|
||||||
|
void setupSelection(Selection *selection);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // GPSPAGE_H
|
@ -0,0 +1,108 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="744.09448819"
|
||||||
|
height="1052.3622047"
|
||||||
|
id="svg2"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.48.5 r10040"
|
||||||
|
sodipodi:docname="airspeed-shapes.svg">
|
||||||
|
<defs
|
||||||
|
id="defs4" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="0.35"
|
||||||
|
inkscape:cx="375"
|
||||||
|
inkscape:cy="520"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:window-width="1075"
|
||||||
|
inkscape:window-height="423"
|
||||||
|
inkscape:window-x="104"
|
||||||
|
inkscape:window-y="104"
|
||||||
|
inkscape:window-maximized="0" />
|
||||||
|
<metadata
|
||||||
|
id="metadata7">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<flowRoot
|
||||||
|
xml:space="preserve"
|
||||||
|
id="flowRoot2985"
|
||||||
|
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"><flowRegion
|
||||||
|
id="flowRegion2987"><rect
|
||||||
|
id="rect2989"
|
||||||
|
width="148.57143"
|
||||||
|
height="54.285713"
|
||||||
|
x="137.14285"
|
||||||
|
y="120.93361" /></flowRegion><flowPara
|
||||||
|
id="flowPara2991">OpenPilo</flowPara></flowRoot> <g
|
||||||
|
id="eagletree">
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="text2997"
|
||||||
|
y="286.64789"
|
||||||
|
x="208.57143"
|
||||||
|
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||||
|
xml:space="preserve"><tspan
|
||||||
|
y="286.64789"
|
||||||
|
x="208.57143"
|
||||||
|
id="tspan2999"
|
||||||
|
sodipodi:role="line">Eagletree</tspan></text>
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="ms4525">
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="text3001"
|
||||||
|
y="403.79074"
|
||||||
|
x="208.57143"
|
||||||
|
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||||
|
xml:space="preserve"><tspan
|
||||||
|
y="403.79074"
|
||||||
|
x="208.57143"
|
||||||
|
id="tspan3003"
|
||||||
|
sodipodi:role="line">MS4525</tspan></text>
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="estimated"
|
||||||
|
inkscape:label="#estimated">
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="text3009"
|
||||||
|
y="140.93361"
|
||||||
|
x="205.71429"
|
||||||
|
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||||
|
xml:space="preserve"><tspan
|
||||||
|
y="140.93361"
|
||||||
|
x="205.71429"
|
||||||
|
id="tspan3011"
|
||||||
|
sodipodi:role="line">OpenPilot</tspan></text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.5 KiB |
@ -0,0 +1,108 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="744.09448819"
|
||||||
|
height="1052.3622047"
|
||||||
|
id="svg2"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.48.5 r10040"
|
||||||
|
sodipodi:docname="airspeed-shapes.svg">
|
||||||
|
<defs
|
||||||
|
id="defs4" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="0.35"
|
||||||
|
inkscape:cx="375"
|
||||||
|
inkscape:cy="520"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:window-width="1075"
|
||||||
|
inkscape:window-height="423"
|
||||||
|
inkscape:window-x="104"
|
||||||
|
inkscape:window-y="104"
|
||||||
|
inkscape:window-maximized="0" />
|
||||||
|
<metadata
|
||||||
|
id="metadata7">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<flowRoot
|
||||||
|
xml:space="preserve"
|
||||||
|
id="flowRoot2985"
|
||||||
|
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"><flowRegion
|
||||||
|
id="flowRegion2987"><rect
|
||||||
|
id="rect2989"
|
||||||
|
width="148.57143"
|
||||||
|
height="54.285713"
|
||||||
|
x="137.14285"
|
||||||
|
y="120.93361" /></flowRegion><flowPara
|
||||||
|
id="flowPara2991">OpenPilo</flowPara></flowRoot> <g
|
||||||
|
id="eagletree">
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="text2997"
|
||||||
|
y="286.64789"
|
||||||
|
x="208.57143"
|
||||||
|
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||||
|
xml:space="preserve"><tspan
|
||||||
|
y="286.64789"
|
||||||
|
x="208.57143"
|
||||||
|
id="tspan2999"
|
||||||
|
sodipodi:role="line">Eagletree</tspan></text>
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="ms4525">
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="text3001"
|
||||||
|
y="403.79074"
|
||||||
|
x="208.57143"
|
||||||
|
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||||
|
xml:space="preserve"><tspan
|
||||||
|
y="403.79074"
|
||||||
|
x="208.57143"
|
||||||
|
id="tspan3003"
|
||||||
|
sodipodi:role="line">MS4525</tspan></text>
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="estimated"
|
||||||
|
inkscape:label="#estimated">
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="text3009"
|
||||||
|
y="140.93361"
|
||||||
|
x="205.71429"
|
||||||
|
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||||
|
xml:space="preserve"><tspan
|
||||||
|
y="140.93361"
|
||||||
|
x="205.71429"
|
||||||
|
id="tspan3011"
|
||||||
|
sodipodi:role="line">OpenPilot</tspan></text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.5 KiB |
@ -32,6 +32,8 @@
|
|||||||
#include "pages/vehiclepage.h"
|
#include "pages/vehiclepage.h"
|
||||||
#include "pages/multipage.h"
|
#include "pages/multipage.h"
|
||||||
#include "pages/fixedwingpage.h"
|
#include "pages/fixedwingpage.h"
|
||||||
|
#include "pages/airspeedpage.h"
|
||||||
|
#include "pages/gpspage.h"
|
||||||
#include "pages/helipage.h"
|
#include "pages/helipage.h"
|
||||||
#include "pages/surfacepage.h"
|
#include "pages/surfacepage.h"
|
||||||
#include "pages/inputpage.h"
|
#include "pages/inputpage.h"
|
||||||
@ -132,11 +134,25 @@ int SetupWizard::nextId() const
|
|||||||
if (getVehicleSubType() == MULTI_ROTOR_TRI_Y) {
|
if (getVehicleSubType() == MULTI_ROTOR_TRI_Y) {
|
||||||
return PAGE_SERVO;
|
return PAGE_SERVO;
|
||||||
} else {
|
} else {
|
||||||
return PAGE_SUMMARY;
|
switch (getControllerType()) {
|
||||||
}
|
case CONTROLLER_REVO:
|
||||||
|
case CONTROLLER_NANO:
|
||||||
|
return PAGE_GPS;
|
||||||
|
default:
|
||||||
|
return PAGE_SUMMARY;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
case PAGE_SERVO:
|
case PAGE_SERVO:
|
||||||
return PAGE_SUMMARY;
|
{
|
||||||
|
switch (getControllerType()) {
|
||||||
|
case CONTROLLER_REVO:
|
||||||
|
case CONTROLLER_NANO:
|
||||||
|
return PAGE_GPS;
|
||||||
|
default:
|
||||||
|
return PAGE_SUMMARY;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
case PAGE_BIAS_CALIBRATION:
|
case PAGE_BIAS_CALIBRATION:
|
||||||
return PAGE_OUTPUT_CALIBRATION;
|
return PAGE_OUTPUT_CALIBRATION;
|
||||||
@ -149,7 +165,7 @@ int SetupWizard::nextId() const
|
|||||||
case VEHICLE_FIXEDWING:
|
case VEHICLE_FIXEDWING:
|
||||||
return PAGE_AIRFRAMESTAB_FIXEDWING;
|
return PAGE_AIRFRAMESTAB_FIXEDWING;
|
||||||
|
|
||||||
// TODO: Pages for Multi and heli
|
// TODO: PID selection pages for multi and heli
|
||||||
case VEHICLE_MULTI:
|
case VEHICLE_MULTI:
|
||||||
case VEHICLE_HELI:
|
case VEHICLE_HELI:
|
||||||
case VEHICLE_SURFACE:
|
case VEHICLE_SURFACE:
|
||||||
@ -158,6 +174,18 @@ int SetupWizard::nextId() const
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
case PAGE_GPS:
|
||||||
|
switch (getVehicleType()) {
|
||||||
|
case VEHICLE_FIXEDWING:
|
||||||
|
return PAGE_AIRSPEED;
|
||||||
|
default:
|
||||||
|
return PAGE_SUMMARY;
|
||||||
|
}
|
||||||
|
|
||||||
|
case PAGE_AIRSPEED:
|
||||||
|
return PAGE_SUMMARY;
|
||||||
|
|
||||||
case PAGE_AIRFRAMESTAB_FIXEDWING:
|
case PAGE_AIRFRAMESTAB_FIXEDWING:
|
||||||
return PAGE_SAVE;
|
return PAGE_SAVE;
|
||||||
|
|
||||||
@ -167,8 +195,12 @@ int SetupWizard::nextId() const
|
|||||||
case CONTROLLER_CC:
|
case CONTROLLER_CC:
|
||||||
case CONTROLLER_CC3D:
|
case CONTROLLER_CC3D:
|
||||||
case CONTROLLER_REVO:
|
case CONTROLLER_REVO:
|
||||||
return PAGE_BIAS_CALIBRATION;
|
switch (getVehicleType()) {
|
||||||
|
case VEHICLE_FIXEDWING:
|
||||||
|
return PAGE_OUTPUT_CALIBRATION;
|
||||||
|
default:
|
||||||
|
return PAGE_BIAS_CALIBRATION;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
return PAGE_NOTYETIMPLEMENTED;
|
return PAGE_NOTYETIMPLEMENTED;
|
||||||
}
|
}
|
||||||
@ -355,6 +387,8 @@ void SetupWizard::createPages()
|
|||||||
setPage(PAGE_VEHICLES, new VehiclePage(this));
|
setPage(PAGE_VEHICLES, new VehiclePage(this));
|
||||||
setPage(PAGE_MULTI, new MultiPage(this));
|
setPage(PAGE_MULTI, new MultiPage(this));
|
||||||
setPage(PAGE_FIXEDWING, new FixedWingPage(this));
|
setPage(PAGE_FIXEDWING, new FixedWingPage(this));
|
||||||
|
setPage(PAGE_AIRSPEED, new AirSpeedPage(this));
|
||||||
|
setPage(PAGE_GPS, new GpsPage(this));
|
||||||
setPage(PAGE_HELI, new HeliPage(this));
|
setPage(PAGE_HELI, new HeliPage(this));
|
||||||
setPage(PAGE_SURFACE, new SurfacePage(this));
|
setPage(PAGE_SURFACE, new SurfacePage(this));
|
||||||
setPage(PAGE_INPUT, new InputPage(this));
|
setPage(PAGE_INPUT, new InputPage(this));
|
||||||
|
@ -96,13 +96,23 @@ public:
|
|||||||
return m_servoType;
|
return m_servoType;
|
||||||
}
|
}
|
||||||
|
|
||||||
void setGPSSetting(SetupWizard::GPS_SETTING setting)
|
void setAirspeedType(SetupWizard::AIRSPEED_TYPE setting)
|
||||||
{
|
{
|
||||||
m_gpsSetting = setting;
|
m_airspeedType = setting;
|
||||||
}
|
}
|
||||||
SetupWizard::GPS_SETTING getGPSSetting() const
|
SetupWizard::AIRSPEED_TYPE getAirspeedType() const
|
||||||
{
|
{
|
||||||
return m_gpsSetting;
|
return m_airspeedType;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void setGpsType(SetupWizard::GPS_TYPE setting)
|
||||||
|
{
|
||||||
|
m_gpsType = setting;
|
||||||
|
}
|
||||||
|
SetupWizard::GPS_TYPE getGpsType() const
|
||||||
|
{
|
||||||
|
return m_gpsType;
|
||||||
}
|
}
|
||||||
|
|
||||||
void setRadioSetting(SetupWizard::RADIO_SETTING setting)
|
void setRadioSetting(SetupWizard::RADIO_SETTING setting)
|
||||||
@ -165,7 +175,7 @@ private slots:
|
|||||||
void pageChanged(int currId);
|
void pageChanged(int currId);
|
||||||
private:
|
private:
|
||||||
enum { PAGE_START, PAGE_CONTROLLER, PAGE_VEHICLES, PAGE_MULTI, PAGE_FIXEDWING,
|
enum { PAGE_START, PAGE_CONTROLLER, PAGE_VEHICLES, PAGE_MULTI, PAGE_FIXEDWING,
|
||||||
PAGE_HELI, PAGE_SURFACE, PAGE_INPUT, PAGE_ESC, PAGE_SERVO,
|
PAGE_AIRSPEED, PAGE_GPS, PAGE_HELI, PAGE_SURFACE, PAGE_INPUT, PAGE_ESC, PAGE_SERVO,
|
||||||
PAGE_BIAS_CALIBRATION, PAGE_REVO_CALIBRATION, PAGE_OUTPUT_CALIBRATION,
|
PAGE_BIAS_CALIBRATION, PAGE_REVO_CALIBRATION, PAGE_OUTPUT_CALIBRATION,
|
||||||
PAGE_SAVE, PAGE_SUMMARY, PAGE_NOTYETIMPLEMENTED, PAGE_AIRFRAMESTAB_FIXEDWING,
|
PAGE_SAVE, PAGE_SUMMARY, PAGE_NOTYETIMPLEMENTED, PAGE_AIRFRAMESTAB_FIXEDWING,
|
||||||
PAGE_REBOOT, PAGE_END, PAGE_UPDATE };
|
PAGE_REBOOT, PAGE_END, PAGE_UPDATE };
|
||||||
@ -179,8 +189,8 @@ private:
|
|||||||
INPUT_TYPE m_inputType;
|
INPUT_TYPE m_inputType;
|
||||||
ESC_TYPE m_escType;
|
ESC_TYPE m_escType;
|
||||||
SERVO_TYPE m_servoType;
|
SERVO_TYPE m_servoType;
|
||||||
|
AIRSPEED_TYPE m_airspeedType;
|
||||||
GPS_SETTING m_gpsSetting;
|
GPS_TYPE m_gpsType;
|
||||||
RADIO_SETTING m_radioSetting;
|
RADIO_SETTING m_radioSetting;
|
||||||
|
|
||||||
bool m_calibrationPerformed;
|
bool m_calibrationPerformed;
|
||||||
|
@ -19,6 +19,8 @@ HEADERS += setupwizardplugin.h \
|
|||||||
pages/notyetimplementedpage.h \
|
pages/notyetimplementedpage.h \
|
||||||
pages/multipage.h \
|
pages/multipage.h \
|
||||||
pages/fixedwingpage.h \
|
pages/fixedwingpage.h \
|
||||||
|
pages/airspeedpage.h \
|
||||||
|
pages/gpspage.h \
|
||||||
pages/helipage.h \
|
pages/helipage.h \
|
||||||
pages/surfacepage.h \
|
pages/surfacepage.h \
|
||||||
pages/abstractwizardpage.h \
|
pages/abstractwizardpage.h \
|
||||||
@ -49,6 +51,8 @@ SOURCES += setupwizardplugin.cpp \
|
|||||||
pages/notyetimplementedpage.cpp \
|
pages/notyetimplementedpage.cpp \
|
||||||
pages/multipage.cpp \
|
pages/multipage.cpp \
|
||||||
pages/fixedwingpage.cpp \
|
pages/fixedwingpage.cpp \
|
||||||
|
pages/airspeedpage.cpp \
|
||||||
|
pages/gpspage.cpp \
|
||||||
pages/helipage.cpp \
|
pages/helipage.cpp \
|
||||||
pages/surfacepage.cpp \
|
pages/surfacepage.cpp \
|
||||||
pages/abstractwizardpage.cpp \
|
pages/abstractwizardpage.cpp \
|
||||||
|
@ -64,8 +64,8 @@ public:
|
|||||||
enum ESC_TYPE { ESC_RAPID, ESC_STANDARD, ESC_UNKNOWN };
|
enum ESC_TYPE { ESC_RAPID, ESC_STANDARD, ESC_UNKNOWN };
|
||||||
enum SERVO_TYPE { SERVO_ANALOG, SERVO_DIGITAL, SERVO_UNKNOWN };
|
enum SERVO_TYPE { SERVO_ANALOG, SERVO_DIGITAL, SERVO_UNKNOWN };
|
||||||
enum INPUT_TYPE { INPUT_PWM, INPUT_PPM, INPUT_SBUS, INPUT_DSMX10, INPUT_DSMX11, INPUT_DSM2, INPUT_UNKNOWN };
|
enum INPUT_TYPE { INPUT_PWM, INPUT_PPM, INPUT_SBUS, INPUT_DSMX10, INPUT_DSMX11, INPUT_DSM2, INPUT_UNKNOWN };
|
||||||
|
enum AIRSPEED_TYPE { ESTIMATE, EAGLETREE, MS4525 };
|
||||||
enum GPS_SETTING { GPS_UBX, GPS_NMEA, GPS_DISABLED };
|
enum GPS_TYPE { GPS_PLAT, GPS_UBX, GPS_NMEA, GPS_DISABLED };
|
||||||
enum RADIO_SETTING { RADIO_TELEMETRY, RADIO_DISABLED };
|
enum RADIO_SETTING { RADIO_TELEMETRY, RADIO_DISABLED };
|
||||||
|
|
||||||
virtual VehicleConfigurationSource::CONTROLLER_TYPE getControllerType() const = 0;
|
virtual VehicleConfigurationSource::CONTROLLER_TYPE getControllerType() const = 0;
|
||||||
@ -74,8 +74,8 @@ public:
|
|||||||
virtual VehicleConfigurationSource::INPUT_TYPE getInputType() const = 0;
|
virtual VehicleConfigurationSource::INPUT_TYPE getInputType() const = 0;
|
||||||
virtual VehicleConfigurationSource::ESC_TYPE getEscType() const = 0;
|
virtual VehicleConfigurationSource::ESC_TYPE getEscType() const = 0;
|
||||||
virtual VehicleConfigurationSource::SERVO_TYPE getServoType() const = 0;
|
virtual VehicleConfigurationSource::SERVO_TYPE getServoType() const = 0;
|
||||||
|
virtual VehicleConfigurationSource::AIRSPEED_TYPE getAirspeedType() const = 0;
|
||||||
virtual VehicleConfigurationSource::GPS_SETTING getGPSSetting() const = 0;
|
virtual VehicleConfigurationSource::GPS_TYPE getGpsType() const = 0;
|
||||||
virtual VehicleConfigurationSource::RADIO_SETTING getRadioSetting() const = 0;
|
virtual VehicleConfigurationSource::RADIO_SETTING getRadioSetting() const = 0;
|
||||||
|
|
||||||
virtual bool isCalibrationPerformed() const = 0;
|
virtual bool isCalibrationPerformed() const = 0;
|
||||||
|
@ -37,7 +37,7 @@
|
|||||||
<file>resources/multirotor-shapes.svg</file>
|
<file>resources/multirotor-shapes.svg</file>
|
||||||
<file>resources/fixedwing-shapes-wizard.svg</file>
|
<file>resources/fixedwing-shapes-wizard.svg</file>
|
||||||
<file>resources/fixedwing-shapes-wizard-no-numbers.svg</file>
|
<file>resources/fixedwing-shapes-wizard-no-numbers.svg</file>
|
||||||
<!-- these are different from the files in /config/images -->
|
<file>resources/airspeed-shapes.svg</file>
|
||||||
<file>resources/bttn-illustration-down.png</file>
|
<file>resources/bttn-illustration-down.png</file>
|
||||||
<file>resources/bttn-illustration-up.png</file>
|
<file>resources/bttn-illustration-up.png</file>
|
||||||
<file>resources/bttn-illustration-color-up.png</file>
|
<file>resources/bttn-illustration-color-up.png</file>
|
||||||
@ -48,5 +48,6 @@
|
|||||||
<file>resources/bttn-flash-up.png</file>
|
<file>resources/bttn-flash-up.png</file>
|
||||||
<file>resources/bttn-upgrade-down.png</file>
|
<file>resources/bttn-upgrade-down.png</file>
|
||||||
<file>resources/bttn-upgrade-up.png</file>
|
<file>resources/bttn-upgrade-up.png</file>
|
||||||
|
<file>resources/gps-shapes.svg</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
@ -164,7 +164,7 @@ void WelcomeMode::networkResponseReady(QNetworkReply *reply)
|
|||||||
reply->deleteLater();
|
reply->deleteLater();
|
||||||
|
|
||||||
if (version != VersionInfo::tagOrHash8()) {
|
if (version != VersionInfo::tagOrHash8()) {
|
||||||
m_newVersionText = tr("(Update Available: %1)").arg(version);
|
m_newVersionText = tr("Update Available: %1").arg(version);
|
||||||
emit newVersionTextChanged();
|
emit newVersionTextChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user