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() ...@@ -57,9 +57,29 @@ void AccelCalibrationConfig::calibrateButtonClicked()
{ {
m_uas->executeCommandAck(m_accelAckCount++,true); m_uas->executeCommandAck(m_accelAckCount++,true);
ui.calibrateAccelButton->setText("Calibrate\nAccelerometer"); 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) void AccelCalibrationConfig::uasTextMessageReceived(int uasid, int componentid, int severity, QString text)
{ {
//command received: " Severity 1 //command received: " Severity 1
...@@ -70,7 +90,7 @@ void AccelCalibrationConfig::uasTextMessageReceived(int uasid, int componentid, ...@@ -70,7 +90,7 @@ void AccelCalibrationConfig::uasTextMessageReceived(int uasid, int componentid,
if (m_accelAckCount == 0) if (m_accelAckCount == 0)
{ {
//Calibration Sucessful\r" //Calibration Sucessful\r"
ui.calibrateAccelButton->setText("Any\nKey"); ui.calibrateAccelButton->setText("Continue");
m_accelAckCount++; m_accelAckCount++;
} }
if (m_accelAckCount == 7) if (m_accelAckCount == 7)
...@@ -86,11 +106,21 @@ void AccelCalibrationConfig::uasTextMessageReceived(int uasid, int componentid, ...@@ -86,11 +106,21 @@ void AccelCalibrationConfig::uasTextMessageReceived(int uasid, int componentid,
{ {
m_accelAckCount = 0; m_accelAckCount = 0;
} }
else if (text.contains("Calibration") && text.contains("FAILED")) //Failure
{
m_accelAckCount = 0;
}
ui.outputLabel->setText(ui.outputLabel->text() + "\n" + text); ui.outputLabel->setText(ui.outputLabel->text() + "\n" + text);
} }
else 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 ...@@ -14,6 +14,8 @@ class AccelCalibrationConfig : public AP2ConfigWidget
public: public:
explicit AccelCalibrationConfig(QWidget *parent = 0); explicit AccelCalibrationConfig(QWidget *parent = 0);
~AccelCalibrationConfig(); ~AccelCalibrationConfig();
protected:
void hideEvent(QHideEvent *evt);
private slots: private slots:
void activeUASSet(UASInterface *uas); void activeUASSet(UASInterface *uas);
void calibrateButtonClicked(); 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