mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2024-11-29 07:24:13 +01:00
Test version of Ymodem Plugin
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@464 ebee16cc-31ac-478f-84a7-5cbb03baadba
This commit is contained in:
parent
e868af8efe
commit
ac88f788be
10
ground/src/plugins/uploader/uploader.pluginspec
Executable file
10
ground/src/plugins/uploader/uploader.pluginspec
Executable file
@ -0,0 +1,10 @@
|
||||
<plugin name="Uploader" version="0.0.1" compatVersion="1.0.0">
|
||||
<vendor>Jose Barros A.K.A. PT_Dreamer</vendor>
|
||||
<copyright>(C) 2010 OpenPilot Project</copyright>
|
||||
<license>The GNU Public License (GPL) Version 3</license>
|
||||
<description>A plugin to Upload Firmware to the OpenPilot HW via Ymodem protocol</description>
|
||||
<url>http://www.openpilot.org</url>
|
||||
<dependencyList>
|
||||
<dependency name="Core" version="1.0.0"/>
|
||||
</dependencyList>
|
||||
</plugin>
|
25
ground/src/plugins/uploader/uploader.pro
Executable file
25
ground/src/plugins/uploader/uploader.pro
Executable file
@ -0,0 +1,25 @@
|
||||
TEMPLATE = lib
|
||||
TARGET = Uploader
|
||||
include(../../openpilotgcsplugin.pri)
|
||||
include(../../plugins/coreplugin/coreplugin.pri)
|
||||
HEADERS += uploadergadget.h \
|
||||
uploadergadgetconfiguration.h \
|
||||
uploadergadgetfactory.h \
|
||||
uploadergadgetoptionspage.h \
|
||||
uploadergadgetwidget.h \
|
||||
uploaderplugin.h
|
||||
SOURCES += uploaderGadget.cpp \
|
||||
uploadergadgetconfiguration.cpp \
|
||||
uploadergadgetfactory.cpp \
|
||||
uploadergadgetoptionspage.cpp \
|
||||
uploadergadgetwidget.cpp \
|
||||
uploaderplugin.cpp
|
||||
OTHER_FILES += uploader.pluginspec
|
||||
|
||||
LIBS += -l$$qtLibraryTarget(QExtSerialPort)
|
||||
LIBS += -l$$qtLibraryTarget(QYmodem)
|
||||
|
||||
#CONFIG(debug, debug|release):LIBS += -lqextserialportd
|
||||
#else:LIBS += -lqextserialport
|
||||
#CONFIG(debug, debug|release):LIBS += -lqymodemd
|
||||
#else:LIBS += -lqymodem
|
60
ground/src/plugins/uploader/uploadergadget.cpp
Executable file
60
ground/src/plugins/uploader/uploadergadget.cpp
Executable file
@ -0,0 +1,60 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
*
|
||||
* @file UploaderGadget.cpp
|
||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
||||
* @brief
|
||||
* @see The GNU Public License (GPL) Version 3
|
||||
* @defgroup Uploader
|
||||
* @{
|
||||
*
|
||||
*****************************************************************************/
|
||||
/*
|
||||
* 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 "uploadergadget.h"
|
||||
#include "uploadergadgetwidget.h"
|
||||
#include "uploadergadgetconfiguration.h"
|
||||
//#include "./qextserialport/qextserialbase.h"
|
||||
//#include "./qextserialport/qextserialenumerator.h"
|
||||
//#include "./qextserialport/qextserialPort.h"
|
||||
#include <qextserialport/src/qextserialport.h>
|
||||
#include <qextserialport/src/qextserialenumerator.h>
|
||||
UploaderGadget::UploaderGadget(QString classId, UploaderGadgetWidget *widget, QWidget *parent) :
|
||||
IUAVGadget(classId, parent),
|
||||
m_widget(widget)
|
||||
{
|
||||
}
|
||||
|
||||
UploaderGadget::~UploaderGadget()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void UploaderGadget::loadConfiguration(IUAVGadgetConfiguration* config)
|
||||
{
|
||||
UploaderGadgetConfiguration *m = qobject_cast< UploaderGadgetConfiguration*>(config);
|
||||
PortSettings portsettings;
|
||||
portsettings.BaudRate=m->Speed();
|
||||
portsettings.DataBits=m->DataBits();
|
||||
portsettings.FlowControl=m->Flow();
|
||||
portsettings.Parity=m->Parity();
|
||||
portsettings.StopBits=m->StopBits();
|
||||
portsettings.Timeout_Millisec=m->TimeOut();
|
||||
QextSerialPort *port=new QextSerialPort(m->Port(),portsettings,QextSerialPort::Polling);
|
||||
|
||||
m_widget->setPort(port);
|
||||
}
|
||||
|
57
ground/src/plugins/uploader/uploadergadget.h
Executable file
57
ground/src/plugins/uploader/uploadergadget.h
Executable file
@ -0,0 +1,57 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
*
|
||||
* @file Uploadergadget.h
|
||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
||||
* @brief
|
||||
* @see The GNU Public License (GPL) Version 3
|
||||
* @defgroup Uploader
|
||||
* @{
|
||||
*
|
||||
*****************************************************************************/
|
||||
/*
|
||||
* 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 UPLOADERGADGET_H
|
||||
#define UPLOADERGADGET_H
|
||||
|
||||
#include <coreplugin/iuavgadget.h>
|
||||
#include "uploadergadgetwidget.h"
|
||||
|
||||
class IUAVGadget;
|
||||
//class QList<int>;
|
||||
class QWidget;
|
||||
class QString;
|
||||
class UploaderGadgetWidget;
|
||||
|
||||
using namespace Core;
|
||||
|
||||
class UploaderGadget : public Core::IUAVGadget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
UploaderGadget(QString classId, UploaderGadgetWidget *widget, QWidget *parent = 0);
|
||||
~UploaderGadget();
|
||||
|
||||
QWidget *widget() { return m_widget; }
|
||||
void loadConfiguration(IUAVGadgetConfiguration* config);
|
||||
|
||||
private:
|
||||
UploaderGadgetWidget *m_widget;
|
||||
};
|
||||
|
||||
#endif // UPLOADERGADGET_H
|
||||
|
106
ground/src/plugins/uploader/uploadergadgetconfiguration.cpp
Executable file
106
ground/src/plugins/uploader/uploadergadgetconfiguration.cpp
Executable file
@ -0,0 +1,106 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
*
|
||||
* @file UploaderGadgetconfiguration.cpp
|
||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
||||
* @brief
|
||||
* @see The GNU Public License (GPL) Version 3
|
||||
* @defgroup Uploader
|
||||
* @{
|
||||
*
|
||||
*****************************************************************************/
|
||||
/*
|
||||
* 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 "uploadergadgetconfiguration.h"
|
||||
#include <QtCore/QDataStream>
|
||||
#include <qextserialport/src/qextserialport.h>
|
||||
|
||||
UploaderGadgetConfiguration::UploaderGadgetConfiguration(QString classId, const QByteArray &state, QObject *parent) :
|
||||
IUAVGadgetConfiguration(classId, parent),
|
||||
m_defaultPort("Unknown"),
|
||||
m_defaultSpeed(BAUD19200),
|
||||
m_defaultDataBits(DATA_8),
|
||||
m_defaultFlow(FLOW_OFF),
|
||||
m_defaultParity(PAR_NONE),
|
||||
m_defaultStopBits(STOP_1),
|
||||
m_defaultTimeOut(5000)
|
||||
|
||||
{
|
||||
if (state.count() > 0) {
|
||||
QDataStream stream(state);
|
||||
|
||||
BaudRateType speed;
|
||||
DataBitsType databits;
|
||||
FlowType flow;
|
||||
ParityType parity;
|
||||
StopBitsType stopbits;
|
||||
int ispeed;
|
||||
int idatabits;
|
||||
int iflow;
|
||||
int iparity;
|
||||
int istopbits;
|
||||
QString port;
|
||||
stream >> ispeed;
|
||||
stream >> idatabits;
|
||||
stream >>iflow;
|
||||
stream >>iparity;
|
||||
stream >> istopbits;
|
||||
stream >> port;
|
||||
|
||||
databits=(DataBitsType) idatabits;
|
||||
flow=(FlowType)iflow;
|
||||
parity=(ParityType)iparity;
|
||||
stopbits=(StopBitsType)istopbits;
|
||||
speed=(BaudRateType)ispeed;
|
||||
m_defaultPort=port;
|
||||
m_defaultSpeed=speed;
|
||||
m_defaultDataBits=databits;
|
||||
m_defaultFlow=flow;
|
||||
m_defaultParity=parity;
|
||||
m_defaultStopBits=stopbits;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
IUAVGadgetConfiguration *UploaderGadgetConfiguration::clone()
|
||||
{
|
||||
UploaderGadgetConfiguration *m = new UploaderGadgetConfiguration(this->classId());
|
||||
|
||||
m->m_defaultSpeed=m_defaultSpeed;
|
||||
m->m_defaultDataBits=m_defaultDataBits;
|
||||
m->m_defaultFlow=m_defaultFlow;
|
||||
m->m_defaultParity=m_defaultParity;
|
||||
m->m_defaultStopBits=m_defaultStopBits;
|
||||
m->m_defaultPort=m_defaultPort;
|
||||
return m;
|
||||
}
|
||||
|
||||
QByteArray UploaderGadgetConfiguration::saveState() const
|
||||
{
|
||||
QByteArray bytes;
|
||||
QDataStream stream(&bytes, QIODevice::WriteOnly);
|
||||
stream << (int)m_defaultSpeed;
|
||||
stream << (int)m_defaultDataBits;
|
||||
stream << (int)m_defaultFlow;
|
||||
stream << (int)m_defaultParity;
|
||||
stream << (int)m_defaultStopBits;
|
||||
stream << m_defaultPort;
|
||||
|
||||
return bytes;
|
||||
}
|
||||
|
73
ground/src/plugins/uploader/uploadergadgetconfiguration.h
Executable file
73
ground/src/plugins/uploader/uploadergadgetconfiguration.h
Executable file
@ -0,0 +1,73 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
*
|
||||
* @file UploaderGadgetconfiguration.h
|
||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
||||
* @brief
|
||||
* @see The GNU Public License (GPL) Version 3
|
||||
* @defgroup Uploader
|
||||
* @{
|
||||
*
|
||||
*****************************************************************************/
|
||||
/*
|
||||
* 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 UPLOADERGADGETCONFIGURATION_H
|
||||
#define UPLOADERGADGETCONFIGURATION_H
|
||||
|
||||
#include <coreplugin/iuavgadgetconfiguration.h>
|
||||
#include <qextserialport/src/qextserialport.h>
|
||||
|
||||
using namespace Core;
|
||||
|
||||
class UploaderGadgetConfiguration : public IUAVGadgetConfiguration
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit UploaderGadgetConfiguration(QString classId, const QByteArray &state = 0, QObject *parent = 0);
|
||||
void setSpeed(BaudRateType speed) {m_defaultSpeed=speed;}
|
||||
void setDataBits(DataBitsType databits) {m_defaultDataBits=databits;}
|
||||
void setFlow(FlowType flow) {m_defaultFlow=flow;}
|
||||
void setParity(ParityType parity) {m_defaultParity=parity;}
|
||||
void setStopBits(StopBitsType stopbits) {m_defaultStopBits=stopbits;}
|
||||
void setPort(QString port){m_defaultPort=port;}
|
||||
void setTimeOut(long timeout){m_defaultTimeOut=timeout;}
|
||||
|
||||
BaudRateType Speed() {return m_defaultSpeed;}
|
||||
DataBitsType DataBits() {return m_defaultDataBits;}
|
||||
FlowType Flow() {return m_defaultFlow;}
|
||||
ParityType Parity() {return m_defaultParity;}
|
||||
StopBitsType StopBits() {return m_defaultStopBits;}
|
||||
QString Port(){return m_defaultPort;}
|
||||
long TimeOut(){return m_defaultTimeOut;}
|
||||
QByteArray saveState() const;
|
||||
IUAVGadgetConfiguration *clone();
|
||||
|
||||
signals:
|
||||
|
||||
public slots:
|
||||
|
||||
private:
|
||||
QString m_defaultPort;
|
||||
BaudRateType m_defaultSpeed;
|
||||
DataBitsType m_defaultDataBits;
|
||||
FlowType m_defaultFlow;
|
||||
ParityType m_defaultParity;
|
||||
StopBitsType m_defaultStopBits;
|
||||
long m_defaultTimeOut;
|
||||
};
|
||||
|
||||
#endif // UPLOADERGADGETCONFIGURATION_H
|
58
ground/src/plugins/uploader/uploadergadgetfactory.cpp
Executable file
58
ground/src/plugins/uploader/uploadergadgetfactory.cpp
Executable file
@ -0,0 +1,58 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
*
|
||||
* @file UploaderGadgetfactory.cpp
|
||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
||||
* @brief
|
||||
* @see The GNU Public License (GPL) Version 3
|
||||
* @defgroup Uploader
|
||||
* @{
|
||||
*
|
||||
*****************************************************************************/
|
||||
/*
|
||||
* 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 "uploadergadgetfactory.h"
|
||||
#include "uploadergadgetwidget.h"
|
||||
#include "uploadergadget.h"
|
||||
#include "uploadergadgetconfiguration.h"
|
||||
#include "uploadergadgetoptionspage.h"
|
||||
#include <coreplugin/iuavgadget.h>
|
||||
|
||||
UploaderGadgetFactory::UploaderGadgetFactory(QObject *parent) :
|
||||
IUAVGadgetFactory(QString("Uploader"), tr("Uploader Gadget"), parent)
|
||||
{
|
||||
}
|
||||
|
||||
UploaderGadgetFactory::~UploaderGadgetFactory()
|
||||
{
|
||||
}
|
||||
|
||||
Core::IUAVGadget* UploaderGadgetFactory::createGadget(QWidget *parent)
|
||||
{
|
||||
UploaderGadgetWidget* gadgetWidget = new UploaderGadgetWidget(parent);
|
||||
return new UploaderGadget(QString("Uploader"), gadgetWidget, parent);
|
||||
}
|
||||
|
||||
IUAVGadgetConfiguration *UploaderGadgetFactory::createConfiguration(const QByteArray &state)
|
||||
{
|
||||
return new UploaderGadgetConfiguration(QString("Uploader"), state);
|
||||
}
|
||||
|
||||
IOptionsPage *UploaderGadgetFactory::createOptionsPage(IUAVGadgetConfiguration *config)
|
||||
{
|
||||
return new UploaderGadgetOptionsPage(qobject_cast<UploaderGadgetConfiguration*>(config));
|
||||
}
|
||||
|
52
ground/src/plugins/uploader/uploadergadgetfactory.h
Executable file
52
ground/src/plugins/uploader/uploadergadgetfactory.h
Executable file
@ -0,0 +1,52 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
*
|
||||
* @file UploaderGadgetfactory.h
|
||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
||||
* @brief
|
||||
* @see The GNU Public License (GPL) Version 3
|
||||
* @defgroup Uploader
|
||||
* @{
|
||||
*
|
||||
*****************************************************************************/
|
||||
/*
|
||||
* 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 UPLOADERGADGETFACTORY_H
|
||||
#define UPLOADERGADGETFACTORY_H
|
||||
|
||||
#include <coreplugin/iuavgadgetfactory.h>
|
||||
|
||||
namespace Core {
|
||||
class IUAVGadget;
|
||||
class IUAVGadgetFactory;
|
||||
}
|
||||
|
||||
using namespace Core;
|
||||
|
||||
class UploaderGadgetFactory : public Core::IUAVGadgetFactory
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
UploaderGadgetFactory(QObject *parent = 0);
|
||||
~UploaderGadgetFactory();
|
||||
|
||||
Core::IUAVGadget *createGadget(QWidget *parent);
|
||||
IUAVGadgetConfiguration *createConfiguration(const QByteArray &state);
|
||||
IOptionsPage *createOptionsPage(IUAVGadgetConfiguration *config);
|
||||
};
|
||||
|
||||
#endif // UPLOADERGADGETFACTORY_H
|
321
ground/src/plugins/uploader/uploadergadgetoptionspage.cpp
Executable file
321
ground/src/plugins/uploader/uploadergadgetoptionspage.cpp
Executable file
@ -0,0 +1,321 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
*
|
||||
* @file UploaderGadgetoptionspage.cpp
|
||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
||||
* @brief
|
||||
* @see The GNU Public License (GPL) Version 3
|
||||
* @defgroup Uploader
|
||||
* @{
|
||||
*
|
||||
*****************************************************************************/
|
||||
/*
|
||||
* 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 "uploadergadgetoptionspage.h"
|
||||
#include "uploadergadgetconfiguration.h"
|
||||
#include <QtGui/QLabel>
|
||||
#include <QtGui/QSpinBox>
|
||||
#include <QtGui/QDoubleSpinBox>
|
||||
#include <QtGui/QHBoxLayout>
|
||||
#include <QtGui/QVBoxLayout>
|
||||
#include <QtGui/QTextEdit>
|
||||
#include <QtGui/QComboBox>
|
||||
#include <QtAlgorithms>
|
||||
#include <QStringList>
|
||||
#include <qextserialport/src/qextserialenumerator.h>
|
||||
UploaderGadgetOptionsPage::UploaderGadgetOptionsPage(UploaderGadgetConfiguration *config, QObject *parent) :
|
||||
IOptionsPage(parent),
|
||||
m_config(config)
|
||||
{
|
||||
#ifdef _TTY_POSIX_
|
||||
BaudRateTypeString
|
||||
|
||||
<<"BAUD50" //POSIX ONLY
|
||||
<<"BAUD75" //POSIX ONLY
|
||||
<<"BAUD110"
|
||||
<<"BAUD134" //POSIX ONLY
|
||||
<<"BAUD150" //POSIX ONLY
|
||||
<<"BAUD200" //POSIX ONLY
|
||||
<<"BAUD300"
|
||||
<<"BAUD600"
|
||||
<<"BAUD1200"
|
||||
<<"BAUD1800" //POSIX ONLY
|
||||
<<"BAUD2400"
|
||||
<<"BAUD4800"
|
||||
<<"BAUD9600"
|
||||
<<"BAUD19200"
|
||||
<<"BAUD38400"
|
||||
<<"BAUD57600"
|
||||
<<"BAUD76800" //POSIX ONLY
|
||||
<<"BAUD115200";
|
||||
DataBitsTypeString
|
||||
<<"DATA_5"
|
||||
<<"DATA_6"
|
||||
<<"DATA_7"
|
||||
<<"DATA_8";
|
||||
ParityTypeString
|
||||
<<"PAR_NONE"
|
||||
<<"PAR_ODD"
|
||||
<<"PAR_EVEN"
|
||||
<<"PAR_SPACE";
|
||||
StopBitsTypeString
|
||||
<<"STOP_1"
|
||||
<<"STOP_2";
|
||||
#else
|
||||
BaudRateTypeString
|
||||
<<"BAUD110"
|
||||
<<"BAUD300"
|
||||
<<"BAUD600"
|
||||
<<"BAUD1200"
|
||||
<<"BAUD2400"
|
||||
<<"BAUD4800"
|
||||
<<"BAUD9600"
|
||||
<<"BAUD14400"
|
||||
<<"BAUD19200"
|
||||
<<"BAUD38400"
|
||||
<<"BAUD56000"
|
||||
<<"BAUD57600"
|
||||
<<"BAUD115200"
|
||||
<<"BAUD128000"
|
||||
<<"BAUD256000";
|
||||
DataBitsTypeString
|
||||
<<"DATA_5"
|
||||
<<"DATA_6"
|
||||
<<"DATA_7"
|
||||
<<"DATA_8";
|
||||
ParityTypeString
|
||||
<<"PAR_NONE"
|
||||
<<"PAR_ODD"
|
||||
<<"PAR_EVEN"
|
||||
<<"PAR_MARK" //WINDOWS ONLY
|
||||
<<"PAR_SPACE";
|
||||
StopBitsTypeString
|
||||
<<"STOP_1"
|
||||
<<"STOP_1_5" //WINDOWS ONLY
|
||||
<<"STOP_2";
|
||||
#endif
|
||||
|
||||
BaudRateTypeStringALL
|
||||
<<"BAUD50" //POSIX ONLY
|
||||
<<"BAUD75" //POSIX ONLY
|
||||
<<"BAUD110"
|
||||
<<"BAUD134" //POSIX ONLY
|
||||
<<"BAUD150" //POSIX ONLY
|
||||
<<"BAUD200" //POSIX ONLY
|
||||
<<"BAUD300"
|
||||
<<"BAUD600"
|
||||
<<"BAUD1200"
|
||||
<<"BAUD1800" //POSIX ONLY
|
||||
<<"BAUD2400"
|
||||
<<"BAUD4800"
|
||||
<<"BAUD9600"
|
||||
<<"BAUD14400"
|
||||
<<"BAUD19200"
|
||||
<<"BAUD38400"
|
||||
<<"BAUD56000"
|
||||
<<"BAUD57600"
|
||||
<<"BAUD76800" //POSIX ONLY
|
||||
<<"BAUD115200"
|
||||
<<"BAUD128000"
|
||||
<<"BAUD256000";
|
||||
DataBitsTypeStringALL
|
||||
<<"DATA_5"
|
||||
<<"DATA_6"
|
||||
<<"DATA_7"
|
||||
<<"DATA_8";
|
||||
ParityTypeStringALL
|
||||
<<"PAR_NONE"
|
||||
<<"PAR_ODD"
|
||||
<<"PAR_EVEN"
|
||||
<<"PAR_MARK" //WINDOWS ONLY
|
||||
<<"PAR_SPACE";
|
||||
StopBitsTypeStringALL
|
||||
<<"STOP_1"
|
||||
<<"STOP_1_5" //WINDOWS ONLY
|
||||
<<"STOP_2";
|
||||
|
||||
FlowTypeString
|
||||
<<"FLOW_OFF"
|
||||
<<"FLOW_HARDWARE"
|
||||
<<"FLOW_XONXOFF";
|
||||
}
|
||||
|
||||
|
||||
QWidget *UploaderGadgetOptionsPage::createPage(QWidget *parent)
|
||||
{
|
||||
|
||||
|
||||
|
||||
QWidget *widget = new QWidget;
|
||||
//main layout
|
||||
QVBoxLayout *vl = new QVBoxLayout();
|
||||
widget->setLayout(vl);
|
||||
|
||||
//port layout
|
||||
QHBoxLayout *portLayout = new QHBoxLayout();
|
||||
QWidget *x = new QWidget;
|
||||
x->setLayout(portLayout);
|
||||
QWidget *label = new QLabel("Port:");
|
||||
m_portCB = new QComboBox(parent);
|
||||
portLayout->addWidget(label);
|
||||
portLayout->addWidget(m_portCB);
|
||||
|
||||
//port speed layout
|
||||
QHBoxLayout *speedLayout = new QHBoxLayout();
|
||||
QWidget *y = new QWidget;
|
||||
y->setLayout(speedLayout);
|
||||
label = new QLabel("Port Speed:");
|
||||
m_speedCB = new QComboBox();
|
||||
speedLayout->addWidget(label);
|
||||
speedLayout->addWidget(m_speedCB);
|
||||
|
||||
//flow control layout
|
||||
QHBoxLayout *flowLayout = new QHBoxLayout();
|
||||
QWidget *z = new QWidget;
|
||||
z->setLayout(flowLayout);
|
||||
label = new QLabel("Flow Control:");
|
||||
m_flowCB = new QComboBox();
|
||||
flowLayout->addWidget(label);
|
||||
flowLayout->addWidget(m_flowCB);
|
||||
|
||||
//databits layout
|
||||
QHBoxLayout *databitsLayout = new QHBoxLayout();
|
||||
QWidget *a = new QWidget;
|
||||
a->setLayout(databitsLayout);
|
||||
label = new QLabel("Data Bits:");
|
||||
m_databitsCB = new QComboBox();
|
||||
databitsLayout->addWidget(label);
|
||||
databitsLayout->addWidget(m_databitsCB);
|
||||
|
||||
//stopbits layout
|
||||
QHBoxLayout *stopbitsLayout = new QHBoxLayout();
|
||||
QWidget *b = new QWidget;
|
||||
b->setLayout(stopbitsLayout);
|
||||
label = new QLabel("Stop Bits:");
|
||||
m_stopbitsCB = new QComboBox();
|
||||
stopbitsLayout->addWidget(label);
|
||||
stopbitsLayout->addWidget(m_stopbitsCB);
|
||||
|
||||
//parity layout
|
||||
QHBoxLayout *parityLayout = new QHBoxLayout();
|
||||
QWidget *c = new QWidget;
|
||||
c->setLayout(parityLayout);
|
||||
label = new QLabel("Parity:");
|
||||
m_parityCB = new QComboBox();
|
||||
parityLayout->addWidget(label);
|
||||
parityLayout->addWidget(m_parityCB);
|
||||
|
||||
//timeout layout
|
||||
QHBoxLayout *timeoutLayout = new QHBoxLayout();
|
||||
QWidget *d = new QWidget;
|
||||
d->setLayout(timeoutLayout);
|
||||
label = new QLabel("TimeOut(ms):");
|
||||
m_timeoutSpin = new QSpinBox();
|
||||
m_timeoutSpin->setMaximum(100000);
|
||||
timeoutLayout->addWidget(label);
|
||||
timeoutLayout->addWidget(m_timeoutSpin);
|
||||
|
||||
|
||||
QSpacerItem *spacer = new QSpacerItem(100, 100, QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||
|
||||
vl->addWidget(x);
|
||||
vl->addWidget(y);
|
||||
vl->addWidget(z);
|
||||
vl->addWidget(a);
|
||||
vl->addWidget(b);
|
||||
vl->addWidget(c);
|
||||
vl->addWidget(d);
|
||||
vl->addSpacerItem(spacer);
|
||||
|
||||
m_portCB->clear();
|
||||
m_speedCB->clear();
|
||||
m_databitsCB->clear();
|
||||
m_flowCB->clear();
|
||||
m_parityCB->clear();
|
||||
m_stopbitsCB->clear();
|
||||
|
||||
QList<QextPortInfo> ports =QextSerialEnumerator ::getPorts();
|
||||
qSort(ports.begin(), ports.end());
|
||||
for (int i = 0; i < ports.size(); i++) {
|
||||
m_portCB->addItem((QString)ports.at(i).portName.toLocal8Bit().constData());
|
||||
}
|
||||
if(m_portCB->findText(m_config->Port())!=-1){
|
||||
m_portCB->setCurrentIndex(m_portCB->findText(m_config->Port()));
|
||||
}
|
||||
|
||||
for (int i=0;i<BaudRateTypeString.size();i++){
|
||||
m_speedCB->addItem(BaudRateTypeString.at(i).toLocal8Bit().constData() );
|
||||
}
|
||||
if(m_speedCB->findText(BaudRateTypeStringALL.at((int)m_config->Speed()).toLocal8Bit().constData())!=-1){
|
||||
m_speedCB->setCurrentIndex(m_speedCB->findText(BaudRateTypeStringALL.at((int)m_config->Speed()).toLocal8Bit().constData()));
|
||||
}
|
||||
|
||||
for (int i=0;i<DataBitsTypeString.size();i++){
|
||||
m_databitsCB->addItem(DataBitsTypeString.at(i).toLocal8Bit().constData() );
|
||||
}
|
||||
if(m_databitsCB->findText(DataBitsTypeStringALL.at((int)m_config->DataBits()).toLocal8Bit().constData())!=-1){
|
||||
m_databitsCB->setCurrentIndex(m_databitsCB->findText(DataBitsTypeStringALL.at((int)m_config->DataBits()).toLocal8Bit().constData()));
|
||||
}
|
||||
|
||||
for (int i=0;i<ParityTypeString.size();i++){
|
||||
m_parityCB->addItem(ParityTypeString.at(i).toLocal8Bit().constData() );
|
||||
}
|
||||
if(m_parityCB->findText(ParityTypeStringALL.at((int)m_config->Parity()).toLocal8Bit().constData())!=-1){
|
||||
m_parityCB->setCurrentIndex(m_parityCB->findText(ParityTypeStringALL.at((int)m_config->Parity()).toLocal8Bit().constData()));
|
||||
}
|
||||
|
||||
for (int i=0;i<StopBitsTypeString.size();i++){
|
||||
m_stopbitsCB->addItem(StopBitsTypeString.at(i).toLocal8Bit().constData() );
|
||||
}
|
||||
if(m_stopbitsCB->findText(StopBitsTypeStringALL.at((int)m_config->StopBits()).toLocal8Bit().constData())!=-1){
|
||||
m_stopbitsCB->setCurrentIndex(m_stopbitsCB->findText(StopBitsTypeStringALL.at((int)m_config->StopBits()).toLocal8Bit().constData()));
|
||||
}
|
||||
|
||||
for (int i=0;i<FlowTypeString.size();i++){
|
||||
m_flowCB->addItem(FlowTypeString.at(i).toLocal8Bit().constData() );
|
||||
}
|
||||
if(m_flowCB->findText(FlowTypeString.at((int)m_config->Flow()).toLocal8Bit().constData())!=-1){
|
||||
m_flowCB->setCurrentIndex(m_flowCB->findText(FlowTypeString.at((int)m_config->Flow()).toLocal8Bit().constData()));
|
||||
}
|
||||
m_timeoutSpin->setValue(m_config->TimeOut());
|
||||
return widget;
|
||||
}
|
||||
/**
|
||||
* Called when the user presses apply or OK.
|
||||
*
|
||||
* Saves the current values
|
||||
*
|
||||
*/
|
||||
void UploaderGadgetOptionsPage::apply()
|
||||
{
|
||||
|
||||
m_config->setPort(m_portCB->currentText());
|
||||
m_config->setSpeed((BaudRateType)BaudRateTypeStringALL.indexOf(m_speedCB->currentText()));
|
||||
m_config->setDataBits((DataBitsType)DataBitsTypeStringALL.indexOf(m_databitsCB->currentText()));
|
||||
m_config->setStopBits((StopBitsType)StopBitsTypeStringALL.indexOf(m_stopbitsCB->currentText()));
|
||||
m_config->setParity((ParityType)ParityTypeStringALL.indexOf(m_parityCB->currentText()));
|
||||
m_config->setFlow((FlowType)FlowTypeString.indexOf(m_flowCB->currentText()));
|
||||
m_config->setTimeOut( m_timeoutSpin->value());
|
||||
|
||||
}
|
||||
|
||||
void UploaderGadgetOptionsPage::finish()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
77
ground/src/plugins/uploader/uploadergadgetoptionspage.h
Executable file
77
ground/src/plugins/uploader/uploadergadgetoptionspage.h
Executable file
@ -0,0 +1,77 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
*
|
||||
* @file UploaderGadgetoptionspage.h
|
||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
||||
* @brief
|
||||
* @see The GNU Public License (GPL) Version 3
|
||||
* @defgroup Uploader
|
||||
* @{
|
||||
*
|
||||
*****************************************************************************/
|
||||
/*
|
||||
* 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 UPLOADERGADGETOPTIONSPAGE_H
|
||||
#define UPLOADERGADGETOPTIONSPAGE_H
|
||||
|
||||
#include "coreplugin/dialogs/ioptionspage.h"
|
||||
#include "QString"
|
||||
#include <QStringList>
|
||||
namespace Core {
|
||||
class IUAVGadgetConfiguration;
|
||||
}
|
||||
class UploaderGadgetConfiguration;
|
||||
class QTextEdit;
|
||||
class QComboBox;
|
||||
class QSpinBox;
|
||||
|
||||
using namespace Core;
|
||||
|
||||
class UploaderGadgetOptionsPage : public IOptionsPage
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit UploaderGadgetOptionsPage(UploaderGadgetConfiguration *config, QObject *parent = 0);
|
||||
|
||||
QWidget *createPage(QWidget *parent);
|
||||
void apply();
|
||||
void finish();
|
||||
|
||||
signals:
|
||||
|
||||
public slots:
|
||||
private:
|
||||
UploaderGadgetConfiguration *m_config;
|
||||
QComboBox *m_portCB;
|
||||
QComboBox *m_speedCB;
|
||||
QComboBox *m_databitsCB;
|
||||
QComboBox *m_flowCB;
|
||||
QComboBox *m_parityCB;
|
||||
QComboBox *m_stopbitsCB;
|
||||
QSpinBox *m_timeoutSpin;
|
||||
QStringList BaudRateTypeString;
|
||||
QStringList BaudRateTypeStringALL;
|
||||
QStringList DataBitsTypeStringALL;
|
||||
QStringList ParityTypeStringALL;
|
||||
QStringList StopBitsTypeStringALL;
|
||||
QStringList DataBitsTypeString;
|
||||
QStringList ParityTypeString;
|
||||
QStringList StopBitsTypeString;
|
||||
QStringList FlowTypeString;
|
||||
};
|
||||
|
||||
#endif // UPLOADERGADGETOPTIONSPAGE_H
|
137
ground/src/plugins/uploader/uploadergadgetwidget.cpp
Executable file
137
ground/src/plugins/uploader/uploadergadgetwidget.cpp
Executable file
@ -0,0 +1,137 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
*
|
||||
* @file UploaderGadgetwidget.cpp
|
||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
||||
* @brief
|
||||
* @see The GNU Public License (GPL) Version 3
|
||||
* @defgroup Uploader
|
||||
* @{
|
||||
*
|
||||
*****************************************************************************/
|
||||
/*
|
||||
* 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 "uploadergadgetwidget.h"
|
||||
|
||||
UploaderGadgetWidget::UploaderGadgetWidget(QWidget *parent) : QWidget(parent)
|
||||
{
|
||||
setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
|
||||
QVBoxLayout *layout = new QVBoxLayout;
|
||||
|
||||
QHBoxLayout *FileLayout = new QHBoxLayout;
|
||||
QWidget *FileWidget = new QWidget;
|
||||
FileWidget->setLayout(FileLayout);
|
||||
openFileNameLE=new QLineEdit();
|
||||
QPushButton* loadfile = new QPushButton("Load File");
|
||||
loadfile->setMaximumWidth(80);
|
||||
FileLayout->addWidget(openFileNameLE);
|
||||
FileLayout->addWidget(loadfile);
|
||||
|
||||
|
||||
QHBoxLayout *SendLayout = new QHBoxLayout;
|
||||
QWidget *SendWidget = new QWidget;
|
||||
SendWidget->setLayout(SendLayout);
|
||||
progressBar=new QProgressBar();
|
||||
progressBar->setMaximum(100);
|
||||
QPushButton* sendBt = new QPushButton("Send");
|
||||
sendBt->setMaximumWidth(80);
|
||||
SendLayout->addWidget(progressBar);
|
||||
SendLayout->addWidget(sendBt);
|
||||
|
||||
QHBoxLayout *StatusLayout = new QHBoxLayout;
|
||||
QWidget *StatusWidget = new QWidget;
|
||||
StatusWidget->setLayout(StatusLayout);
|
||||
status=new QLabel();
|
||||
StatusLayout->addWidget(status);
|
||||
|
||||
layout->addWidget(FileWidget);
|
||||
layout->addWidget(SendWidget);
|
||||
layout->addWidget(StatusWidget);
|
||||
setLayout(layout);
|
||||
|
||||
timer = new QTimer(this);
|
||||
|
||||
connect(timer, SIGNAL(timeout()),
|
||||
this, SLOT(updatePerc()));
|
||||
connect(loadfile, SIGNAL(clicked(bool)),
|
||||
this,SLOT(setOpenFileName()));
|
||||
connect(sendBt, SIGNAL(clicked(bool)),
|
||||
this,SLOT(send()));
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
void UploaderGadgetWidget::updatePerc()
|
||||
{
|
||||
if(Ymodem->isRunning())
|
||||
{
|
||||
progressBar->setValue(Ymodem->PercentSend());
|
||||
}
|
||||
else
|
||||
timer->stop();
|
||||
}
|
||||
|
||||
void UploaderGadgetWidget::send()
|
||||
{
|
||||
Ymodem->SendFileT(openFileNameLE->text());
|
||||
timer->start();
|
||||
}
|
||||
|
||||
UploaderGadgetWidget::~UploaderGadgetWidget()
|
||||
{
|
||||
delete Port;
|
||||
delete Ymodem;
|
||||
}
|
||||
|
||||
void UploaderGadgetWidget::setPort(QextSerialPort* port)
|
||||
{
|
||||
Port=port;
|
||||
Ymodem=new QymodemSend(*Port);
|
||||
connect(Ymodem,SIGNAL(Error(QString,int))
|
||||
,this,SLOT(error(QString,int)));
|
||||
connect(Ymodem,SIGNAL(Information(QString,int)),
|
||||
this,SLOT(info(QString,int)));
|
||||
}
|
||||
|
||||
|
||||
void UploaderGadgetWidget::setOpenFileName()
|
||||
{
|
||||
QFileDialog::Options options;
|
||||
QString selectedFilter;
|
||||
QString fileName = QFileDialog::getOpenFileName(this,
|
||||
tr("QFileDialog::getOpenFileName()"),
|
||||
openFileNameLE->text(),
|
||||
tr("All Files (*);;Text Files (*.bin)"),
|
||||
&selectedFilter,
|
||||
options);
|
||||
if (!fileName.isEmpty()) openFileNameLE->setText(fileName);
|
||||
|
||||
}
|
||||
|
||||
void UploaderGadgetWidget::error(QString errorString, int errorNumber)
|
||||
{
|
||||
QMessageBox msgBox;
|
||||
msgBox.setIcon(QMessageBox::Critical);
|
||||
msgBox.setText(errorString);
|
||||
msgBox.exec();
|
||||
status->setText(errorString);
|
||||
}
|
||||
void UploaderGadgetWidget::info(QString infoString, int infoNumber)
|
||||
{
|
||||
status->setText(infoString);
|
||||
}
|
80
ground/src/plugins/uploader/uploadergadgetwidget.h
Executable file
80
ground/src/plugins/uploader/uploadergadgetwidget.h
Executable file
@ -0,0 +1,80 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
*
|
||||
* @file UploaderGadgetwidget.h
|
||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
||||
* @brief
|
||||
* @see The GNU Public License (GPL) Version 3
|
||||
* @defgroup Uploader
|
||||
* @{
|
||||
*
|
||||
*****************************************************************************/
|
||||
/*
|
||||
* 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 UPLOADERGADGETWIDGET_H
|
||||
#define UPLOADERGADGETWIDGET_H
|
||||
|
||||
//#include "qmapcontrol/qmapcontrol.h"
|
||||
#include <QtGui/QWidget>
|
||||
#include <qextserialport/src/qextserialport.h>
|
||||
#include <qymodem/src/qymodemsend.h>
|
||||
#include <QLabel>
|
||||
#include <QLineEdit>
|
||||
#include <QThread>
|
||||
# include <QProgressBar>
|
||||
#include <QStringList>
|
||||
#include <QtGui/QVBoxLayout>
|
||||
#include <QtGui/QHBoxLayout>
|
||||
#include <QtGui/QPushButton>
|
||||
#include <QFileDialog>
|
||||
#include <QMessageBox>
|
||||
#include <QTimer>
|
||||
//using namespace qmapcontrol;
|
||||
|
||||
|
||||
class UploaderGadgetWidget : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
UploaderGadgetWidget(QWidget *parent = 0);
|
||||
~UploaderGadgetWidget();
|
||||
|
||||
void setPort(QextSerialPort* port);
|
||||
|
||||
|
||||
protected:
|
||||
// void resizeEvent(QResizeEvent *event);
|
||||
|
||||
private:
|
||||
|
||||
QLineEdit* openFileNameLE;
|
||||
QextSerialPort *Port;
|
||||
QLabel* status;
|
||||
QymodemSend * Ymodem;
|
||||
QProgressBar *progressBar;
|
||||
QTimer *timer;
|
||||
|
||||
private slots:
|
||||
void setOpenFileName();
|
||||
void send();
|
||||
void error(QString errorString,int errorNumber);
|
||||
void info(QString infoString,int infoNumber);
|
||||
void updatePerc();
|
||||
};
|
||||
|
||||
#endif // UPLOADERGADGETWIDGET_H
|
64
ground/src/plugins/uploader/uploaderplugin.cpp
Executable file
64
ground/src/plugins/uploader/uploaderplugin.cpp
Executable file
@ -0,0 +1,64 @@
|
||||
|
||||
/**
|
||||
******************************************************************************
|
||||
*
|
||||
* @file UploaderPlugin.cpp
|
||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
||||
* @brief
|
||||
* @see The GNU Public License (GPL) Version 3
|
||||
* @defgroup Uploader
|
||||
* @{
|
||||
*
|
||||
*****************************************************************************/
|
||||
/*
|
||||
* 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 "uploaderplugin.h"
|
||||
#include "uploadergadgetfactory.h"
|
||||
#include <QtPlugin>
|
||||
#include <QStringList>
|
||||
#include <extensionsystem/pluginmanager.h>
|
||||
|
||||
UploaderPlugin::UploaderPlugin()
|
||||
{
|
||||
// Do nothing
|
||||
}
|
||||
|
||||
UploaderPlugin::~UploaderPlugin()
|
||||
{
|
||||
// Do nothing
|
||||
}
|
||||
|
||||
bool UploaderPlugin::initialize(const QStringList& args, QString *errMsg)
|
||||
{
|
||||
Q_UNUSED(args);
|
||||
Q_UNUSED(errMsg);
|
||||
mf = new UploaderGadgetFactory(this);
|
||||
addAutoReleasedObject(mf);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void UploaderPlugin::extensionsInitialized()
|
||||
{
|
||||
// Do nothing
|
||||
}
|
||||
|
||||
void UploaderPlugin::shutdown()
|
||||
{
|
||||
// Do nothing
|
||||
}
|
||||
Q_EXPORT_PLUGIN(UploaderPlugin)
|
||||
|
47
ground/src/plugins/uploader/uploaderplugin.h
Executable file
47
ground/src/plugins/uploader/uploaderplugin.h
Executable file
@ -0,0 +1,47 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
*
|
||||
* @file UploaderPlugin.h
|
||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
||||
* @brief
|
||||
* @see The GNU Public License (GPL) Version 3
|
||||
* @defgroup Uploader
|
||||
* @{
|
||||
*
|
||||
*****************************************************************************/
|
||||
/*
|
||||
* 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 UPLOADERPLUGIN_H
|
||||
#define UPLOADERPLUGIN_H
|
||||
|
||||
#include <extensionsystem/iplugin.h>
|
||||
|
||||
class UploaderGadgetFactory;
|
||||
|
||||
class UploaderPlugin : public ExtensionSystem::IPlugin
|
||||
{
|
||||
public:
|
||||
UploaderPlugin();
|
||||
~UploaderPlugin();
|
||||
|
||||
void extensionsInitialized();
|
||||
bool initialize(const QStringList & arguments, QString * errorString);
|
||||
void shutdown();
|
||||
private:
|
||||
UploaderGadgetFactory *mf;
|
||||
};
|
||||
#endif // UPLOADERPLUGIN_H
|
Loading…
Reference in New Issue
Block a user