1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-01 09:24:10 +01:00

Fixes Problem under Linux, tested Ok under Ubuntu

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@473 ebee16cc-31ac-478f-84a7-5cbb03baadba
This commit is contained in:
zedamota 2010-04-10 20:29:34 +00:00 committed by zedamota
parent 402b4e8e24
commit eb6961c173
4 changed files with 55 additions and 39 deletions

View File

@ -8,7 +8,7 @@ HEADERS += uploadergadget.h \
uploadergadgetoptionspage.h \ uploadergadgetoptionspage.h \
uploadergadgetwidget.h \ uploadergadgetwidget.h \
uploaderplugin.h uploaderplugin.h
SOURCES += uploaderGadget.cpp \ SOURCES += uploadergadget.cpp \
uploadergadgetconfiguration.cpp \ uploadergadgetconfiguration.cpp \
uploadergadgetfactory.cpp \ uploadergadgetfactory.cpp \
uploadergadgetoptionspage.cpp \ uploadergadgetoptionspage.cpp \

View File

@ -41,7 +41,40 @@ UploaderGadgetOptionsPage::UploaderGadgetOptionsPage(UploaderGadgetConfiguration
IOptionsPage(parent), IOptionsPage(parent),
m_config(config) m_config(config)
{ {
#ifdef _TTY_POSIX_ #ifdef Q_OS_WIN
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";
#else
BaudRateTypeString BaudRateTypeString
<<"BAUD50" //POSIX ONLY <<"BAUD50" //POSIX ONLY
@ -75,38 +108,6 @@ UploaderGadgetOptionsPage::UploaderGadgetOptionsPage(UploaderGadgetConfiguration
StopBitsTypeString StopBitsTypeString
<<"STOP_1" <<"STOP_1"
<<"STOP_2"; <<"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 #endif
BaudRateTypeStringALL BaudRateTypeStringALL
@ -232,6 +233,7 @@ QWidget *UploaderGadgetOptionsPage::createPage(QWidget *parent)
label = new QLabel("TimeOut(ms):"); label = new QLabel("TimeOut(ms):");
m_timeoutSpin = new QSpinBox(); m_timeoutSpin = new QSpinBox();
m_timeoutSpin->setMaximum(100000); m_timeoutSpin->setMaximum(100000);
m_timeoutSpin->setMinimumSize(200,22);
timeoutLayout->addWidget(label); timeoutLayout->addWidget(label);
timeoutLayout->addWidget(m_timeoutSpin); timeoutLayout->addWidget(m_timeoutSpin);
@ -256,9 +258,16 @@ QWidget *UploaderGadgetOptionsPage::createPage(QWidget *parent)
QList<QextPortInfo> ports =QextSerialEnumerator ::getPorts(); QList<QextPortInfo> ports =QextSerialEnumerator ::getPorts();
qSort(ports.begin(), ports.end()); qSort(ports.begin(), ports.end());
#ifdef Q_OS_WIN
for (int i = 0; i < ports.size(); i++) {
m_portCB->addItem((QString)ports.at(i).portName.toLocal8Bit().constData());
}
#else
for (int i = 0; i < ports.size(); i++) { for (int i = 0; i < ports.size(); i++) {
m_portCB->addItem((QString)ports.at(i).physName.toLocal8Bit().constData()); m_portCB->addItem((QString)ports.at(i).physName.toLocal8Bit().constData());
} }
#endif
if(m_portCB->findText(m_config->Port())!=-1){ if(m_portCB->findText(m_config->Port())!=-1){
m_portCB->setCurrentIndex(m_portCB->findText(m_config->Port())); m_portCB->setCurrentIndex(m_portCB->findText(m_config->Port()));
} }

View File

@ -78,18 +78,17 @@ UploaderGadgetWidget::UploaderGadgetWidget(QWidget *parent) : QWidget(parent)
void UploaderGadgetWidget::updatePerc() void UploaderGadgetWidget::updatePerc()
{ {
if(Ymodem->isRunning()) if(!Ymodem->isRunning())
{ {
progressBar->setValue(Ymodem->PercentSend()); timer->stop();
} }
else progressBar->setValue(percent);
timer->stop();
} }
void UploaderGadgetWidget::send() void UploaderGadgetWidget::send()
{ {
Ymodem->SendFileT(openFileNameLE->text()); Ymodem->SendFileT(openFileNameLE->text());
timer->start(); timer->start(500);
} }
UploaderGadgetWidget::~UploaderGadgetWidget() UploaderGadgetWidget::~UploaderGadgetWidget()
@ -106,8 +105,14 @@ void UploaderGadgetWidget::setPort(QextSerialPort* port)
,this,SLOT(error(QString,int))); ,this,SLOT(error(QString,int)));
connect(Ymodem,SIGNAL(Information(QString,int)), connect(Ymodem,SIGNAL(Information(QString,int)),
this,SLOT(info(QString,int))); this,SLOT(info(QString,int)));
connect(Ymodem,SIGNAL(Percent(int)),
this,SLOT(updatePercSlot(int)));
} }
void UploaderGadgetWidget::updatePercSlot(int i)
{
percent=i;
}
void UploaderGadgetWidget::setOpenFileName() void UploaderGadgetWidget::setOpenFileName()
{ {

View File

@ -68,6 +68,7 @@ private:
QymodemSend * Ymodem; QymodemSend * Ymodem;
QProgressBar *progressBar; QProgressBar *progressBar;
QTimer *timer; QTimer *timer;
int percent;
private slots: private slots:
void setOpenFileName(); void setOpenFileName();
@ -75,6 +76,7 @@ private slots:
void error(QString errorString,int errorNumber); void error(QString errorString,int errorNumber);
void info(QString infoString,int infoNumber); void info(QString infoString,int infoNumber);
void updatePerc(); void updatePerc();
void updatePercSlot(int);
}; };
#endif // UPLOADERGADGETWIDGET_H #endif // UPLOADERGADGETWIDGET_H