Commit 4dbb954d authored by Michael Carpenter's avatar Michael Carpenter

Fix for accelerometer config failure leading to inability to recalibrate. Also...

Fix for accelerometer config failure leading to inability to recalibrate. Also changing screen will void calibration and require recalibration.
parent 2ecd72d0
......@@ -57,9 +57,29 @@ void AccelCalibrationConfig::calibrateButtonClicked()
{
m_uas->executeCommandAck(m_accelAckCount++,true);
ui.calibrateAccelButton->setText("Calibrate\nAccelerometer");
if (m_accelAckCount > 8)
{
//We've clicked too many times! Reset.
for (int i=0;i<8;i++)
{
m_uas->executeCommandAck(i,true);
}
m_accelAckCount = 0;
}
}
}
void AccelCalibrationConfig::hideEvent(QHideEvent *evt)
{
if (!m_uas || !m_accelAckCount)
{
return;
}
for (int i=m_accelAckCount;i<8;i++)
{
m_uas->executeCommandAck(i,true); //Clear out extra commands.
}
}
void AccelCalibrationConfig::uasTextMessageReceived(int uasid, int componentid, int severity, QString text)
{
//command received: " Severity 1
......@@ -70,7 +90,7 @@ void AccelCalibrationConfig::uasTextMessageReceived(int uasid, int componentid,
if (m_accelAckCount == 0)
{
//Calibration Sucessful\r"
ui.calibrateAccelButton->setText("Any\nKey");
ui.calibrateAccelButton->setText("Continue");
m_accelAckCount++;
}
if (m_accelAckCount == 7)
......@@ -86,11 +106,21 @@ void AccelCalibrationConfig::uasTextMessageReceived(int uasid, int componentid,
{
m_accelAckCount = 0;
}
else if (text.contains("Calibration") && text.contains("FAILED")) //Failure
{
m_accelAckCount = 0;
}
ui.outputLabel->setText(ui.outputLabel->text() + "\n" + text);
}
else
{
ui.outputLabel->setText(text);
ui.outputLabel->setText(text.replace("press any key","click Continue below"));
if (!this->isVisible())
{
//Clear out!
m_uas->executeCommandAck(m_accelAckCount++,true);
ui.calibrateAccelButton->setText("Calibrate\nAccelerometer");
}
}
}
......
......@@ -14,6 +14,8 @@ class AccelCalibrationConfig : public AP2ConfigWidget
public:
explicit AccelCalibrationConfig(QWidget *parent = 0);
~AccelCalibrationConfig();
protected:
void hideEvent(QHideEvent *evt);
private slots:
void activeUASSet(UASInterface *uas);
void calibrateButtonClicked();
......
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