Newer
Older
#include <QFileDialog>
#include <QDesktopServices>
#include <QSettings>
Lorenz Meier
committed
#include "PX4FirmwareUpgrader.h"
#include "ui_PX4FirmwareUpgrader.h"
#include <QGC.h>
#include <QDebug>
Lorenz Meier
committed
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",
QDesktopServices::storageLocation(QDesktopServices::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);
Lorenz Meier
committed
}
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;
Lorenz Meier
committed
}
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);
}
}