18 changed files with 0 additions and 1121 deletions
@ -1,157 +0,0 @@
@@ -1,157 +0,0 @@
|
||||
//#include <QJsonDocument>
|
||||
#include <QFile> |
||||
|
||||
#include "PX4FirmwareUpgradeWorker.h" |
||||
|
||||
#include <SerialLink.h> |
||||
#include <QGC.h> |
||||
#include "uploader.h" |
||||
|
||||
#include <QDebug> |
||||
|
||||
#define PROTO_GET_SYNC 0x21 |
||||
#define PROTO_EOC 0x20 |
||||
#define PROTO_NOP 0x00 |
||||
#define PROTO_OK 0x10 |
||||
#define PROTO_FAILED 0x11 |
||||
#define PROTO_INSYNC 0x12 |
||||
|
||||
PX4FirmwareUpgradeWorker::PX4FirmwareUpgradeWorker(QObject *parent) : |
||||
QObject(parent), |
||||
link(NULL) |
||||
{ |
||||
} |
||||
|
||||
PX4FirmwareUpgradeWorker* PX4FirmwareUpgradeWorker::putWorkerInThread(QObject *parent) |
||||
{ |
||||
PX4FirmwareUpgradeWorker *worker = new PX4FirmwareUpgradeWorker; |
||||
QThread *workerThread = new QThread(parent); |
||||
|
||||
connect(workerThread, SIGNAL(started()), worker, SLOT(startContinousScan())); |
||||
connect(workerThread, SIGNAL(finished()), worker, SLOT(deleteLater())); |
||||
worker->moveToThread(workerThread); |
||||
|
||||
// Starts an event loop, and emits workerThread->started()
|
||||
workerThread->start(); |
||||
return worker; |
||||
} |
||||
|
||||
|
||||
void PX4FirmwareUpgradeWorker::startContinousScan() |
||||
{ |
||||
exitThread = false; |
||||
while (!exitThread) { |
||||
// if (detect()) {
|
||||
// break;
|
||||
// }
|
||||
QGC::SLEEP::msleep(20); |
||||
} |
||||
|
||||
if (exitThread) { |
||||
link->disconnect(); |
||||
delete link; |
||||
exit(0); |
||||
} |
||||
} |
||||
|
||||
void PX4FirmwareUpgradeWorker::detect() |
||||
{ |
||||
if (!link) |
||||
{ |
||||
link = new SerialLink("", 921600); |
||||
connect(link, SIGNAL(bytesReceived(LinkInterface*,QByteArray)), this, SLOT(receiveBytes(LinkInterface*,QByteArray))); |
||||
} |
||||
|
||||
// Get a list of ports
|
||||
QVector<QString>* ports = link->getCurrentPorts(); |
||||
|
||||
// Scan
|
||||
for (int i = 0; i < ports->size(); i++) |
||||
{ |
||||
// Ignore known wrong link names
|
||||
|
||||
if (ports->at(i).contains("Bluetooth")) { |
||||
//continue;
|
||||
} |
||||
|
||||
link->setPortName(ports->at(i)); |
||||
// Open port and talk to it
|
||||
link->connect(); |
||||
char buf[2] = { PROTO_GET_SYNC, PROTO_EOC }; |
||||
if (!link->isConnected()) { |
||||
continue; |
||||
} |
||||
// Send sync request
|
||||
insync = false; |
||||
link->writeBytes(buf, 2); |
||||
// Wait for response
|
||||
QGC::SLEEP::msleep(20); |
||||
|
||||
if (insync) |
||||
emit validPortFound(ports->at(i)); |
||||
break; |
||||
} |
||||
|
||||
//ui.portName->setCurrentIndex(ui.baudRate->findText(QString("%1").arg(this->link->getPortName())));
|
||||
|
||||
// Set port
|
||||
|
||||
// Load current link config
|
||||
|
||||
} |
||||
|
||||
void PX4FirmwareUpgradeWorker::receiveBytes(LinkInterface* link, QByteArray b) |
||||
{ |
||||
for (int position = 0; position < b.size(); position++) { |
||||
qDebug() << "BYTES"; |
||||
qDebug() << (char)(b[position]); |
||||
if (((const char)b[position]) == PROTO_INSYNC) |
||||
{ |
||||
qDebug() << "SYNC"; |
||||
insync = true; |
||||
} |
||||
|
||||
if (insync && ((const char)b[position]) == PROTO_OK) |
||||
{ |
||||
emit detectionStatusChanged("Found PX4 board"); |
||||
} |
||||
} |
||||
|
||||
printf("\n"); |
||||
} |
||||
|
||||
void PX4FirmwareUpgradeWorker::loadFirmware(const QString &filename) |
||||
{ |
||||
qDebug() << __FILE__ << __LINE__ << "LOADING FW" << filename; |
||||
|
||||
PX4_Uploader uploader; |
||||
const char* filenames[2]; |
||||
filenames[0] = filename.toStdString().c_str(); |
||||
filenames[1] = NULL; |
||||
uploader.upload(filenames, "/dev/tty.usbmodem1"); |
||||
|
||||
// QFile f(filename);
|
||||
// if (f.open(QIODevice::ReadOnly))
|
||||
// {
|
||||
// QByteArray buf = f.readAll();
|
||||
// f.close();
|
||||
// firmware = QJsonDocument::fromBinaryData(buf);
|
||||
// if (firmware.isNull()) {
|
||||
// emit upgradeStatusChanged(tr("Failed decoding file %1").arg(filename));
|
||||
// } else {
|
||||
// emit upgradeStatusChanged(tr("Ready to flash %1").arg(filename));
|
||||
// }
|
||||
// } else {
|
||||
// emit upgradeStatusChanged(tr("Failed opening file %1").arg(filename));
|
||||
// }
|
||||
} |
||||
|
||||
void PX4FirmwareUpgradeWorker::upgrade() |
||||
{ |
||||
emit upgradeStatusChanged(tr("Starting firmware upgrade..")); |
||||
} |
||||
|
||||
void PX4FirmwareUpgradeWorker::abort() |
||||
{ |
||||
exitThread = true; |
||||
} |
@ -1,73 +0,0 @@
@@ -1,73 +0,0 @@
|
||||
#ifndef PX4FIRMWAREUPGRADEWORKER_H |
||||
#define PX4FIRMWAREUPGRADEWORKER_H |
||||
|
||||
#include <QObject> |
||||
//#include <QJsonDocument>
|
||||
|
||||
#include <SerialLink.h> |
||||
|
||||
class PX4FirmwareUpgradeWorker : public QObject |
||||
{ |
||||
Q_OBJECT |
||||
public: |
||||
explicit PX4FirmwareUpgradeWorker(QObject *parent = 0); |
||||
static PX4FirmwareUpgradeWorker* putWorkerInThread(QObject *parent); |
||||
|
||||
signals: |
||||
void detectionStatusChanged(const QString& status); |
||||
void upgradeStatusChanged(const QString& status); |
||||
void upgradeProgressChanged(int percent); |
||||
void validPortFound(const QString& portName); |
||||
|
||||
public slots: |
||||
|
||||
/**
|
||||
* @brief Continously scan for bootloaders |
||||
* @return |
||||
*/ |
||||
void startContinousScan(); |
||||
|
||||
/**
|
||||
* @brief Detect connected PX4 bootloaders |
||||
* |
||||
* If a bootloader was found, the link will be opened to this |
||||
* bootloader and ready for flashing when returning from the call. |
||||
* |
||||
* @return true if found on one link, false else |
||||
*/ |
||||
void detect(); |
||||
|
||||
/**
|
||||
* @brief Upgrade the firmware using the currently connected link |
||||
* @param filename file name / path of the firmware file |
||||
*/ |
||||
void upgrade(); |
||||
|
||||
/**
|
||||
* @brief Load firmware from disk into memory |
||||
* @param filename |
||||
*/ |
||||
void loadFirmware(const QString &filename); |
||||
|
||||
/**
|
||||
* @brief Receive bytes from a link |
||||
* @param link |
||||
* @param b |
||||
*/ |
||||
void receiveBytes(LinkInterface* link, QByteArray b); |
||||
|
||||
/**
|
||||
* @brief Abort upgrade worker |
||||
*/ |
||||
void abort(); |
||||
|
||||
protected: |
||||
bool exitThread; |
||||
|
||||
private: |
||||
SerialLink *link; |
||||
bool insync; |
||||
//QJsonDocument firmware;
|
||||
}; |
||||
|
||||
#endif // PX4FIRMWAREUPGRADEWORKER_H
|
@ -1,65 +0,0 @@
@@ -1,65 +0,0 @@
|
||||
#include <QFileDialog> |
||||
#include <QStandardPaths> |
||||
#include <QSettings> |
||||
|
||||
#include "PX4FirmwareUpgrader.h" |
||||
#include "ui_PX4FirmwareUpgrader.h" |
||||
|
||||
#include <QGC.h> |
||||
#include <QDebug> |
||||
|
||||
|
||||
PX4FirmwareUpgrader::PX4FirmwareUpgrader(QWidget *parent) : |
||||
QWidget(parent), |
||||
ui(new Ui::PX4FirmwareUpgrader) |
||||
{ |
||||
ui->setupUi(this); |
||||
|
||||
connect(ui->selectFileButton, SIGNAL(clicked()), this, SLOT(selectFirmwareFile())); |
||||
connect(ui->flashButton, SIGNAL(clicked()), this, SIGNAL(upgrade())); |
||||
} |
||||
|
||||
PX4FirmwareUpgrader::~PX4FirmwareUpgrader() |
||||
{ |
||||
delete ui; |
||||
} |
||||
|
||||
void PX4FirmwareUpgrader::selectFirmwareFile() |
||||
{ |
||||
QSettings settings; |
||||
QString path = settings.value("PX4_FIRMWARE_PATH", |
||||
QStandardPaths::writableLocation(QStandardPaths::DesktopLocation)).toString(); |
||||
const QString widgetFileExtension(".px4"); |
||||
QString fileName = QFileDialog::getOpenFileName(this, tr("Specify File Name"), |
||||
path, |
||||
tr("PX4 Firmware (*%1);;").arg(widgetFileExtension)); |
||||
settings.setValue("PX4_FIRMWARE_PATH", fileName); |
||||
qDebug() << "EMITTING SIGNAL"; |
||||
emit firmwareFileNameSet(fileName); |
||||
} |
||||
|
||||
void PX4FirmwareUpgrader::setDetectionStatusText(const QString &text) |
||||
{ |
||||
ui->detectionStatusLabel->setText(text); |
||||
} |
||||
|
||||
void PX4FirmwareUpgrader::setFlashStatusText(const QString &text) |
||||
{ |
||||
ui->flashProgressLabel->setText(text); |
||||
qDebug() << __FILE__ << __LINE__ << "LABEL" << text; |
||||
} |
||||
|
||||
void PX4FirmwareUpgrader::setFlashProgress(int percent) |
||||
{ |
||||
ui->flashProgressBar->setValue(percent); |
||||
} |
||||
|
||||
void PX4FirmwareUpgrader::setPortName(const QString &portname) |
||||
{ |
||||
// Prepend newly found port to the list
|
||||
if (ui->serialPortComboBox->findText(portname) == -1) |
||||
{ |
||||
ui->serialPortComboBox->insertItem(0, portname); |
||||
ui->serialPortComboBox->setEditText(portname); |
||||
} |
||||
} |
@ -1,41 +0,0 @@
@@ -1,41 +0,0 @@
|
||||
#ifndef PX4FIRMWAREUPGRADER_H |
||||
#define PX4FIRMWAREUPGRADER_H |
||||
|
||||
#include <QWidget> |
||||
#include <QTimer> |
||||
|
||||
#include <SerialLink.h> |
||||
|
||||
namespace Ui { |
||||
class PX4FirmwareUpgrader; |
||||
} |
||||
|
||||
class PX4FirmwareUpgrader : public QWidget |
||||
{ |
||||
Q_OBJECT |
||||
|
||||
public: |
||||
PX4FirmwareUpgrader(QWidget *parent = 0); |
||||
~PX4FirmwareUpgrader(); |
||||
|
||||
public slots: |
||||
|
||||
void setDetectionStatusText(const QString &text); |
||||
|
||||
void setFlashStatusText(const QString &text); |
||||
|
||||
void setFlashProgress(int percent); |
||||
|
||||
void selectFirmwareFile(); |
||||
|
||||
void setPortName(const QString &portname); |
||||
|
||||
signals: |
||||
void firmwareFileNameSet(const QString &fileName); |
||||
void upgrade(); |
||||
|
||||
private: |
||||
Ui::PX4FirmwareUpgrader *ui; |
||||
}; |
||||
|
||||
#endif // PX4FIRMWAREUPGRADER_H
|
@ -1,96 +0,0 @@
@@ -1,96 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<ui version="4.0"> |
||||
<class>PX4FirmwareUpgrader</class> |
||||
<widget class="QWidget" name="PX4FirmwareUpgrader"> |
||||
<property name="geometry"> |
||||
<rect> |
||||
<x>0</x> |
||||
<y>0</y> |
||||
<width>428</width> |
||||
<height>331</height> |
||||
</rect> |
||||
</property> |
||||
<property name="windowTitle"> |
||||
<string>Form</string> |
||||
</property> |
||||
<layout class="QGridLayout" name="gridLayout"> |
||||
<item row="3" column="0" colspan="3"> |
||||
<widget class="QTextBrowser" name="descriptionTextBrowser"/> |
||||
</item> |
||||
<item row="4" column="0" colspan="3"> |
||||
<widget class="QProgressBar" name="flashProgressBar"> |
||||
<property name="value"> |
||||
<number>24</number> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="5" column="0" colspan="2"> |
||||
<widget class="QLabel" name="flashProgressLabel"> |
||||
<property name="text"> |
||||
<string>No update in progress.</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="2" column="0"> |
||||
<widget class="QComboBox" name="versionComboBox"/> |
||||
</item> |
||||
<item row="2" column="2"> |
||||
<widget class="QPushButton" name="selectFileButton"> |
||||
<property name="text"> |
||||
<string>Select File..</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="2" column="1"> |
||||
<widget class="QPushButton" name="versionButton"> |
||||
<property name="text"> |
||||
<string>Check Online</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="1" column="2"> |
||||
<widget class="QPushButton" name="serialPortButton"> |
||||
<property name="enabled"> |
||||
<bool>false</bool> |
||||
</property> |
||||
<property name="text"> |
||||
<string>Set Serial Port</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="5" column="2"> |
||||
<widget class="QPushButton" name="flashButton"> |
||||
<property name="text"> |
||||
<string>Flash Firmware</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="0" column="0" colspan="2"> |
||||
<widget class="QLabel" name="detectionStatusLabel"> |
||||
<property name="text"> |
||||
<string>No PX4 board detected..</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="1" column="1"> |
||||
<widget class="QCheckBox" name="detectionAutoCheckBox"> |
||||
<property name="text"> |
||||
<string>Auto Detect Port</string> |
||||
</property> |
||||
<property name="checked"> |
||||
<bool>true</bool> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="1" column="0"> |
||||
<widget class="QComboBox" name="serialPortComboBox"> |
||||
<property name="editable"> |
||||
<bool>true</bool> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
</layout> |
||||
</widget> |
||||
<resources/> |
||||
<connections/> |
||||
</ui> |
@ -1,56 +0,0 @@
@@ -1,56 +0,0 @@
|
||||
/*=====================================================================
|
||||
|
||||
QGroundControl Open Source Ground Control Station |
||||
|
||||
(c) 2009, 2010 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
|
||||
|
||||
This file is part of the QGROUNDCONTROL project |
||||
|
||||
QGROUNDCONTROL is free software: you can redistribute it and/or modify |
||||
it under the terms of the GNU General Public License as published by |
||||
the Free Software Foundation, either version 3 of the License, or |
||||
(at your option) any later version. |
||||
|
||||
QGROUNDCONTROL is distributed in the hope that it will be useful, |
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
GNU General Public License for more details. |
||||
|
||||
You should have received a copy of the GNU General Public License |
||||
along with QGROUNDCONTROL. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
======================================================================*/ |
||||
|
||||
/**
|
||||
* @file |
||||
* @brief Implementation of QGCFirmwareUpdate |
||||
* @author Lorenz Meier <mavteam@student.ethz.ch> |
||||
* |
||||
*/ |
||||
|
||||
#include "QGCFirmwareUpdate.h" |
||||
#include "ui_QGCFirmwareUpdate.h" |
||||
|
||||
QGCFirmwareUpdate::QGCFirmwareUpdate(QWidget *parent) : |
||||
QWidget(parent), |
||||
ui(new Ui::QGCFirmwareUpdate) |
||||
{ |
||||
ui->setupUi(this); |
||||
} |
||||
|
||||
QGCFirmwareUpdate::~QGCFirmwareUpdate() |
||||
{ |
||||
delete ui; |
||||
} |
||||
|
||||
void QGCFirmwareUpdate::changeEvent(QEvent *e) |
||||
{ |
||||
QWidget::changeEvent(e); |
||||
switch (e->type()) { |
||||
case QEvent::LanguageChange: |
||||
ui->retranslateUi(this); |
||||
break; |
||||
default: |
||||
break; |
||||
} |
||||
} |
@ -1,39 +0,0 @@
@@ -1,39 +0,0 @@
|
||||
#ifndef QGCFIRMWAREUPDATE_H |
||||
#define QGCFIRMWAREUPDATE_H |
||||
|
||||
#include <QWidget> |
||||
|
||||
namespace Ui |
||||
{ |
||||
class QGCFirmwareUpdate; |
||||
} |
||||
|
||||
class QGCFirmwareUpdate : public QWidget |
||||
{ |
||||
Q_OBJECT |
||||
public: |
||||
QGCFirmwareUpdate(QWidget *parent = 0); |
||||
~QGCFirmwareUpdate(); |
||||
|
||||
protected: |
||||
void changeEvent(QEvent *e); |
||||
void showEvent(QShowEvent* event) |
||||
{ |
||||
QWidget::showEvent(event); |
||||
emit visibilityChanged(true); |
||||
} |
||||
|
||||
void hideEvent(QHideEvent* event) |
||||
{ |
||||
QWidget::hideEvent(event); |
||||
emit visibilityChanged(false); |
||||
} |
||||
|
||||
private: |
||||
Ui::QGCFirmwareUpdate *ui; |
||||
|
||||
signals: |
||||
void visibilityChanged(bool visible); |
||||
}; |
||||
|
||||
#endif // QGCFIRMWAREUPDATE_H
|
@ -1,27 +0,0 @@
@@ -1,27 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<ui version="4.0"> |
||||
<class>QGCFirmwareUpdate</class> |
||||
<widget class="QWidget" name="QGCFirmwareUpdate"> |
||||
<property name="geometry"> |
||||
<rect> |
||||
<x>0</x> |
||||
<y>0</y> |
||||
<width>596</width> |
||||
<height>343</height> |
||||
</rect> |
||||
</property> |
||||
<property name="windowTitle"> |
||||
<string>Form</string> |
||||
</property> |
||||
<layout class="QGridLayout" name="gridLayout"> |
||||
<item row="0" column="0"> |
||||
<widget class="QComboBox" name="autopilotComboBox"/> |
||||
</item> |
||||
<item row="1" column="0"> |
||||
<widget class="QWidget" name="widget" native="true"/> |
||||
</item> |
||||
</layout> |
||||
</widget> |
||||
<resources/> |
||||
<connections/> |
||||
</ui> |
@ -1,56 +0,0 @@
@@ -1,56 +0,0 @@
|
||||
/*=====================================================================
|
||||
|
||||
QGroundControl Open Source Ground Control Station |
||||
|
||||
(c) 2009, 2010 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
|
||||
|
||||
This file is part of the QGROUNDCONTROL project |
||||
|
||||
QGROUNDCONTROL is free software: you can redistribute it and/or modify |
||||
it under the terms of the GNU General Public License as published by |
||||
the Free Software Foundation, either version 3 of the License, or |
||||
(at your option) any later version. |
||||
|
||||
QGROUNDCONTROL is distributed in the hope that it will be useful, |
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
GNU General Public License for more details. |
||||
|
||||
You should have received a copy of the GNU General Public License |
||||
along with QGROUNDCONTROL. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
======================================================================*/ |
||||
|
||||
/**
|
||||
* @file |
||||
* @brief Implementation of QGCPxImuFirmwareUpdate |
||||
* @author Lorenz Meier <mavteam@student.ethz.ch> |
||||
* |
||||
*/ |
||||
|
||||
#include "QGCPxImuFirmwareUpdate.h" |
||||
#include "ui_QGCPxImuFirmwareUpdate.h" |
||||
|
||||
QGCPxImuFirmwareUpdate::QGCPxImuFirmwareUpdate(QWidget *parent) : |
||||
QWidget(parent), |
||||
ui(new Ui::QGCPxImuFirmwareUpdate) |
||||
{ |
||||
ui->setupUi(this); |
||||
} |
||||
|
||||
QGCPxImuFirmwareUpdate::~QGCPxImuFirmwareUpdate() |
||||
{ |
||||
delete ui; |
||||
} |
||||
|
||||
void QGCPxImuFirmwareUpdate::changeEvent(QEvent *e) |
||||
{ |
||||
QWidget::changeEvent(e); |
||||
switch (e->type()) { |
||||
case QEvent::LanguageChange: |
||||
ui->retranslateUi(this); |
||||
break; |
||||
default: |
||||
break; |
||||
} |
||||
} |
@ -1,54 +0,0 @@
@@ -1,54 +0,0 @@
|
||||
/*=====================================================================
|
||||
|
||||
QGroundControl Open Source Ground Control Station |
||||
|
||||
(c) 2009, 2010 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
|
||||
|
||||
This file is part of the QGROUNDCONTROL project |
||||
|
||||
QGROUNDCONTROL is free software: you can redistribute it and/or modify |
||||
it under the terms of the GNU General Public License as published by |
||||
the Free Software Foundation, either version 3 of the License, or |
||||
(at your option) any later version. |
||||
|
||||
QGROUNDCONTROL is distributed in the hope that it will be useful, |
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
GNU General Public License for more details. |
||||
|
||||
You should have received a copy of the GNU General Public License |
||||
along with QGROUNDCONTROL. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
======================================================================*/ |
||||
|
||||
/**
|
||||
* @file |
||||
* @brief Declaration of class QGCPxImuFirmwareUpdate |
||||
* @author Lorenz Meier <mail@qgroundcontrol.org> |
||||
*/ |
||||
|
||||
#ifndef QGCPXIMUFIRMWAREUPDATE_H |
||||
#define QGCPXIMUFIRMWAREUPDATE_H |
||||
|
||||
#include <QWidget> |
||||
|
||||
namespace Ui |
||||
{ |
||||
class QGCPxImuFirmwareUpdate; |
||||
} |
||||
|
||||
class QGCPxImuFirmwareUpdate : public QWidget |
||||
{ |
||||
Q_OBJECT |
||||
public: |
||||
QGCPxImuFirmwareUpdate(QWidget *parent = 0); |
||||
~QGCPxImuFirmwareUpdate(); |
||||
|
||||
protected: |
||||
void changeEvent(QEvent *e); |
||||
|
||||
private: |
||||
Ui::QGCPxImuFirmwareUpdate *ui; |
||||
}; |
||||
|
||||
#endif // QGCPXIMUFIRMWAREUPDATE_H
|
@ -1,108 +0,0 @@
@@ -1,108 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<ui version="4.0"> |
||||
<class>QGCPxImuFirmwareUpdate</class> |
||||
<widget class="QWidget" name="QGCPxImuFirmwareUpdate"> |
||||
<property name="geometry"> |
||||
<rect> |
||||
<x>0</x> |
||||
<y>0</y> |
||||
<width>400</width> |
||||
<height>300</height> |
||||
</rect> |
||||
</property> |
||||
<property name="windowTitle"> |
||||
<string>Form</string> |
||||
</property> |
||||
<layout class="QGridLayout" name="gridLayout"> |
||||
<item row="0" column="0" colspan="5"> |
||||
<widget class="QGroupBox" name="groupBox"> |
||||
<property name="title"> |
||||
<string>Instructions</string> |
||||
</property> |
||||
<layout class="QHBoxLayout" name="horizontalLayout"> |
||||
<property name="margin"> |
||||
<number>2</number> |
||||
</property> |
||||
<item> |
||||
<widget class="QPlainTextEdit" name="plainTextEdit"> |
||||
<property name="plainText"> |
||||
<string><h1>pxIMU Firmware Update</h1> |
||||
|
||||
<li> |
||||
<item>Item 1</item> |
||||
</li> |
||||
</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
</layout> |
||||
</widget> |
||||
</item> |
||||
<item row="1" column="0" colspan="2"> |
||||
<widget class="QRadioButton" name="radioButton"> |
||||
<property name="text"> |
||||
<string>From File</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="1" column="2" colspan="2"> |
||||
<widget class="QLabel" name="label_3"> |
||||
<property name="text"> |
||||
<string>Choose file..</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="1" column="4"> |
||||
<widget class="QPushButton" name="pushButton_2"> |
||||
<property name="text"> |
||||
<string>Choose File</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="2" column="0" colspan="2"> |
||||
<widget class="QRadioButton" name="radioButton_2"> |
||||
<property name="text"> |
||||
<string>From Internet</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="2" column="2" colspan="2"> |
||||
<widget class="QLabel" name="label_4"> |
||||
<property name="text"> |
||||
<string>Firmware v.0.2.1</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="2" column="4"> |
||||
<widget class="QPushButton" name="pushButton_3"> |
||||
<property name="text"> |
||||
<string>Download</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="3" column="0"> |
||||
<widget class="QLabel" name="label"> |
||||
<property name="text"> |
||||
<string/> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="3" column="1" colspan="2"> |
||||
<widget class="QLabel" name="label_2"> |
||||
<property name="text"> |
||||
<string>Waiting for first user action</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="3" column="3" colspan="2"> |
||||
<widget class="QPushButton" name="pushButton"> |
||||
<property name="text"> |
||||
<string>Flash Firmware</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
</layout> |
||||
</widget> |
||||
<resources/> |
||||
<connections/> |
||||
</ui> |
@ -1,14 +0,0 @@
@@ -1,14 +0,0 @@
|
||||
#include "QGCFirmwareUpdateWidget.h" |
||||
#include "ui_QGCFirmwareUpdateWidget.h" |
||||
|
||||
QGCFirmwareUpdateWidget::QGCFirmwareUpdateWidget(QWidget *parent) : |
||||
QWidget(parent), |
||||
ui(new Ui::QGCFirmwareUpdateWidget) |
||||
{ |
||||
ui->setupUi(this); |
||||
} |
||||
|
||||
QGCFirmwareUpdateWidget::~QGCFirmwareUpdateWidget() |
||||
{ |
||||
delete ui; |
||||
} |
@ -1,22 +0,0 @@
@@ -1,22 +0,0 @@
|
||||
#ifndef QGCFIRMWAREUPDATEWIDGET_H |
||||
#define QGCFIRMWAREUPDATEWIDGET_H |
||||
|
||||
#include <QWidget> |
||||
|
||||
namespace Ui { |
||||
class QGCFirmwareUpdateWidget; |
||||
} |
||||
|
||||
class QGCFirmwareUpdateWidget : public QWidget |
||||
{ |
||||
Q_OBJECT |
||||
|
||||
public: |
||||
explicit QGCFirmwareUpdateWidget(QWidget *parent = 0); |
||||
~QGCFirmwareUpdateWidget(); |
||||
|
||||
private: |
||||
Ui::QGCFirmwareUpdateWidget *ui; |
||||
}; |
||||
|
||||
#endif // QGCFIRMWAREUPDATEWIDGET_H
|
@ -1,122 +0,0 @@
@@ -1,122 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<ui version="4.0"> |
||||
<class>QGCFirmwareUpdateWidget</class> |
||||
<widget class="QWidget" name="QGCFirmwareUpdateWidget"> |
||||
<property name="geometry"> |
||||
<rect> |
||||
<x>0</x> |
||||
<y>0</y> |
||||
<width>638</width> |
||||
<height>412</height> |
||||
</rect> |
||||
</property> |
||||
<property name="windowTitle"> |
||||
<string>Form</string> |
||||
</property> |
||||
<layout class="QGridLayout" name="gridLayout"> |
||||
<item row="0" column="0" colspan="2"> |
||||
<widget class="QLabel" name="label_2"> |
||||
<property name="text"> |
||||
<string>1) Select Autopilot</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="1" column="0" colspan="2"> |
||||
<widget class="QListWidget" name="autopilotListWidget"/> |
||||
</item> |
||||
<item row="1" column="2"> |
||||
<widget class="QTextEdit" name="textEdit"> |
||||
<property name="readOnly"> |
||||
<bool>true</bool> |
||||
</property> |
||||
<property name="html"> |
||||
<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:'Lucida Grande'; font-size:13pt; font-weight:400; font-style:normal;"> |
||||
<p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:large; font-weight:600;">Autopilot Selection</span></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;">Select one of the connected autopilots from the list on the left.</span></p></body></html></string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="1" column="3" rowspan="4" colspan="2"> |
||||
<widget class="QTextEdit" name="firmwareInfo"> |
||||
<property name="readOnly"> |
||||
<bool>true</bool> |
||||
</property> |
||||
<property name="html"> |
||||
<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:'Lucida Grande'; font-size:13pt; font-weight:400; font-style:normal;"> |
||||
<p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:large; font-weight:600;">AP Firmware v0.9.1</span></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 software update...</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;"></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;">FIXES:</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;"></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;">- Fix1</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;"></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;">FEATURES:</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;"></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;">- New feature 1</span></p></body></html></string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="2" column="0" colspan="2"> |
||||
<widget class="QLabel" name="label_3"> |
||||
<property name="text"> |
||||
<string>2) Select Software Version</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="3" column="0" colspan="2"> |
||||
<widget class="QListWidget" name="firmwareListWidget"/> |
||||
</item> |
||||
<item row="3" column="2" rowspan="2"> |
||||
<widget class="QTextEdit" name="textEdit_2"> |
||||
<property name="readOnly"> |
||||
<bool>true</bool> |
||||
</property> |
||||
<property name="html"> |
||||
<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:'Lucida Grande'; font-size:13pt; font-weight:400; font-style:normal;"> |
||||
<p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:large; font-weight:600;">Software Version Selection</span></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;">Select the software version from the online repository on the left or choose the select file button to load a file from the harddisk. Detail information is shown on the right.</span></p></body></html></string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="4" column="1"> |
||||
<widget class="QPushButton" name="selectFileButton"> |
||||
<property name="text"> |
||||
<string>Select File..</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="5" column="0" rowspan="2" colspan="5"> |
||||
<widget class="QProgressBar" name="progressBar"> |
||||
<property name="value"> |
||||
<number>24</number> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="6" column="4" rowspan="2"> |
||||
<widget class="QPushButton" name="flashFirmwareButton"> |
||||
<property name="text"> |
||||
<string>Flash Firmware</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="7" column="0"> |
||||
<widget class="QLabel" name="label"> |
||||
<property name="text"> |
||||
<string>Status</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
</layout> |
||||
</widget> |
||||
<resources/> |
||||
<connections/> |
||||
</ui> |
@ -1,14 +0,0 @@
@@ -1,14 +0,0 @@
|
||||
#include "QGCPX4FirmwareUpdate.h" |
||||
#include "ui_QGCPX4FirmwareUpdate.h" |
||||
|
||||
QGCPX4FirmwareUpdate::QGCPX4FirmwareUpdate(QWidget *parent) : |
||||
QWidget(parent), |
||||
ui(new Ui::QGCPX4FirmwareUpdate) |
||||
{ |
||||
ui->setupUi(this); |
||||
} |
||||
|
||||
QGCPX4FirmwareUpdate::~QGCPX4FirmwareUpdate() |
||||
{ |
||||
delete ui; |
||||
} |
@ -1,22 +0,0 @@
@@ -1,22 +0,0 @@
|
||||
#ifndef QGCPX4FIRMWAREUPDATE_H |
||||
#define QGCPX4FIRMWAREUPDATE_H |
||||
|
||||
#include <QWidget> |
||||
|
||||
namespace Ui { |
||||
class QGCPX4FirmwareUpdate; |
||||
} |
||||
|
||||
class QGCPX4FirmwareUpdate : public QWidget |
||||
{ |
||||
Q_OBJECT |
||||
|
||||
public: |
||||
explicit QGCPX4FirmwareUpdate(QWidget *parent = 0); |
||||
~QGCPX4FirmwareUpdate(); |
||||
|
||||
private: |
||||
Ui::QGCPX4FirmwareUpdate *ui; |
||||
}; |
||||
|
||||
#endif // QGCPX4FIRMWAREUPDATE_H
|
@ -1,143 +0,0 @@
@@ -1,143 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<ui version="4.0"> |
||||
<class>QGCPX4FirmwareUpdate</class> |
||||
<widget class="QWidget" name="QGCPX4FirmwareUpdate"> |
||||
<property name="geometry"> |
||||
<rect> |
||||
<x>0</x> |
||||
<y>0</y> |
||||
<width>400</width> |
||||
<height>300</height> |
||||
</rect> |
||||
</property> |
||||
<property name="windowTitle"> |
||||
<string>Form</string> |
||||
</property> |
||||
<layout class="QGridLayout" name="gridLayout"> |
||||
<item row="0" column="0" colspan="4"> |
||||
<widget class="QTabWidget" name="tabWidget"> |
||||
<property name="currentIndex"> |
||||
<number>2</number> |
||||
</property> |
||||
<widget class="QWidget" name="firmwareSelectTab"> |
||||
<attribute name="title"> |
||||
<string>Firmware</string> |
||||
</attribute> |
||||
<layout class="QGridLayout" name="gridLayout_2"> |
||||
<property name="leftMargin"> |
||||
<number>6</number> |
||||
</property> |
||||
<property name="rightMargin"> |
||||
<number>6</number> |
||||
</property> |
||||
<property name="bottomMargin"> |
||||
<number>6</number> |
||||
</property> |
||||
<item row="0" column="0" colspan="2"> |
||||
<widget class="QListWidget" name="fileList"/> |
||||
</item> |
||||
<item row="1" column="0"> |
||||
<widget class="QLineEdit" name="fileLineEdit"/> |
||||
</item> |
||||
<item row="1" column="1"> |
||||
<widget class="QPushButton" name="selectFileButton"> |
||||
<property name="text"> |
||||
<string>Select File</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
</layout> |
||||
</widget> |
||||
<widget class="QWidget" name="settingsBackupTab"> |
||||
<attribute name="title"> |
||||
<string>Settings</string> |
||||
</attribute> |
||||
<layout class="QGridLayout" name="gridLayout_3"> |
||||
<item row="0" column="0"> |
||||
<widget class="QLineEdit" name="lineEdit"/> |
||||
</item> |
||||
<item row="0" column="1"> |
||||
<widget class="QPushButton" name="settingsStoreButton"> |
||||
<property name="text"> |
||||
<string>Select File</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
</layout> |
||||
</widget> |
||||
<widget class="QWidget" name="flashTab"> |
||||
<attribute name="title"> |
||||
<string>Flash Firmware</string> |
||||
</attribute> |
||||
<layout class="QGridLayout" name="gridLayout_4"> |
||||
<item row="0" column="0"> |
||||
<widget class="QLabel" name="fileLabel"> |
||||
<property name="text"> |
||||
<string>Filename</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="1" column="0"> |
||||
<widget class="QProgressBar" name="progressBar"> |
||||
<property name="value"> |
||||
<number>24</number> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="2" column="0"> |
||||
<widget class="QLabel" name="statusLabel"> |
||||
<property name="text"> |
||||
<string>Status</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="3" column="0"> |
||||
<widget class="QPushButton" name="flashButton"> |
||||
<property name="text"> |
||||
<string>Flash Firmware</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
</layout> |
||||
</widget> |
||||
</widget> |
||||
</item> |
||||
<item row="1" column="0"> |
||||
<spacer name="horizontalSpacer"> |
||||
<property name="orientation"> |
||||
<enum>Qt::Horizontal</enum> |
||||
</property> |
||||
<property name="sizeHint" stdset="0"> |
||||
<size> |
||||
<width>40</width> |
||||
<height>20</height> |
||||
</size> |
||||
</property> |
||||
</spacer> |
||||
</item> |
||||
<item row="1" column="1"> |
||||
<widget class="QPushButton" name="pushButton"> |
||||
<property name="text"> |
||||
<string>Prev</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="1" column="2"> |
||||
<widget class="QPushButton" name="pushButton_2"> |
||||
<property name="text"> |
||||
<string>Next</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="1" column="3"> |
||||
<widget class="QPushButton" name="pushButton_3"> |
||||
<property name="text"> |
||||
<string>Flash</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
</layout> |
||||
</widget> |
||||
<resources/> |
||||
<connections/> |
||||
</ui> |
Loading…
Reference in new issue