/** ****************************************************************************** * * @file hitlconfiguration.cpp * @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010. * @addtogroup GCSPlugins GCS Plugins * @{ * @addtogroup HITLPlugin HITL Plugin * @{ * @brief The Hardware In The Loop plugin *****************************************************************************/ /* * 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 "hitlconfiguration.h" HITLConfiguration::HITLConfiguration(QString classId, QSettings *qSettings, QObject *parent) : IUAVGadgetConfiguration(classId, parent) { // Default settings values settings.simulatorId = ""; settings.binPath = ""; settings.dataPath = ""; settings.manualControlEnabled = true; settings.startSim = false; settings.addNoise = false; settings.hostAddress = "127.0.0.1"; settings.remoteAddress = "127.0.0.1"; settings.outPort = 0; settings.inPort = 0; settings.latitude = ""; settings.longitude = ""; settings.attRawEnabled = false; settings.attRawRate = 20; settings.attStateEnabled = true; settings.attActHW = false; settings.attActSim = true; settings.attActCalc = false; settings.gpsPositionEnabled = false; settings.gpsPosRate = 100; settings.groundTruthEnabled = false; settings.groundTruthRate = 100; settings.inputCommand = false; settings.gcsReceiverEnabled = false; settings.manualControlEnabled = false; settings.minOutputPeriod = 100; settings.airspeedStateEnabled = false; settings.airspeedStateRate = 100; // if a saved configuration exists load it, and overwrite defaults if (qSettings != 0) { settings.simulatorId = qSettings->value("simulatorId").toString(); settings.binPath = qSettings->value("binPath").toString(); settings.dataPath = qSettings->value("dataPath").toString(); settings.hostAddress = qSettings->value("hostAddress").toString(); settings.remoteAddress = qSettings->value("remoteAddress").toString(); settings.outPort = qSettings->value("outPort").toInt(); settings.inPort = qSettings->value("inPort").toInt(); settings.latitude = qSettings->value("latitude").toString(); settings.longitude = qSettings->value("longitude").toString(); settings.startSim = qSettings->value("startSim").toBool(); settings.addNoise = qSettings->value("noiseCheckBox").toBool(); settings.gcsReceiverEnabled = qSettings->value("gcsReceiverEnabled").toBool(); settings.manualControlEnabled = qSettings->value("manualControlEnabled").toBool(); settings.attRawEnabled = qSettings->value("attRawEnabled").toBool(); settings.attRawRate = qSettings->value("attRawRate").toInt(); settings.attStateEnabled = qSettings->value("attStateEnabled").toBool(); settings.attActHW = qSettings->value("attActHW").toBool(); settings.attActSim = qSettings->value("attActSim").toBool(); settings.attActCalc = qSettings->value("attActCalc").toBool(); settings.baroSensorEnabled = qSettings->value("baroSensorEnabled").toBool(); settings.baroAltRate = qSettings->value("baroAltRate").toInt(); settings.gpsPositionEnabled = qSettings->value("gpsPositionEnabled").toBool(); settings.gpsPosRate = qSettings->value("gpsPosRate").toInt(); settings.groundTruthEnabled = qSettings->value("groundTruthEnabled").toBool(); settings.groundTruthRate = qSettings->value("groundTruthRate").toInt(); settings.inputCommand = qSettings->value("inputCommand").toBool(); settings.minOutputPeriod = qSettings->value("minOutputPeriod").toInt(); settings.airspeedStateEnabled = qSettings->value("airspeedStateEnabled").toBool(); settings.airspeedStateRate = qSettings->value("airspeedStateRate").toInt(); } } IUAVGadgetConfiguration *HITLConfiguration::clone() { HITLConfiguration *m = new HITLConfiguration(this->classId()); m->settings = settings; return m; } /** * Saves a configuration. * */ void HITLConfiguration::saveConfig(QSettings *qSettings) const { qSettings->setValue("simulatorId", settings.simulatorId); qSettings->setValue("binPath", settings.binPath); qSettings->setValue("dataPath", settings.dataPath); qSettings->setValue("hostAddress", settings.hostAddress); qSettings->setValue("remoteAddress", settings.remoteAddress); qSettings->setValue("outPort", settings.outPort); qSettings->setValue("inPort", settings.inPort); qSettings->setValue("latitude", settings.latitude); qSettings->setValue("longitude", settings.longitude); qSettings->setValue("addNoise", settings.addNoise); qSettings->setValue("startSim", settings.startSim); qSettings->setValue("gcsReceiverEnabled", settings.gcsReceiverEnabled); qSettings->setValue("manualControlEnabled", settings.manualControlEnabled); qSettings->setValue("attRawEnabled", settings.attRawEnabled); qSettings->setValue("attRawRate", settings.attRawRate); qSettings->setValue("attStateEnabled", settings.attStateEnabled); qSettings->setValue("attActHW", settings.attActHW); qSettings->setValue("attActSim", settings.attActSim); qSettings->setValue("attActCalc", settings.attActCalc); qSettings->setValue("baroSensorEnabled", settings.baroSensorEnabled); qSettings->setValue("baroAltRate", settings.baroAltRate); qSettings->setValue("gpsPositionEnabled", settings.gpsPositionEnabled); qSettings->setValue("gpsPosRate", settings.gpsPosRate); qSettings->setValue("groundTruthEnabled", settings.groundTruthEnabled); qSettings->setValue("groundTruthRate", settings.groundTruthRate); qSettings->setValue("inputCommand", settings.inputCommand); qSettings->setValue("minOutputPeriod", settings.minOutputPeriod); qSettings->setValue("airspeedStateEnabled", settings.airspeedStateEnabled); qSettings->setValue("airspeedStateRate", settings.airspeedStateRate); }