1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-02-19 09:54:15 +01:00

Explicitely close the serial port upon DFU object deletion.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2351 ebee16cc-31ac-478f-84a7-5cbb03baadba
This commit is contained in:
edouard 2011-01-09 09:53:56 +00:00 committed by edouard
parent b851c11f53
commit 79c4ba60f6
4 changed files with 10 additions and 3 deletions

View File

@ -12,6 +12,11 @@ port::port(PortSettings settings,QString name):mstatus(port::closed)
else
mstatus=port::error;
}
port::~port() {
sport->close();
}
port::portstatus port::status()
{
return mstatus;

View File

@ -38,6 +38,7 @@ public:
uint32_t TxError;
uint16_t flags;
port(PortSettings settings,QString name);
~port();
portstatus status();
private:
portstatus mstatus;

View File

@ -98,8 +98,10 @@ DFUObject::DFUObject(bool _debug,bool _use_serial,QString portname): debug(_debu
DFUObject::~DFUObject()
{
if (use_serial) {
if (mready)
if (mready) {
delete serialhandle;
delete info;
}
} else {
hidHandle.close(0);
}

View File

@ -207,7 +207,6 @@ void UploaderGadgetWidget::goToBootloader(UAVObject* callerObj, bool success)
else
m_config->telemetryLink->setCurrentIndex(m_config->telemetryLink->findText(dli));
ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
disconnect(fwIAP, SIGNAL(transactionCompleted(UAVObject*,bool)),this,SLOT(goToBootloader(UAVObject*, bool)));
currentStep = IAP_STATE_BOOTLOADER;
@ -336,7 +335,7 @@ void UploaderGadgetWidget::systemBoot()
}
currentStep = IAP_STATE_READY;
log("You can now reconnect telemetry...");
delete dfu;
delete dfu; // Frees up the USB/Serial port too
dfu = NULL;
}