Commit 5eb400ee authored by Don Gagne's avatar Don Gagne

Merge pull request #2940 from DonLakeFlyer/FlashErrorMessage

Flash: Better error messing on boot loader port open fail
parents 2fd104fa 1d7f4c83
...@@ -210,7 +210,7 @@ void PX4FirmwareUpgradeThreadWorker::_3drRadioForceBootloader(const QGCSerialPor ...@@ -210,7 +210,7 @@ void PX4FirmwareUpgradeThreadWorker::_3drRadioForceBootloader(const QGCSerialPor
bool PX4FirmwareUpgradeThreadWorker::_findBootloader(const QGCSerialPortInfo& portInfo, bool radioMode, bool errorOnNotFound) bool PX4FirmwareUpgradeThreadWorker::_findBootloader(const QGCSerialPortInfo& portInfo, bool radioMode, bool errorOnNotFound)
{ {
qCDebug(FirmwareUpgradeLog) << "_findBootloader"; qCDebug(FirmwareUpgradeLog) << "_findBootloader" << portInfo.systemLocation();
uint32_t bootloaderVersion = 0; uint32_t bootloaderVersion = 0;
uint32_t boardID; uint32_t boardID;
...@@ -218,14 +218,15 @@ bool PX4FirmwareUpgradeThreadWorker::_findBootloader(const QGCSerialPortInfo& po ...@@ -218,14 +218,15 @@ bool PX4FirmwareUpgradeThreadWorker::_findBootloader(const QGCSerialPortInfo& po
_bootloaderPort = new QextSerialPort(QextSerialPort::Polling); _bootloaderPort = new QextSerialPort(QextSerialPort::Polling);
Q_CHECK_PTR(_bootloaderPort);
if (radioMode) { if (radioMode) {
_bootloaderPort->setBaudRate(BAUD115200); _bootloaderPort->setBaudRate(BAUD115200);
} }
// Wait a little while for the USB port to initialize. // Wait a little while for the USB port to initialize.
bool openFailed = true;
for (int i=0; i<10; i++) { for (int i=0; i<10; i++) {
if (_bootloader->open(_bootloaderPort, portInfo.systemLocation())) { if (_bootloader->open(_bootloaderPort, portInfo.systemLocation())) {
openFailed = false;
break; break;
} else { } else {
QGC::SLEEP::msleep(100); QGC::SLEEP::msleep(100);
...@@ -236,6 +237,16 @@ bool PX4FirmwareUpgradeThreadWorker::_findBootloader(const QGCSerialPortInfo& po ...@@ -236,6 +237,16 @@ bool PX4FirmwareUpgradeThreadWorker::_findBootloader(const QGCSerialPortInfo& po
QGC::SLEEP::msleep(2000); QGC::SLEEP::msleep(2000);
} }
if (openFailed) {
qCDebug(FirmwareUpgradeLog) << "Bootloader open port failed:" << _bootloader->errorString();
if (errorOnNotFound) {
emit error(_bootloader->errorString());
}
_bootloaderPort->deleteLater();
_bootloaderPort = NULL;
return false;
}
if (_bootloader->sync(_bootloaderPort)) { if (_bootloader->sync(_bootloaderPort)) {
bool success; bool success;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment