mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-06 21:54:15 +01:00
OP-1150 UI for thermal calibration: Add state transitions for saving/restoring settings and board setup
This commit is contained in:
parent
1b13bae126
commit
026247fd5c
@ -0,0 +1,115 @@
|
|||||||
|
/**
|
||||||
|
******************************************************************************
|
||||||
|
*
|
||||||
|
* @file settinghandlingtransitions.h
|
||||||
|
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2014.
|
||||||
|
*
|
||||||
|
* @brief
|
||||||
|
* @see The GNU Public License (GPL) Version 3
|
||||||
|
* @defgroup
|
||||||
|
* @{
|
||||||
|
*
|
||||||
|
*****************************************************************************/
|
||||||
|
/*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef SETTINGSHANDLINGTRANSITIONS_H
|
||||||
|
#define SETTINGSHANDLINGTRANSITIONS_H
|
||||||
|
#include <QSignalTransition>
|
||||||
|
#include <QEventTransition>
|
||||||
|
|
||||||
|
#include "thermalcalibrationhelper.h"
|
||||||
|
|
||||||
|
class BoardStatusSaveTransition : public QSignalTransition
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
BoardStatusSaveTransition(ThermalCalibrationHelper *helper, QState *currentState, QState *targetState)
|
||||||
|
: QSignalTransition(helper, SIGNAL(statusSaveCompleted(bool))),
|
||||||
|
m_helper(helper)
|
||||||
|
{
|
||||||
|
QObject::connect(currentState, SIGNAL(entered()), this, SLOT(enterState()));
|
||||||
|
setTargetState(targetState);
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual bool eventTest(QEvent *e)
|
||||||
|
{
|
||||||
|
qDebug() << "BoardStatusSaveTransition::eventTest";
|
||||||
|
if (!QSignalTransition::eventTest(e))
|
||||||
|
return false;
|
||||||
|
QStateMachine::SignalEvent *se = static_cast<QStateMachine::SignalEvent*>(e);
|
||||||
|
|
||||||
|
// check wether status stave was successful and retry if not
|
||||||
|
qDebug() << "BoardStatusSavedTransition::eventTest - " << se->arguments().at(0).toBool();
|
||||||
|
if(se->arguments().at(0).toBool()){
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
m_helper->statusSave();
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void onTransition(QEvent *e)
|
||||||
|
{
|
||||||
|
QStateMachine::SignalEvent *se = static_cast<QStateMachine::SignalEvent*>(e);
|
||||||
|
qDebug() << "BoardStatusSaveTransition :" << se->arguments().at(0).toBool();
|
||||||
|
}
|
||||||
|
public slots:
|
||||||
|
void enterState(){
|
||||||
|
m_helper->statusSave();
|
||||||
|
}
|
||||||
|
private:
|
||||||
|
ThermalCalibrationHelper *m_helper;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
class BoardStatusRestoreTransition : public QSignalTransition
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
BoardStatusRestoreTransition(ThermalCalibrationHelper *helper, QState *currentState, QState *targetState)
|
||||||
|
: QSignalTransition(helper, SIGNAL(statusRestoreCompleted(bool))),
|
||||||
|
m_helper(helper)
|
||||||
|
{
|
||||||
|
QObject::connect(currentState, SIGNAL(entered()), this, SLOT(enterState()));
|
||||||
|
setTargetState(targetState);
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual bool eventTest(QEvent *e)
|
||||||
|
{
|
||||||
|
if (!QSignalTransition::eventTest(e))
|
||||||
|
return false;
|
||||||
|
QStateMachine::SignalEvent *se = static_cast<QStateMachine::SignalEvent*>(e);
|
||||||
|
|
||||||
|
// check wether status stave was successful and retry if not
|
||||||
|
if(se->arguments().at(0).toBool()){
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
qDebug() << "BoardStatusRestoreTransition::eventTest - statusRestore() ";
|
||||||
|
m_helper->statusRestore();
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
public slots:
|
||||||
|
void enterState(){
|
||||||
|
m_helper->statusRestore();
|
||||||
|
}
|
||||||
|
private:
|
||||||
|
ThermalCalibrationHelper *m_helper;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif // SETTINGSHANDLINGTRANSITIONS_H
|
@ -0,0 +1,198 @@
|
|||||||
|
/**
|
||||||
|
******************************************************************************
|
||||||
|
*
|
||||||
|
* @file thermalcalibrationhelper.c
|
||||||
|
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2013.
|
||||||
|
*
|
||||||
|
* @brief Utilities for thermal calibration
|
||||||
|
* @see The GNU Public License (GPL) Version 3
|
||||||
|
* @defgroup
|
||||||
|
* @{
|
||||||
|
*
|
||||||
|
*****************************************************************************/
|
||||||
|
/*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
#include "thermalcalibrationhelper.h"
|
||||||
|
|
||||||
|
ThermalCalibrationHelper::ThermalCalibrationHelper(QObject *parent) :
|
||||||
|
QObject(parent)
|
||||||
|
{
|
||||||
|
m_boardInitialSettings = thermalCalibrationBoardSettings();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Change board settings to prepare it for calibration
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
|
||||||
|
bool ThermalCalibrationHelper::setupBoardForCalibration(){
|
||||||
|
qDebug() << "setupBoardForCalibration";
|
||||||
|
|
||||||
|
UAVObjectManager *objManager = getObjectManager();
|
||||||
|
Q_ASSERT(objManager);
|
||||||
|
|
||||||
|
// accelSensor Meta
|
||||||
|
AccelSensor *accelSensor = AccelSensor::GetInstance(objManager);
|
||||||
|
Q_ASSERT(accelSensor);
|
||||||
|
setMetadataForCalibration(accelSensor);
|
||||||
|
|
||||||
|
// gyroSensor Meta
|
||||||
|
GyroSensor *gyroSensor = GyroSensor::GetInstance(objManager);
|
||||||
|
Q_ASSERT(gyroSensor);
|
||||||
|
setMetadataForCalibration(gyroSensor);
|
||||||
|
|
||||||
|
// baroSensor Meta
|
||||||
|
BaroSensor *baroSensor = BaroSensor::GetInstance(objManager);
|
||||||
|
Q_ASSERT(baroSensor);
|
||||||
|
setMetadataForCalibration(baroSensor);
|
||||||
|
|
||||||
|
// clean any correction before calibrating
|
||||||
|
RevoSettings *revoSettings = RevoSettings::GetInstance(objManager);
|
||||||
|
Q_ASSERT(revoSettings);
|
||||||
|
RevoSettings::DataFields revoSettingsData = revoSettings->getData();
|
||||||
|
for (int i = 0; i < RevoSettings::BAROTEMPCORRECTIONPOLYNOMIAL_NUMELEM; i++){
|
||||||
|
revoSettingsData.BaroTempCorrectionPolynomial[i] = 0.0f;
|
||||||
|
}
|
||||||
|
revoSettings->setData(revoSettingsData);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Save board status to be later restored using restoreBoardStatus
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
bool ThermalCalibrationHelper::saveBoardInitialSettings(){
|
||||||
|
// Store current board status:
|
||||||
|
qDebug() << "Save initial settings";
|
||||||
|
|
||||||
|
UAVObjectManager *objManager = getObjectManager();
|
||||||
|
Q_ASSERT(objManager);
|
||||||
|
// accelSensor Meta
|
||||||
|
AccelSensor *accelSensor = AccelSensor::GetInstance(objManager);
|
||||||
|
Q_ASSERT(accelSensor);
|
||||||
|
m_boardInitialSettings.accelSensorMeta = accelSensor->getMetadata();
|
||||||
|
// gyroSensor Meta
|
||||||
|
GyroSensor *gyroSensor = GyroSensor::GetInstance(objManager);
|
||||||
|
Q_ASSERT(gyroSensor);
|
||||||
|
m_boardInitialSettings.gyroSensorMeta = gyroSensor->getMetadata();
|
||||||
|
|
||||||
|
// baroSensor Meta
|
||||||
|
BaroSensor *baroSensor = BaroSensor::GetInstance(objManager);
|
||||||
|
Q_ASSERT(baroSensor);
|
||||||
|
m_boardInitialSettings.baroensorMeta = baroSensor->getMetadata();
|
||||||
|
|
||||||
|
// revoSettings data
|
||||||
|
RevoSettings *revoSettings = RevoSettings::GetInstance(objManager);
|
||||||
|
Q_ASSERT(revoSettings);
|
||||||
|
m_boardInitialSettings.revoSettings = revoSettings->getData();
|
||||||
|
|
||||||
|
// accelGyroSettings data
|
||||||
|
/*
|
||||||
|
* Note: for revolution it is not neede but in case of CC we would prevent having
|
||||||
|
* a new set of xxxSensor UAVOs beside actual xxxState so it may be needed to reset the following
|
||||||
|
AccelGyroSettings *accelGyroSettings = AccelGyroSettings::GetInstance(objManager);
|
||||||
|
Q_ASSERT(accelGyroSettings);
|
||||||
|
m_boardInitialSettings.accelGyroSettings = accelGyroSettings->getData();
|
||||||
|
*/
|
||||||
|
m_boardInitialSettings.statusSaved = true;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ThermalCalibrationHelper::setupBoard(){
|
||||||
|
if(setupBoardForCalibration()){
|
||||||
|
emit setupBoardCompleted(true);
|
||||||
|
} else {
|
||||||
|
emit setupBoardCompleted(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ThermalCalibrationHelper::statusRestore(){
|
||||||
|
if(isBoardInitialSettingsSaved() && restoreInitialSettings()){
|
||||||
|
clearBoardInitialSettingsSaved();
|
||||||
|
emit statusRestoreCompleted(true);
|
||||||
|
} else {
|
||||||
|
emit statusRestoreCompleted(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ThermalCalibrationHelper::statusSave(){
|
||||||
|
//prevent saving multiple times
|
||||||
|
if(!isBoardInitialSettingsSaved() && saveBoardInitialSettings()){
|
||||||
|
emit statusSaveCompleted(true);
|
||||||
|
} else {
|
||||||
|
emit statusSaveCompleted(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief restore board settings from status saved calling saveBoardStatus
|
||||||
|
* @return true if success
|
||||||
|
*/
|
||||||
|
bool ThermalCalibrationHelper::restoreInitialSettings(){
|
||||||
|
if(!m_boardInitialSettings.statusSaved) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// restore initial board status
|
||||||
|
UAVObjectManager *objManager = getObjectManager();
|
||||||
|
Q_ASSERT(objManager);
|
||||||
|
|
||||||
|
// accelSensor Meta
|
||||||
|
AccelSensor *accelSensor = AccelSensor::GetInstance(objManager);
|
||||||
|
Q_ASSERT(accelSensor);
|
||||||
|
accelSensor->setMetadata(m_boardInitialSettings.accelSensorMeta);
|
||||||
|
|
||||||
|
// gyroSensor Meta
|
||||||
|
GyroSensor *gyroSensor = GyroSensor::GetInstance(objManager);
|
||||||
|
Q_ASSERT(gyroSensor);
|
||||||
|
gyroSensor->setMetadata(m_boardInitialSettings.gyroSensorMeta);
|
||||||
|
|
||||||
|
// baroSensor Meta
|
||||||
|
BaroSensor *baroSensor = BaroSensor::GetInstance(objManager);
|
||||||
|
Q_ASSERT(baroSensor);
|
||||||
|
baroSensor->setMetadata(m_boardInitialSettings.baroensorMeta);
|
||||||
|
|
||||||
|
// revoSettings data
|
||||||
|
RevoSettings *revoSettings = RevoSettings::GetInstance(objManager);
|
||||||
|
Q_ASSERT(revoSettings);
|
||||||
|
revoSettings->setData(m_boardInitialSettings.revoSettings);
|
||||||
|
|
||||||
|
m_boardInitialSettings.statusSaved = false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ThermalCalibrationHelper::setMetadataForCalibration(UAVDataObject *uavo)
|
||||||
|
{
|
||||||
|
Q_ASSERT(uavo);
|
||||||
|
UAVObject::Metadata meta = uavo->getMetadata();
|
||||||
|
UAVObject::SetFlightTelemetryUpdateMode(meta, UAVObject::UPDATEMODE_PERIODIC);
|
||||||
|
meta.flightTelemetryUpdatePeriod = 100;
|
||||||
|
uavo->setMetadata(meta);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Util function to get a pointer to the object manager
|
||||||
|
* @return pointer to the UAVObjectManager
|
||||||
|
*/
|
||||||
|
UAVObjectManager *ThermalCalibrationHelper::getObjectManager(){
|
||||||
|
ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
|
||||||
|
UAVObjectManager *objMngr = pm->getObject<UAVObjectManager>();
|
||||||
|
|
||||||
|
Q_ASSERT(objMngr);
|
||||||
|
return objMngr;
|
||||||
|
}
|
@ -0,0 +1,102 @@
|
|||||||
|
/**
|
||||||
|
******************************************************************************
|
||||||
|
*
|
||||||
|
* @file thermalcalibrationhelper.h
|
||||||
|
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2014.
|
||||||
|
*
|
||||||
|
* @brief Thermal calibration helper functions
|
||||||
|
* @see The GNU Public License (GPL) Version 3
|
||||||
|
* @defgroup
|
||||||
|
* @{
|
||||||
|
*
|
||||||
|
*****************************************************************************/
|
||||||
|
/*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
#ifndef THERMALCALIBRATIONHELPER_H
|
||||||
|
#define THERMALCALIBRATIONHELPER_H
|
||||||
|
|
||||||
|
#include <QObject>
|
||||||
|
#include <QtCore>
|
||||||
|
|
||||||
|
#include "uavobjectmanager.h"
|
||||||
|
#include <uavobject.h>
|
||||||
|
#include <uavobjectmanager.h>
|
||||||
|
|
||||||
|
#include "extensionsystem/pluginmanager.h"
|
||||||
|
|
||||||
|
// UAVOs
|
||||||
|
#include <accelsensor.h>
|
||||||
|
#include <gyrosensor.h>
|
||||||
|
#include <barosensor.h>
|
||||||
|
#include "accelgyrosettings.h"
|
||||||
|
|
||||||
|
|
||||||
|
// Calibration data
|
||||||
|
#include <accelgyrosettings.h>
|
||||||
|
#include <revocalibration.h>
|
||||||
|
#include <revosettings.h>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
// this is not needed for revo, but should for CC/CC3D
|
||||||
|
// AccelGyroSettings::DataFields accelGyroSettings;
|
||||||
|
RevoSettings::DataFields revoSettings;
|
||||||
|
UAVObject::Metadata gyroSensorMeta;
|
||||||
|
UAVObject::Metadata accelSensorMeta;
|
||||||
|
UAVObject::Metadata baroensorMeta;
|
||||||
|
bool statusSaved = false;
|
||||||
|
} thermalCalibrationBoardSettings;
|
||||||
|
|
||||||
|
class ThermalCalibrationHelper : public QObject
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
explicit ThermalCalibrationHelper(QObject *parent = 0);
|
||||||
|
|
||||||
|
/* board settings save/restore */
|
||||||
|
bool saveBoardInitialSettings();
|
||||||
|
bool restoreInitialSettings();
|
||||||
|
bool isBoardInitialSettingsSaved(){
|
||||||
|
return m_boardInitialSettings.statusSaved;
|
||||||
|
}
|
||||||
|
private:
|
||||||
|
void setMetadataForCalibration(UAVDataObject *uavo);
|
||||||
|
void clearBoardInitialSettingsSaved(){
|
||||||
|
m_boardInitialSettings.statusSaved = false;
|
||||||
|
}
|
||||||
|
signals:
|
||||||
|
void statusRestoreCompleted(bool succesful);
|
||||||
|
void statusSaveCompleted(bool succesful);
|
||||||
|
public slots:
|
||||||
|
void statusSave();
|
||||||
|
void statusRestore();
|
||||||
|
|
||||||
|
/* board configuration setup for calibration */
|
||||||
|
public:
|
||||||
|
bool setupBoardForCalibration();
|
||||||
|
signals:
|
||||||
|
void setupBoardCompleted(bool succesful);
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
void setupBoard();
|
||||||
|
|
||||||
|
private:
|
||||||
|
thermalCalibrationBoardSettings m_boardInitialSettings;
|
||||||
|
UAVObjectManager *getObjectManager();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // THERMALCALIBRATIONHELPER_H
|
@ -0,0 +1,81 @@
|
|||||||
|
/**
|
||||||
|
******************************************************************************
|
||||||
|
*
|
||||||
|
* @file thermalcalibrationtransitions.h
|
||||||
|
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2014.
|
||||||
|
*
|
||||||
|
* @brief State transitions used to implement thermal calibration
|
||||||
|
* @see The GNU Public License (GPL) Version 3
|
||||||
|
* @defgroup
|
||||||
|
* @{
|
||||||
|
*
|
||||||
|
*****************************************************************************/
|
||||||
|
/*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef THERMALCALIBRATIONTRANSITIONS_H
|
||||||
|
#define THERMALCALIBRATIONTRANSITIONS_H
|
||||||
|
|
||||||
|
#include <QSignalTransition>
|
||||||
|
#include <QEventTransition>
|
||||||
|
|
||||||
|
#include "thermalcalibrationhelper.h"
|
||||||
|
|
||||||
|
class BoardSetupTransition : public QSignalTransition
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
BoardSetupTransition (ThermalCalibrationHelper *helper, QState *currentState, QState *targetState)
|
||||||
|
: QSignalTransition(helper, SIGNAL(setupBoardCompleted(bool))),
|
||||||
|
m_helper(helper)
|
||||||
|
{
|
||||||
|
QObject::connect(currentState, SIGNAL(entered()), this, SLOT(enterState()));
|
||||||
|
setTargetState(targetState);
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual bool eventTest(QEvent *e)
|
||||||
|
{
|
||||||
|
qDebug() << "BoardSetupTransition::eventTest";
|
||||||
|
if (!QSignalTransition::eventTest(e))
|
||||||
|
return false;
|
||||||
|
QStateMachine::SignalEvent *se = static_cast<QStateMachine::SignalEvent*>(e);
|
||||||
|
|
||||||
|
// check wether status stave was successful and retry if not
|
||||||
|
qDebug() << "BoardSetupTransition::eventTest - " << se->arguments().at(0).toBool();
|
||||||
|
if(se->arguments().at(0).toBool()){
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
m_helper->setupBoard();
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void onTransition(QEvent *e)
|
||||||
|
{
|
||||||
|
QStateMachine::SignalEvent *se = static_cast<QStateMachine::SignalEvent*>(e);
|
||||||
|
qDebug() << "BoardSetupTransition::onTransition" << se->arguments().at(0).toBool();
|
||||||
|
}
|
||||||
|
public slots:
|
||||||
|
void enterState(){
|
||||||
|
m_helper->setupBoard();
|
||||||
|
}
|
||||||
|
private:
|
||||||
|
ThermalCalibrationHelper *m_helper;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif // THERMALCALIBRATIONTRANSITIONS_H
|
@ -46,7 +46,10 @@ HEADERS += configplugin.h \
|
|||||||
calibration/calibrationutils.h \
|
calibration/calibrationutils.h \
|
||||||
calibration/wizardstate.h \
|
calibration/wizardstate.h \
|
||||||
calibration/wizardmodel.h \
|
calibration/wizardmodel.h \
|
||||||
|
calibration/thermal/thermalcalibrationtransitions.h \
|
||||||
calibration/thermal/thermalcalibration.h \
|
calibration/thermal/thermalcalibration.h \
|
||||||
|
calibration/thermal/thermalcalibrationhelper.h \
|
||||||
|
calibration/thermal/settinghandlingtransitions.h
|
||||||
|
|
||||||
SOURCES += configplugin.cpp \
|
SOURCES += configplugin.cpp \
|
||||||
configgadgetwidget.cpp \
|
configgadgetwidget.cpp \
|
||||||
@ -80,6 +83,7 @@ SOURCES += configplugin.cpp \
|
|||||||
calibration/wizardstate.cpp \
|
calibration/wizardstate.cpp \
|
||||||
calibration/wizardmodel.cpp \
|
calibration/wizardmodel.cpp \
|
||||||
calibration/thermal/thermalcalibration.cpp \
|
calibration/thermal/thermalcalibration.cpp \
|
||||||
|
calibration/thermal/thermalcalibrationhelper.cpp \
|
||||||
|
|
||||||
FORMS += airframe.ui \
|
FORMS += airframe.ui \
|
||||||
airframe_ccpm.ui \
|
airframe_ccpm.ui \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user