/*===================================================================== QGroundControl Open Source Ground Control Station (c) 2009, 2010 QGROUNDCONTROL PROJECT This file is part of the QGROUNDCONTROL project QGROUNDCONTROL 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. QGROUNDCONTROL 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 QGROUNDCONTROL. If not, see . ======================================================================*/ /** * @file * @brief Parameter Object used to intefrace with an OpalRT Simulink Parameter \see OpalLink \see OpalRT::ParameterList * @author Bryan Godbolt */ #ifndef PARAMETER_H #define PARAMETER_H #include #include #include "mavlink_types.h" #include "QGCParamID.h" #include "OpalApi.h" #include "OpalRT.h" #include namespace OpalRT { class Parameter { public: // Parameter(char *simulinkPath = "", // char *simulinkName = "", // uint8_t componentID = 0, // QGCParamID paramID = QGCParamID(), // unsigned short opalID = 0); Parameter(QString simulinkPath = QString(), QString simulinkName = QString(), uint8_t componentID = 0, QGCParamID paramID = QGCParamID(), unsigned short opalID = 0); Parameter(const Parameter& other); ~Parameter(); const QGCParamID& getParamID() const { return *paramID; } void setOpalID(unsigned short opalID) { this->opalID = opalID; } const QString& getSimulinkPath() const { return *simulinkPath; } const QString& getSimulinkName() const { return *simulinkName; } uint8_t getComponentID() const { return componentID; } float getValue(); void setValue(float value); bool operator==(const Parameter& other) const; operator QString() const; protected: QString *simulinkPath; QString *simulinkName; uint8_t componentID; QGCParamID *paramID; unsigned short opalID; }; } #endif // PARAMETER_H