1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-03-15 07:29:15 +01:00

OP-374 Disable "Rescue" button during rescue procedure, to avoid people pressing it twice...

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3145 ebee16cc-31ac-478f-84a7-5cbb03baadba
This commit is contained in:
edouard 2011-04-10 08:46:41 +00:00 committed by edouard
parent 7f445c8a08
commit 92944dcfcb

View File

@ -118,7 +118,7 @@ void UploaderGadgetWidget::onAutopilotConnect(){
}
/**
Enables widget buttons if autopilot connected
Enables widget buttons if autopilot disconnected
*/
void UploaderGadgetWidget::onAutopilotDisconnect(){
m_config->haltButton->setEnabled(false);
@ -390,6 +390,9 @@ void UploaderGadgetWidget::systemRescue()
delete dfu;
dfu = NULL;
}
// Avoid dumb users pressing Rescue twice. It can happen.
m_config->rescueButton->setEnabled(false);
// Now we're good to go:
clearLog();
log("**********************************************************");
@ -423,6 +426,7 @@ void UploaderGadgetWidget::systemRescue()
delete dfu;
dfu = NULL;
cm->resumePolling();
m_config->rescueButton->setEnabled(true);
return;
}
if(!dfu->findDevices() || (dfu->numberOfDevices != 1))
@ -432,6 +436,7 @@ void UploaderGadgetWidget::systemRescue()
delete dfu;
dfu = NULL;
cm->resumePolling();
m_config->rescueButton->setEnabled(true);
return;
}
rescueStep = RESCUE_POWER1;
@ -454,10 +459,13 @@ void UploaderGadgetWidget::systemRescue()
repaint();
if(!dfu->findDevices())
{
// We will only end up here in case somehow all the boards
// disappeared, including the one we detected earlier.
log("Could not detect any board, aborting!");
delete dfu;
dfu = NULL;
cm->resumePolling();
m_config->rescueButton->setEnabled(true);
return;
}
log(QString("Found ") + QString::number(dfu->numberOfDevices) + QString(" device(s)."));
@ -466,6 +474,7 @@ void UploaderGadgetWidget::systemRescue()
delete dfu;
dfu = NULL;
cm->resumePolling();
m_config->rescueButton->setEnabled(true);
return;
}
for(int i=0;i<dfu->numberOfDevices;i++) {