mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-21 11:54:15 +01:00
remove autogenerated gcs/uavobject files
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2395 ebee16cc-31ac-478f-84a7-5cbb03baadba
This commit is contained in:
parent
df45cb7be8
commit
3c8ee7a9d0
@ -1,147 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file actuatorcommand.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: actuatorcommand.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "actuatorcommand.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString ActuatorCommand::NAME = QString("ActuatorCommand");
|
|
||||||
const QString ActuatorCommand::DESCRIPTION = QString("Contains the pulse duration sent to each of the channels. Set by @ref ActuatorModule");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
ActuatorCommand::ActuatorCommand(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList ChannelElemNames;
|
|
||||||
ChannelElemNames.append("0");
|
|
||||||
ChannelElemNames.append("1");
|
|
||||||
ChannelElemNames.append("2");
|
|
||||||
ChannelElemNames.append("3");
|
|
||||||
ChannelElemNames.append("4");
|
|
||||||
ChannelElemNames.append("5");
|
|
||||||
ChannelElemNames.append("6");
|
|
||||||
ChannelElemNames.append("7");
|
|
||||||
fields.append( new UAVObjectField(QString("Channel"), QString("us"), UAVObjectField::INT16, ChannelElemNames, QStringList()) );
|
|
||||||
QStringList UpdateTimeElemNames;
|
|
||||||
UpdateTimeElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("UpdateTime"), QString("ms x 10"), UAVObjectField::UINT8, UpdateTimeElemNames, QStringList()) );
|
|
||||||
QStringList MaxUpdateTimeElemNames;
|
|
||||||
MaxUpdateTimeElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("MaxUpdateTime"), QString("ms x 10"), UAVObjectField::UINT8, MaxUpdateTimeElemNames, QStringList()) );
|
|
||||||
QStringList NumFailedUpdatesElemNames;
|
|
||||||
NumFailedUpdatesElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("NumFailedUpdates"), QString(""), UAVObjectField::UINT8, NumFailedUpdatesElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata ActuatorCommand::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 0;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 0;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 1000;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
|
||||||
metadata.loggingUpdatePeriod = 0;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void ActuatorCommand::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
ActuatorCommand::DataFields ActuatorCommand::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void ActuatorCommand::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* ActuatorCommand::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
ActuatorCommand* obj = new ActuatorCommand();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
ActuatorCommand* ActuatorCommand::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<ActuatorCommand*>(objMngr->getObject(ActuatorCommand::OBJID, instID));
|
|
||||||
}
|
|
@ -1,146 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file actuatordesired.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: actuatordesired.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "actuatordesired.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString ActuatorDesired::NAME = QString("ActuatorDesired");
|
|
||||||
const QString ActuatorDesired::DESCRIPTION = QString("Desired raw, pitch and yaw actuator settings. Comes from either @ref StabilizationModule or @ref ManualControlModule depending on FlightMode.");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
ActuatorDesired::ActuatorDesired(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList RollElemNames;
|
|
||||||
RollElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Roll"), QString("%"), UAVObjectField::FLOAT32, RollElemNames, QStringList()) );
|
|
||||||
QStringList PitchElemNames;
|
|
||||||
PitchElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Pitch"), QString("%"), UAVObjectField::FLOAT32, PitchElemNames, QStringList()) );
|
|
||||||
QStringList YawElemNames;
|
|
||||||
YawElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Yaw"), QString("%"), UAVObjectField::FLOAT32, YawElemNames, QStringList()) );
|
|
||||||
QStringList ThrottleElemNames;
|
|
||||||
ThrottleElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Throttle"), QString("%"), UAVObjectField::FLOAT32, ThrottleElemNames, QStringList()) );
|
|
||||||
QStringList UpdateTimeElemNames;
|
|
||||||
UpdateTimeElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("UpdateTime"), QString("ms"), UAVObjectField::FLOAT32, UpdateTimeElemNames, QStringList()) );
|
|
||||||
QStringList NumLongUpdatesElemNames;
|
|
||||||
NumLongUpdatesElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("NumLongUpdates"), QString("ms"), UAVObjectField::FLOAT32, NumLongUpdatesElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata ActuatorDesired::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 0;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 0;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 1000;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
|
||||||
metadata.loggingUpdatePeriod = 0;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void ActuatorDesired::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
ActuatorDesired::DataFields ActuatorDesired::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void ActuatorDesired::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* ActuatorDesired::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
ActuatorDesired* obj = new ActuatorDesired();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
ActuatorDesired* ActuatorDesired::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<ActuatorDesired*>(objMngr->getObject(ActuatorDesired::OBJID, instID));
|
|
||||||
}
|
|
@ -1,424 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file actuatorsettings.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: actuatorsettings.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "actuatorsettings.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString ActuatorSettings::NAME = QString("ActuatorSettings");
|
|
||||||
const QString ActuatorSettings::DESCRIPTION = QString("Settings for the @ref ActuatorModule that controls the channel assignments for the mixer based on AircraftType");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
ActuatorSettings::ActuatorSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList FixedWingRoll1ElemNames;
|
|
||||||
FixedWingRoll1ElemNames.append("0");
|
|
||||||
QStringList FixedWingRoll1EnumOptions;
|
|
||||||
FixedWingRoll1EnumOptions.append("Channel1");
|
|
||||||
FixedWingRoll1EnumOptions.append("Channel2");
|
|
||||||
FixedWingRoll1EnumOptions.append("Channel3");
|
|
||||||
FixedWingRoll1EnumOptions.append("Channel4");
|
|
||||||
FixedWingRoll1EnumOptions.append("Channel5");
|
|
||||||
FixedWingRoll1EnumOptions.append("Channel6");
|
|
||||||
FixedWingRoll1EnumOptions.append("Channel7");
|
|
||||||
FixedWingRoll1EnumOptions.append("Channel8");
|
|
||||||
FixedWingRoll1EnumOptions.append("None");
|
|
||||||
fields.append( new UAVObjectField(QString("FixedWingRoll1"), QString("channel"), UAVObjectField::ENUM, FixedWingRoll1ElemNames, FixedWingRoll1EnumOptions) );
|
|
||||||
QStringList FixedWingRoll2ElemNames;
|
|
||||||
FixedWingRoll2ElemNames.append("0");
|
|
||||||
QStringList FixedWingRoll2EnumOptions;
|
|
||||||
FixedWingRoll2EnumOptions.append("Channel1");
|
|
||||||
FixedWingRoll2EnumOptions.append("Channel2");
|
|
||||||
FixedWingRoll2EnumOptions.append("Channel3");
|
|
||||||
FixedWingRoll2EnumOptions.append("Channel4");
|
|
||||||
FixedWingRoll2EnumOptions.append("Channel5");
|
|
||||||
FixedWingRoll2EnumOptions.append("Channel6");
|
|
||||||
FixedWingRoll2EnumOptions.append("Channel7");
|
|
||||||
FixedWingRoll2EnumOptions.append("Channel8");
|
|
||||||
FixedWingRoll2EnumOptions.append("None");
|
|
||||||
fields.append( new UAVObjectField(QString("FixedWingRoll2"), QString("channel"), UAVObjectField::ENUM, FixedWingRoll2ElemNames, FixedWingRoll2EnumOptions) );
|
|
||||||
QStringList FixedWingPitch1ElemNames;
|
|
||||||
FixedWingPitch1ElemNames.append("0");
|
|
||||||
QStringList FixedWingPitch1EnumOptions;
|
|
||||||
FixedWingPitch1EnumOptions.append("Channel1");
|
|
||||||
FixedWingPitch1EnumOptions.append("Channel2");
|
|
||||||
FixedWingPitch1EnumOptions.append("Channel3");
|
|
||||||
FixedWingPitch1EnumOptions.append("Channel4");
|
|
||||||
FixedWingPitch1EnumOptions.append("Channel5");
|
|
||||||
FixedWingPitch1EnumOptions.append("Channel6");
|
|
||||||
FixedWingPitch1EnumOptions.append("Channel7");
|
|
||||||
FixedWingPitch1EnumOptions.append("Channel8");
|
|
||||||
FixedWingPitch1EnumOptions.append("None");
|
|
||||||
fields.append( new UAVObjectField(QString("FixedWingPitch1"), QString("channel"), UAVObjectField::ENUM, FixedWingPitch1ElemNames, FixedWingPitch1EnumOptions) );
|
|
||||||
QStringList FixedWingPitch2ElemNames;
|
|
||||||
FixedWingPitch2ElemNames.append("0");
|
|
||||||
QStringList FixedWingPitch2EnumOptions;
|
|
||||||
FixedWingPitch2EnumOptions.append("Channel1");
|
|
||||||
FixedWingPitch2EnumOptions.append("Channel2");
|
|
||||||
FixedWingPitch2EnumOptions.append("Channel3");
|
|
||||||
FixedWingPitch2EnumOptions.append("Channel4");
|
|
||||||
FixedWingPitch2EnumOptions.append("Channel5");
|
|
||||||
FixedWingPitch2EnumOptions.append("Channel6");
|
|
||||||
FixedWingPitch2EnumOptions.append("Channel7");
|
|
||||||
FixedWingPitch2EnumOptions.append("Channel8");
|
|
||||||
FixedWingPitch2EnumOptions.append("None");
|
|
||||||
fields.append( new UAVObjectField(QString("FixedWingPitch2"), QString("channel"), UAVObjectField::ENUM, FixedWingPitch2ElemNames, FixedWingPitch2EnumOptions) );
|
|
||||||
QStringList FixedWingYawElemNames;
|
|
||||||
FixedWingYawElemNames.append("0");
|
|
||||||
QStringList FixedWingYawEnumOptions;
|
|
||||||
FixedWingYawEnumOptions.append("Channel1");
|
|
||||||
FixedWingYawEnumOptions.append("Channel2");
|
|
||||||
FixedWingYawEnumOptions.append("Channel3");
|
|
||||||
FixedWingYawEnumOptions.append("Channel4");
|
|
||||||
FixedWingYawEnumOptions.append("Channel5");
|
|
||||||
FixedWingYawEnumOptions.append("Channel6");
|
|
||||||
FixedWingYawEnumOptions.append("Channel7");
|
|
||||||
FixedWingYawEnumOptions.append("Channel8");
|
|
||||||
FixedWingYawEnumOptions.append("None");
|
|
||||||
fields.append( new UAVObjectField(QString("FixedWingYaw"), QString("channel"), UAVObjectField::ENUM, FixedWingYawElemNames, FixedWingYawEnumOptions) );
|
|
||||||
QStringList FixedWingThrottleElemNames;
|
|
||||||
FixedWingThrottleElemNames.append("0");
|
|
||||||
QStringList FixedWingThrottleEnumOptions;
|
|
||||||
FixedWingThrottleEnumOptions.append("Channel1");
|
|
||||||
FixedWingThrottleEnumOptions.append("Channel2");
|
|
||||||
FixedWingThrottleEnumOptions.append("Channel3");
|
|
||||||
FixedWingThrottleEnumOptions.append("Channel4");
|
|
||||||
FixedWingThrottleEnumOptions.append("Channel5");
|
|
||||||
FixedWingThrottleEnumOptions.append("Channel6");
|
|
||||||
FixedWingThrottleEnumOptions.append("Channel7");
|
|
||||||
FixedWingThrottleEnumOptions.append("Channel8");
|
|
||||||
FixedWingThrottleEnumOptions.append("None");
|
|
||||||
fields.append( new UAVObjectField(QString("FixedWingThrottle"), QString("channel"), UAVObjectField::ENUM, FixedWingThrottleElemNames, FixedWingThrottleEnumOptions) );
|
|
||||||
QStringList VTOLMotorNElemNames;
|
|
||||||
VTOLMotorNElemNames.append("0");
|
|
||||||
QStringList VTOLMotorNEnumOptions;
|
|
||||||
VTOLMotorNEnumOptions.append("Channel1");
|
|
||||||
VTOLMotorNEnumOptions.append("Channel2");
|
|
||||||
VTOLMotorNEnumOptions.append("Channel3");
|
|
||||||
VTOLMotorNEnumOptions.append("Channel4");
|
|
||||||
VTOLMotorNEnumOptions.append("Channel5");
|
|
||||||
VTOLMotorNEnumOptions.append("Channel6");
|
|
||||||
VTOLMotorNEnumOptions.append("Channel7");
|
|
||||||
VTOLMotorNEnumOptions.append("Channel8");
|
|
||||||
VTOLMotorNEnumOptions.append("None");
|
|
||||||
fields.append( new UAVObjectField(QString("VTOLMotorN"), QString("channel"), UAVObjectField::ENUM, VTOLMotorNElemNames, VTOLMotorNEnumOptions) );
|
|
||||||
QStringList VTOLMotorNEElemNames;
|
|
||||||
VTOLMotorNEElemNames.append("0");
|
|
||||||
QStringList VTOLMotorNEEnumOptions;
|
|
||||||
VTOLMotorNEEnumOptions.append("Channel1");
|
|
||||||
VTOLMotorNEEnumOptions.append("Channel2");
|
|
||||||
VTOLMotorNEEnumOptions.append("Channel3");
|
|
||||||
VTOLMotorNEEnumOptions.append("Channel4");
|
|
||||||
VTOLMotorNEEnumOptions.append("Channel5");
|
|
||||||
VTOLMotorNEEnumOptions.append("Channel6");
|
|
||||||
VTOLMotorNEEnumOptions.append("Channel7");
|
|
||||||
VTOLMotorNEEnumOptions.append("Channel8");
|
|
||||||
VTOLMotorNEEnumOptions.append("None");
|
|
||||||
fields.append( new UAVObjectField(QString("VTOLMotorNE"), QString("channel"), UAVObjectField::ENUM, VTOLMotorNEElemNames, VTOLMotorNEEnumOptions) );
|
|
||||||
QStringList VTOLMotorEElemNames;
|
|
||||||
VTOLMotorEElemNames.append("0");
|
|
||||||
QStringList VTOLMotorEEnumOptions;
|
|
||||||
VTOLMotorEEnumOptions.append("Channel1");
|
|
||||||
VTOLMotorEEnumOptions.append("Channel2");
|
|
||||||
VTOLMotorEEnumOptions.append("Channel3");
|
|
||||||
VTOLMotorEEnumOptions.append("Channel4");
|
|
||||||
VTOLMotorEEnumOptions.append("Channel5");
|
|
||||||
VTOLMotorEEnumOptions.append("Channel6");
|
|
||||||
VTOLMotorEEnumOptions.append("Channel7");
|
|
||||||
VTOLMotorEEnumOptions.append("Channel8");
|
|
||||||
VTOLMotorEEnumOptions.append("None");
|
|
||||||
fields.append( new UAVObjectField(QString("VTOLMotorE"), QString("channel"), UAVObjectField::ENUM, VTOLMotorEElemNames, VTOLMotorEEnumOptions) );
|
|
||||||
QStringList VTOLMotorSEElemNames;
|
|
||||||
VTOLMotorSEElemNames.append("0");
|
|
||||||
QStringList VTOLMotorSEEnumOptions;
|
|
||||||
VTOLMotorSEEnumOptions.append("Channel1");
|
|
||||||
VTOLMotorSEEnumOptions.append("Channel2");
|
|
||||||
VTOLMotorSEEnumOptions.append("Channel3");
|
|
||||||
VTOLMotorSEEnumOptions.append("Channel4");
|
|
||||||
VTOLMotorSEEnumOptions.append("Channel5");
|
|
||||||
VTOLMotorSEEnumOptions.append("Channel6");
|
|
||||||
VTOLMotorSEEnumOptions.append("Channel7");
|
|
||||||
VTOLMotorSEEnumOptions.append("Channel8");
|
|
||||||
VTOLMotorSEEnumOptions.append("None");
|
|
||||||
fields.append( new UAVObjectField(QString("VTOLMotorSE"), QString("channel"), UAVObjectField::ENUM, VTOLMotorSEElemNames, VTOLMotorSEEnumOptions) );
|
|
||||||
QStringList VTOLMotorSElemNames;
|
|
||||||
VTOLMotorSElemNames.append("0");
|
|
||||||
QStringList VTOLMotorSEnumOptions;
|
|
||||||
VTOLMotorSEnumOptions.append("Channel1");
|
|
||||||
VTOLMotorSEnumOptions.append("Channel2");
|
|
||||||
VTOLMotorSEnumOptions.append("Channel3");
|
|
||||||
VTOLMotorSEnumOptions.append("Channel4");
|
|
||||||
VTOLMotorSEnumOptions.append("Channel5");
|
|
||||||
VTOLMotorSEnumOptions.append("Channel6");
|
|
||||||
VTOLMotorSEnumOptions.append("Channel7");
|
|
||||||
VTOLMotorSEnumOptions.append("Channel8");
|
|
||||||
VTOLMotorSEnumOptions.append("None");
|
|
||||||
fields.append( new UAVObjectField(QString("VTOLMotorS"), QString("channel"), UAVObjectField::ENUM, VTOLMotorSElemNames, VTOLMotorSEnumOptions) );
|
|
||||||
QStringList VTOLMotorSWElemNames;
|
|
||||||
VTOLMotorSWElemNames.append("0");
|
|
||||||
QStringList VTOLMotorSWEnumOptions;
|
|
||||||
VTOLMotorSWEnumOptions.append("Channel1");
|
|
||||||
VTOLMotorSWEnumOptions.append("Channel2");
|
|
||||||
VTOLMotorSWEnumOptions.append("Channel3");
|
|
||||||
VTOLMotorSWEnumOptions.append("Channel4");
|
|
||||||
VTOLMotorSWEnumOptions.append("Channel5");
|
|
||||||
VTOLMotorSWEnumOptions.append("Channel6");
|
|
||||||
VTOLMotorSWEnumOptions.append("Channel7");
|
|
||||||
VTOLMotorSWEnumOptions.append("Channel8");
|
|
||||||
VTOLMotorSWEnumOptions.append("None");
|
|
||||||
fields.append( new UAVObjectField(QString("VTOLMotorSW"), QString("channel"), UAVObjectField::ENUM, VTOLMotorSWElemNames, VTOLMotorSWEnumOptions) );
|
|
||||||
QStringList VTOLMotorWElemNames;
|
|
||||||
VTOLMotorWElemNames.append("0");
|
|
||||||
QStringList VTOLMotorWEnumOptions;
|
|
||||||
VTOLMotorWEnumOptions.append("Channel1");
|
|
||||||
VTOLMotorWEnumOptions.append("Channel2");
|
|
||||||
VTOLMotorWEnumOptions.append("Channel3");
|
|
||||||
VTOLMotorWEnumOptions.append("Channel4");
|
|
||||||
VTOLMotorWEnumOptions.append("Channel5");
|
|
||||||
VTOLMotorWEnumOptions.append("Channel6");
|
|
||||||
VTOLMotorWEnumOptions.append("Channel7");
|
|
||||||
VTOLMotorWEnumOptions.append("Channel8");
|
|
||||||
VTOLMotorWEnumOptions.append("None");
|
|
||||||
fields.append( new UAVObjectField(QString("VTOLMotorW"), QString("channel"), UAVObjectField::ENUM, VTOLMotorWElemNames, VTOLMotorWEnumOptions) );
|
|
||||||
QStringList VTOLMotorNWElemNames;
|
|
||||||
VTOLMotorNWElemNames.append("0");
|
|
||||||
QStringList VTOLMotorNWEnumOptions;
|
|
||||||
VTOLMotorNWEnumOptions.append("Channel1");
|
|
||||||
VTOLMotorNWEnumOptions.append("Channel2");
|
|
||||||
VTOLMotorNWEnumOptions.append("Channel3");
|
|
||||||
VTOLMotorNWEnumOptions.append("Channel4");
|
|
||||||
VTOLMotorNWEnumOptions.append("Channel5");
|
|
||||||
VTOLMotorNWEnumOptions.append("Channel6");
|
|
||||||
VTOLMotorNWEnumOptions.append("Channel7");
|
|
||||||
VTOLMotorNWEnumOptions.append("Channel8");
|
|
||||||
VTOLMotorNWEnumOptions.append("None");
|
|
||||||
fields.append( new UAVObjectField(QString("VTOLMotorNW"), QString("channel"), UAVObjectField::ENUM, VTOLMotorNWElemNames, VTOLMotorNWEnumOptions) );
|
|
||||||
QStringList ChannelUpdateFreqElemNames;
|
|
||||||
ChannelUpdateFreqElemNames.append("0");
|
|
||||||
ChannelUpdateFreqElemNames.append("1");
|
|
||||||
fields.append( new UAVObjectField(QString("ChannelUpdateFreq"), QString("Hz"), UAVObjectField::INT16, ChannelUpdateFreqElemNames, QStringList()) );
|
|
||||||
QStringList ChannelMaxElemNames;
|
|
||||||
ChannelMaxElemNames.append("0");
|
|
||||||
ChannelMaxElemNames.append("1");
|
|
||||||
ChannelMaxElemNames.append("2");
|
|
||||||
ChannelMaxElemNames.append("3");
|
|
||||||
ChannelMaxElemNames.append("4");
|
|
||||||
ChannelMaxElemNames.append("5");
|
|
||||||
ChannelMaxElemNames.append("6");
|
|
||||||
ChannelMaxElemNames.append("7");
|
|
||||||
fields.append( new UAVObjectField(QString("ChannelMax"), QString("us"), UAVObjectField::INT16, ChannelMaxElemNames, QStringList()) );
|
|
||||||
QStringList ChannelNeutralElemNames;
|
|
||||||
ChannelNeutralElemNames.append("0");
|
|
||||||
ChannelNeutralElemNames.append("1");
|
|
||||||
ChannelNeutralElemNames.append("2");
|
|
||||||
ChannelNeutralElemNames.append("3");
|
|
||||||
ChannelNeutralElemNames.append("4");
|
|
||||||
ChannelNeutralElemNames.append("5");
|
|
||||||
ChannelNeutralElemNames.append("6");
|
|
||||||
ChannelNeutralElemNames.append("7");
|
|
||||||
fields.append( new UAVObjectField(QString("ChannelNeutral"), QString("us"), UAVObjectField::INT16, ChannelNeutralElemNames, QStringList()) );
|
|
||||||
QStringList ChannelMinElemNames;
|
|
||||||
ChannelMinElemNames.append("0");
|
|
||||||
ChannelMinElemNames.append("1");
|
|
||||||
ChannelMinElemNames.append("2");
|
|
||||||
ChannelMinElemNames.append("3");
|
|
||||||
ChannelMinElemNames.append("4");
|
|
||||||
ChannelMinElemNames.append("5");
|
|
||||||
ChannelMinElemNames.append("6");
|
|
||||||
ChannelMinElemNames.append("7");
|
|
||||||
fields.append( new UAVObjectField(QString("ChannelMin"), QString("us"), UAVObjectField::INT16, ChannelMinElemNames, QStringList()) );
|
|
||||||
QStringList ChannelTypeElemNames;
|
|
||||||
ChannelTypeElemNames.append("0");
|
|
||||||
ChannelTypeElemNames.append("1");
|
|
||||||
ChannelTypeElemNames.append("2");
|
|
||||||
ChannelTypeElemNames.append("3");
|
|
||||||
ChannelTypeElemNames.append("4");
|
|
||||||
ChannelTypeElemNames.append("5");
|
|
||||||
ChannelTypeElemNames.append("6");
|
|
||||||
ChannelTypeElemNames.append("7");
|
|
||||||
QStringList ChannelTypeEnumOptions;
|
|
||||||
ChannelTypeEnumOptions.append("PWM");
|
|
||||||
ChannelTypeEnumOptions.append("MK");
|
|
||||||
ChannelTypeEnumOptions.append("ASTEC4");
|
|
||||||
fields.append( new UAVObjectField(QString("ChannelType"), QString(""), UAVObjectField::ENUM, ChannelTypeElemNames, ChannelTypeEnumOptions) );
|
|
||||||
QStringList ChannelAddrElemNames;
|
|
||||||
ChannelAddrElemNames.append("0");
|
|
||||||
ChannelAddrElemNames.append("1");
|
|
||||||
ChannelAddrElemNames.append("2");
|
|
||||||
ChannelAddrElemNames.append("3");
|
|
||||||
ChannelAddrElemNames.append("4");
|
|
||||||
ChannelAddrElemNames.append("5");
|
|
||||||
ChannelAddrElemNames.append("6");
|
|
||||||
ChannelAddrElemNames.append("7");
|
|
||||||
fields.append( new UAVObjectField(QString("ChannelAddr"), QString(""), UAVObjectField::UINT8, ChannelAddrElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata ActuatorSettings::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 1;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 1;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
|
||||||
metadata.loggingUpdatePeriod = 0;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void ActuatorSettings::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
data.FixedWingRoll1 = 8;
|
|
||||||
data.FixedWingRoll2 = 8;
|
|
||||||
data.FixedWingPitch1 = 8;
|
|
||||||
data.FixedWingPitch2 = 8;
|
|
||||||
data.FixedWingYaw = 8;
|
|
||||||
data.FixedWingThrottle = 8;
|
|
||||||
data.VTOLMotorN = 8;
|
|
||||||
data.VTOLMotorNE = 8;
|
|
||||||
data.VTOLMotorE = 8;
|
|
||||||
data.VTOLMotorSE = 8;
|
|
||||||
data.VTOLMotorS = 8;
|
|
||||||
data.VTOLMotorSW = 8;
|
|
||||||
data.VTOLMotorW = 8;
|
|
||||||
data.VTOLMotorNW = 8;
|
|
||||||
data.ChannelUpdateFreq[0] = 50;
|
|
||||||
data.ChannelUpdateFreq[1] = 50;
|
|
||||||
data.ChannelMax[0] = 1000;
|
|
||||||
data.ChannelMax[1] = 1000;
|
|
||||||
data.ChannelMax[2] = 1000;
|
|
||||||
data.ChannelMax[3] = 1000;
|
|
||||||
data.ChannelMax[4] = 1000;
|
|
||||||
data.ChannelMax[5] = 1000;
|
|
||||||
data.ChannelMax[6] = 1000;
|
|
||||||
data.ChannelMax[7] = 1000;
|
|
||||||
data.ChannelNeutral[0] = 1000;
|
|
||||||
data.ChannelNeutral[1] = 1000;
|
|
||||||
data.ChannelNeutral[2] = 1000;
|
|
||||||
data.ChannelNeutral[3] = 1000;
|
|
||||||
data.ChannelNeutral[4] = 1000;
|
|
||||||
data.ChannelNeutral[5] = 1000;
|
|
||||||
data.ChannelNeutral[6] = 1000;
|
|
||||||
data.ChannelNeutral[7] = 1000;
|
|
||||||
data.ChannelMin[0] = 1000;
|
|
||||||
data.ChannelMin[1] = 1000;
|
|
||||||
data.ChannelMin[2] = 1000;
|
|
||||||
data.ChannelMin[3] = 1000;
|
|
||||||
data.ChannelMin[4] = 1000;
|
|
||||||
data.ChannelMin[5] = 1000;
|
|
||||||
data.ChannelMin[6] = 1000;
|
|
||||||
data.ChannelMin[7] = 1000;
|
|
||||||
data.ChannelType[0] = 0;
|
|
||||||
data.ChannelType[1] = 0;
|
|
||||||
data.ChannelType[2] = 0;
|
|
||||||
data.ChannelType[3] = 0;
|
|
||||||
data.ChannelType[4] = 0;
|
|
||||||
data.ChannelType[5] = 0;
|
|
||||||
data.ChannelType[6] = 0;
|
|
||||||
data.ChannelType[7] = 0;
|
|
||||||
data.ChannelAddr[0] = 0;
|
|
||||||
data.ChannelAddr[1] = 1;
|
|
||||||
data.ChannelAddr[2] = 2;
|
|
||||||
data.ChannelAddr[3] = 3;
|
|
||||||
data.ChannelAddr[4] = 4;
|
|
||||||
data.ChannelAddr[5] = 5;
|
|
||||||
data.ChannelAddr[6] = 6;
|
|
||||||
data.ChannelAddr[7] = 7;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
ActuatorSettings::DataFields ActuatorSettings::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void ActuatorSettings::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* ActuatorSettings::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
ActuatorSettings* obj = new ActuatorSettings();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
ActuatorSettings* ActuatorSettings::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<ActuatorSettings*>(objMngr->getObject(ActuatorSettings::OBJID, instID));
|
|
||||||
}
|
|
@ -1,223 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file ahrscalibration.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: ahrscalibration.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "ahrscalibration.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString AHRSCalibration::NAME = QString("AHRSCalibration");
|
|
||||||
const QString AHRSCalibration::DESCRIPTION = QString("Contains the calibration settings for the @ref AHRSCommsModule");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
AHRSCalibration::AHRSCalibration(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList measure_varElemNames;
|
|
||||||
measure_varElemNames.append("0");
|
|
||||||
QStringList measure_varEnumOptions;
|
|
||||||
measure_varEnumOptions.append("SET");
|
|
||||||
measure_varEnumOptions.append("MEASURE");
|
|
||||||
fields.append( new UAVObjectField(QString("measure_var"), QString(""), UAVObjectField::ENUM, measure_varElemNames, measure_varEnumOptions) );
|
|
||||||
QStringList accel_biasElemNames;
|
|
||||||
accel_biasElemNames.append("X");
|
|
||||||
accel_biasElemNames.append("Y");
|
|
||||||
accel_biasElemNames.append("Z");
|
|
||||||
fields.append( new UAVObjectField(QString("accel_bias"), QString("m/s"), UAVObjectField::FLOAT32, accel_biasElemNames, QStringList()) );
|
|
||||||
QStringList accel_scaleElemNames;
|
|
||||||
accel_scaleElemNames.append("X");
|
|
||||||
accel_scaleElemNames.append("Y");
|
|
||||||
accel_scaleElemNames.append("Z");
|
|
||||||
fields.append( new UAVObjectField(QString("accel_scale"), QString("m/s"), UAVObjectField::FLOAT32, accel_scaleElemNames, QStringList()) );
|
|
||||||
QStringList accel_varElemNames;
|
|
||||||
accel_varElemNames.append("X");
|
|
||||||
accel_varElemNames.append("Y");
|
|
||||||
accel_varElemNames.append("Z");
|
|
||||||
fields.append( new UAVObjectField(QString("accel_var"), QString("m^2/s^s"), UAVObjectField::FLOAT32, accel_varElemNames, QStringList()) );
|
|
||||||
QStringList gyro_biasElemNames;
|
|
||||||
gyro_biasElemNames.append("X");
|
|
||||||
gyro_biasElemNames.append("Y");
|
|
||||||
gyro_biasElemNames.append("Z");
|
|
||||||
fields.append( new UAVObjectField(QString("gyro_bias"), QString("deg/s"), UAVObjectField::FLOAT32, gyro_biasElemNames, QStringList()) );
|
|
||||||
QStringList gyro_scaleElemNames;
|
|
||||||
gyro_scaleElemNames.append("X");
|
|
||||||
gyro_scaleElemNames.append("Y");
|
|
||||||
gyro_scaleElemNames.append("Z");
|
|
||||||
fields.append( new UAVObjectField(QString("gyro_scale"), QString("deg/s"), UAVObjectField::FLOAT32, gyro_scaleElemNames, QStringList()) );
|
|
||||||
QStringList gyro_varElemNames;
|
|
||||||
gyro_varElemNames.append("X");
|
|
||||||
gyro_varElemNames.append("Y");
|
|
||||||
gyro_varElemNames.append("Z");
|
|
||||||
fields.append( new UAVObjectField(QString("gyro_var"), QString("deg^s/s^2"), UAVObjectField::FLOAT32, gyro_varElemNames, QStringList()) );
|
|
||||||
QStringList gyro_tempcompfactorElemNames;
|
|
||||||
gyro_tempcompfactorElemNames.append("X");
|
|
||||||
gyro_tempcompfactorElemNames.append("Y");
|
|
||||||
gyro_tempcompfactorElemNames.append("Z");
|
|
||||||
fields.append( new UAVObjectField(QString("gyro_tempcompfactor"), QString("raw/raw"), UAVObjectField::FLOAT32, gyro_tempcompfactorElemNames, QStringList()) );
|
|
||||||
QStringList mag_biasElemNames;
|
|
||||||
mag_biasElemNames.append("X");
|
|
||||||
mag_biasElemNames.append("Y");
|
|
||||||
mag_biasElemNames.append("Z");
|
|
||||||
fields.append( new UAVObjectField(QString("mag_bias"), QString("mGau"), UAVObjectField::FLOAT32, mag_biasElemNames, QStringList()) );
|
|
||||||
QStringList mag_scaleElemNames;
|
|
||||||
mag_scaleElemNames.append("X");
|
|
||||||
mag_scaleElemNames.append("Y");
|
|
||||||
mag_scaleElemNames.append("Z");
|
|
||||||
fields.append( new UAVObjectField(QString("mag_scale"), QString("mGau"), UAVObjectField::FLOAT32, mag_scaleElemNames, QStringList()) );
|
|
||||||
QStringList mag_varElemNames;
|
|
||||||
mag_varElemNames.append("X");
|
|
||||||
mag_varElemNames.append("Y");
|
|
||||||
mag_varElemNames.append("Z");
|
|
||||||
fields.append( new UAVObjectField(QString("mag_var"), QString("mGau^s"), UAVObjectField::FLOAT32, mag_varElemNames, QStringList()) );
|
|
||||||
QStringList vel_varElemNames;
|
|
||||||
vel_varElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("vel_var"), QString("(m/s)^2"), UAVObjectField::FLOAT32, vel_varElemNames, QStringList()) );
|
|
||||||
QStringList pos_varElemNames;
|
|
||||||
pos_varElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("pos_var"), QString("m^2"), UAVObjectField::FLOAT32, pos_varElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata AHRSCalibration::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 1;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 1;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
|
||||||
metadata.loggingUpdatePeriod = 0;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void AHRSCalibration::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
data.measure_var = 0;
|
|
||||||
data.accel_bias[0] = -72;
|
|
||||||
data.accel_bias[1] = -72;
|
|
||||||
data.accel_bias[2] = 72;
|
|
||||||
data.accel_scale[0] = 0.003;
|
|
||||||
data.accel_scale[1] = 0.003;
|
|
||||||
data.accel_scale[2] = -0.003;
|
|
||||||
data.accel_var[0] = 5e-05;
|
|
||||||
data.accel_var[1] = 5e-05;
|
|
||||||
data.accel_var[2] = 5e-05;
|
|
||||||
data.gyro_bias[0] = 23;
|
|
||||||
data.gyro_bias[1] = -23;
|
|
||||||
data.gyro_bias[2] = 23;
|
|
||||||
data.gyro_scale[0] = -0.014;
|
|
||||||
data.gyro_scale[1] = 0.014;
|
|
||||||
data.gyro_scale[2] = -0.014;
|
|
||||||
data.gyro_var[0] = 0.0001;
|
|
||||||
data.gyro_var[1] = 0.0001;
|
|
||||||
data.gyro_var[2] = 0.0001;
|
|
||||||
data.gyro_tempcompfactor[0] = 0;
|
|
||||||
data.gyro_tempcompfactor[1] = 0;
|
|
||||||
data.gyro_tempcompfactor[2] = 0;
|
|
||||||
data.mag_bias[0] = 0;
|
|
||||||
data.mag_bias[1] = 0;
|
|
||||||
data.mag_bias[2] = 0;
|
|
||||||
data.mag_scale[0] = 1;
|
|
||||||
data.mag_scale[1] = 1;
|
|
||||||
data.mag_scale[2] = 1;
|
|
||||||
data.mag_var[0] = 5e-05;
|
|
||||||
data.mag_var[1] = 5e-05;
|
|
||||||
data.mag_var[2] = 5e-05;
|
|
||||||
data.vel_var = 0.4;
|
|
||||||
data.pos_var = 0.4;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
AHRSCalibration::DataFields AHRSCalibration::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void AHRSCalibration::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* AHRSCalibration::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
AHRSCalibration* obj = new AHRSCalibration();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
AHRSCalibration* AHRSCalibration::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<AHRSCalibration*>(objMngr->getObject(AHRSCalibration::OBJID, instID));
|
|
||||||
}
|
|
@ -1,164 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file ahrssettings.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: ahrssettings.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "ahrssettings.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString AHRSSettings::NAME = QString("AHRSSettings");
|
|
||||||
const QString AHRSSettings::DESCRIPTION = QString("Settings for the @ref AHRSCommsModule to control the algorithm and what is updated");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
AHRSSettings::AHRSSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList AlgorithmElemNames;
|
|
||||||
AlgorithmElemNames.append("0");
|
|
||||||
QStringList AlgorithmEnumOptions;
|
|
||||||
AlgorithmEnumOptions.append("SIMPLE");
|
|
||||||
AlgorithmEnumOptions.append("INSGPS_INDOOR_NOMAG");
|
|
||||||
AlgorithmEnumOptions.append("INSGPS_INDOOR");
|
|
||||||
AlgorithmEnumOptions.append("INSGPS_OUTDOOR");
|
|
||||||
fields.append( new UAVObjectField(QString("Algorithm"), QString(""), UAVObjectField::ENUM, AlgorithmElemNames, AlgorithmEnumOptions) );
|
|
||||||
QStringList DownsamplingElemNames;
|
|
||||||
DownsamplingElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Downsampling"), QString(""), UAVObjectField::UINT8, DownsamplingElemNames, QStringList()) );
|
|
||||||
QStringList UpdatePeriodElemNames;
|
|
||||||
UpdatePeriodElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("UpdatePeriod"), QString("ms"), UAVObjectField::UINT8, UpdatePeriodElemNames, QStringList()) );
|
|
||||||
QStringList BiasCorrectedRawElemNames;
|
|
||||||
BiasCorrectedRawElemNames.append("0");
|
|
||||||
QStringList BiasCorrectedRawEnumOptions;
|
|
||||||
BiasCorrectedRawEnumOptions.append("TRUE");
|
|
||||||
BiasCorrectedRawEnumOptions.append("FALSE");
|
|
||||||
fields.append( new UAVObjectField(QString("BiasCorrectedRaw"), QString(""), UAVObjectField::ENUM, BiasCorrectedRawElemNames, BiasCorrectedRawEnumOptions) );
|
|
||||||
QStringList YawBiasElemNames;
|
|
||||||
YawBiasElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("YawBias"), QString(""), UAVObjectField::FLOAT32, YawBiasElemNames, QStringList()) );
|
|
||||||
QStringList PitchBiasElemNames;
|
|
||||||
PitchBiasElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("PitchBias"), QString(""), UAVObjectField::FLOAT32, PitchBiasElemNames, QStringList()) );
|
|
||||||
QStringList RollBiasElemNames;
|
|
||||||
RollBiasElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("RollBias"), QString(""), UAVObjectField::FLOAT32, RollBiasElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata AHRSSettings::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 1;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 1;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
|
||||||
metadata.loggingUpdatePeriod = 0;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void AHRSSettings::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
data.Algorithm = 1;
|
|
||||||
data.Downsampling = 20;
|
|
||||||
data.UpdatePeriod = 1;
|
|
||||||
data.BiasCorrectedRaw = 0;
|
|
||||||
data.YawBias = 0;
|
|
||||||
data.PitchBias = 0;
|
|
||||||
data.RollBias = 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
AHRSSettings::DataFields AHRSSettings::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void AHRSSettings::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* AHRSSettings::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
AHRSSettings* obj = new AHRSSettings();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
AHRSSettings* AHRSSettings::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<AHRSSettings*>(objMngr->getObject(AHRSSettings::OBJID, instID));
|
|
||||||
}
|
|
@ -1,180 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file ahrsstatus.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: ahrsstatus.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "ahrsstatus.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString AhrsStatus::NAME = QString("AhrsStatus");
|
|
||||||
const QString AhrsStatus::DESCRIPTION = QString("Status for the @ref AHRSCommsModule, including communication errors");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
AhrsStatus::AhrsStatus(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList SerialNumberElemNames;
|
|
||||||
SerialNumberElemNames.append("0");
|
|
||||||
SerialNumberElemNames.append("1");
|
|
||||||
SerialNumberElemNames.append("2");
|
|
||||||
SerialNumberElemNames.append("3");
|
|
||||||
SerialNumberElemNames.append("4");
|
|
||||||
SerialNumberElemNames.append("5");
|
|
||||||
SerialNumberElemNames.append("6");
|
|
||||||
SerialNumberElemNames.append("7");
|
|
||||||
fields.append( new UAVObjectField(QString("SerialNumber"), QString("n/a"), UAVObjectField::UINT8, SerialNumberElemNames, QStringList()) );
|
|
||||||
QStringList CPULoadElemNames;
|
|
||||||
CPULoadElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("CPULoad"), QString("count"), UAVObjectField::UINT8, CPULoadElemNames, QStringList()) );
|
|
||||||
QStringList RunningTimeElemNames;
|
|
||||||
RunningTimeElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("RunningTime"), QString("ms"), UAVObjectField::UINT32, RunningTimeElemNames, QStringList()) );
|
|
||||||
QStringList IdleTimePerCyleElemNames;
|
|
||||||
IdleTimePerCyleElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("IdleTimePerCyle"), QString("10x ms"), UAVObjectField::UINT8, IdleTimePerCyleElemNames, QStringList()) );
|
|
||||||
QStringList RunningTimePerCyleElemNames;
|
|
||||||
RunningTimePerCyleElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("RunningTimePerCyle"), QString("10x ms"), UAVObjectField::UINT8, RunningTimePerCyleElemNames, QStringList()) );
|
|
||||||
QStringList DroppedUpdatesElemNames;
|
|
||||||
DroppedUpdatesElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("DroppedUpdates"), QString("count"), UAVObjectField::UINT8, DroppedUpdatesElemNames, QStringList()) );
|
|
||||||
QStringList LinkRunningElemNames;
|
|
||||||
LinkRunningElemNames.append("0");
|
|
||||||
QStringList LinkRunningEnumOptions;
|
|
||||||
LinkRunningEnumOptions.append("FALSE");
|
|
||||||
LinkRunningEnumOptions.append("TRUE");
|
|
||||||
fields.append( new UAVObjectField(QString("LinkRunning"), QString(""), UAVObjectField::ENUM, LinkRunningElemNames, LinkRunningEnumOptions) );
|
|
||||||
QStringList AhrsKickstartsElemNames;
|
|
||||||
AhrsKickstartsElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("AhrsKickstarts"), QString("count"), UAVObjectField::UINT8, AhrsKickstartsElemNames, QStringList()) );
|
|
||||||
QStringList AhrsCrcErrorsElemNames;
|
|
||||||
AhrsCrcErrorsElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("AhrsCrcErrors"), QString("count"), UAVObjectField::UINT8, AhrsCrcErrorsElemNames, QStringList()) );
|
|
||||||
QStringList AhrsRetriesElemNames;
|
|
||||||
AhrsRetriesElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("AhrsRetries"), QString("count"), UAVObjectField::UINT8, AhrsRetriesElemNames, QStringList()) );
|
|
||||||
QStringList AhrsInvalidPacketsElemNames;
|
|
||||||
AhrsInvalidPacketsElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("AhrsInvalidPackets"), QString("count"), UAVObjectField::UINT8, AhrsInvalidPacketsElemNames, QStringList()) );
|
|
||||||
QStringList OpCrcErrorsElemNames;
|
|
||||||
OpCrcErrorsElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("OpCrcErrors"), QString("count"), UAVObjectField::UINT8, OpCrcErrorsElemNames, QStringList()) );
|
|
||||||
QStringList OpRetriesElemNames;
|
|
||||||
OpRetriesElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("OpRetries"), QString("count"), UAVObjectField::UINT8, OpRetriesElemNames, QStringList()) );
|
|
||||||
QStringList OpInvalidPacketsElemNames;
|
|
||||||
OpInvalidPacketsElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("OpInvalidPackets"), QString("count"), UAVObjectField::UINT8, OpInvalidPacketsElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata AhrsStatus::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 0;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 0;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 1000;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.loggingUpdatePeriod = 1000;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void AhrsStatus::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
AhrsStatus::DataFields AhrsStatus::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void AhrsStatus::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* AhrsStatus::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
AhrsStatus* obj = new AhrsStatus();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
AhrsStatus* AhrsStatus::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<AhrsStatus*>(objMngr->getObject(AhrsStatus::OBJID, instID));
|
|
||||||
}
|
|
@ -1,149 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file attitudeactual.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: attitudeactual.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "attitudeactual.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString AttitudeActual::NAME = QString("AttitudeActual");
|
|
||||||
const QString AttitudeActual::DESCRIPTION = QString("The updated Attitude estimation from @ref AHRSCommsModule.");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
AttitudeActual::AttitudeActual(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList q1ElemNames;
|
|
||||||
q1ElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("q1"), QString("none"), UAVObjectField::FLOAT32, q1ElemNames, QStringList()) );
|
|
||||||
QStringList q2ElemNames;
|
|
||||||
q2ElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("q2"), QString("none"), UAVObjectField::FLOAT32, q2ElemNames, QStringList()) );
|
|
||||||
QStringList q3ElemNames;
|
|
||||||
q3ElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("q3"), QString("none"), UAVObjectField::FLOAT32, q3ElemNames, QStringList()) );
|
|
||||||
QStringList q4ElemNames;
|
|
||||||
q4ElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("q4"), QString("none"), UAVObjectField::FLOAT32, q4ElemNames, QStringList()) );
|
|
||||||
QStringList RollElemNames;
|
|
||||||
RollElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Roll"), QString("degrees"), UAVObjectField::FLOAT32, RollElemNames, QStringList()) );
|
|
||||||
QStringList PitchElemNames;
|
|
||||||
PitchElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Pitch"), QString("degrees"), UAVObjectField::FLOAT32, PitchElemNames, QStringList()) );
|
|
||||||
QStringList YawElemNames;
|
|
||||||
YawElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Yaw"), QString("degrees"), UAVObjectField::FLOAT32, YawElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata AttitudeActual::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 0;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 0;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 500;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
|
||||||
metadata.loggingUpdatePeriod = 0;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void AttitudeActual::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
AttitudeActual::DataFields AttitudeActual::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void AttitudeActual::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* AttitudeActual::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
AttitudeActual* obj = new AttitudeActual();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
AttitudeActual* AttitudeActual::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<AttitudeActual*>(objMngr->getObject(AttitudeActual::OBJID, instID));
|
|
||||||
}
|
|
@ -1,140 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file attitudedesired.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: attitudedesired.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "attitudedesired.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString AttitudeDesired::NAME = QString("AttitudeDesired");
|
|
||||||
const QString AttitudeDesired::DESCRIPTION = QString("The desired attitude that @ref StabilizationModule will try and achieve if FlightMode is Stabilized. Comes from @ref ManaulControlModule.");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
AttitudeDesired::AttitudeDesired(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList RollElemNames;
|
|
||||||
RollElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Roll"), QString("degrees"), UAVObjectField::FLOAT32, RollElemNames, QStringList()) );
|
|
||||||
QStringList PitchElemNames;
|
|
||||||
PitchElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Pitch"), QString("degrees"), UAVObjectField::FLOAT32, PitchElemNames, QStringList()) );
|
|
||||||
QStringList YawElemNames;
|
|
||||||
YawElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Yaw"), QString("degrees"), UAVObjectField::FLOAT32, YawElemNames, QStringList()) );
|
|
||||||
QStringList ThrottleElemNames;
|
|
||||||
ThrottleElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Throttle"), QString("%"), UAVObjectField::FLOAT32, ThrottleElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata AttitudeDesired::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 0;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 0;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 1000;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
|
||||||
metadata.loggingUpdatePeriod = 0;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void AttitudeDesired::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
AttitudeDesired::DataFields AttitudeDesired::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void AttitudeDesired::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* AttitudeDesired::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
AttitudeDesired* obj = new AttitudeDesired();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
AttitudeDesired* AttitudeDesired::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<AttitudeDesired*>(objMngr->getObject(AttitudeDesired::OBJID, instID));
|
|
||||||
}
|
|
@ -1,157 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file attituderaw.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: attituderaw.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "attituderaw.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString AttitudeRaw::NAME = QString("AttitudeRaw");
|
|
||||||
const QString AttitudeRaw::DESCRIPTION = QString("The raw attitude sensor data from @ref AHRSCommsModule. Not always updated.");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
AttitudeRaw::AttitudeRaw(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList magnetometersElemNames;
|
|
||||||
magnetometersElemNames.append("X");
|
|
||||||
magnetometersElemNames.append("Y");
|
|
||||||
magnetometersElemNames.append("Z");
|
|
||||||
fields.append( new UAVObjectField(QString("magnetometers"), QString("mGa"), UAVObjectField::INT16, magnetometersElemNames, QStringList()) );
|
|
||||||
QStringList gyrosElemNames;
|
|
||||||
gyrosElemNames.append("X");
|
|
||||||
gyrosElemNames.append("Y");
|
|
||||||
gyrosElemNames.append("Z");
|
|
||||||
fields.append( new UAVObjectField(QString("gyros"), QString("raw"), UAVObjectField::UINT16, gyrosElemNames, QStringList()) );
|
|
||||||
QStringList gyros_filteredElemNames;
|
|
||||||
gyros_filteredElemNames.append("X");
|
|
||||||
gyros_filteredElemNames.append("Y");
|
|
||||||
gyros_filteredElemNames.append("Z");
|
|
||||||
fields.append( new UAVObjectField(QString("gyros_filtered"), QString("deg/s"), UAVObjectField::FLOAT32, gyros_filteredElemNames, QStringList()) );
|
|
||||||
QStringList gyrotempElemNames;
|
|
||||||
gyrotempElemNames.append("XY");
|
|
||||||
gyrotempElemNames.append("Z");
|
|
||||||
fields.append( new UAVObjectField(QString("gyrotemp"), QString("raw"), UAVObjectField::UINT16, gyrotempElemNames, QStringList()) );
|
|
||||||
QStringList accelsElemNames;
|
|
||||||
accelsElemNames.append("X");
|
|
||||||
accelsElemNames.append("Y");
|
|
||||||
accelsElemNames.append("Z");
|
|
||||||
fields.append( new UAVObjectField(QString("accels"), QString("raw"), UAVObjectField::UINT16, accelsElemNames, QStringList()) );
|
|
||||||
QStringList accels_filteredElemNames;
|
|
||||||
accels_filteredElemNames.append("X");
|
|
||||||
accels_filteredElemNames.append("Y");
|
|
||||||
accels_filteredElemNames.append("Z");
|
|
||||||
fields.append( new UAVObjectField(QString("accels_filtered"), QString("m/s"), UAVObjectField::FLOAT32, accels_filteredElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata AttitudeRaw::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 0;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 0;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 1000;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
|
||||||
metadata.loggingUpdatePeriod = 0;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void AttitudeRaw::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
AttitudeRaw::DataFields AttitudeRaw::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void AttitudeRaw::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* AttitudeRaw::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
AttitudeRaw* obj = new AttitudeRaw();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
AttitudeRaw* AttitudeRaw::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<AttitudeRaw*>(objMngr->getObject(AttitudeRaw::OBJID, instID));
|
|
||||||
}
|
|
@ -1,137 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file baroaltitude.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: baroaltitude.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "baroaltitude.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString BaroAltitude::NAME = QString("BaroAltitude");
|
|
||||||
const QString BaroAltitude::DESCRIPTION = QString("The raw data from the barometric sensor with pressure, temperature and altitude estimate.");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
BaroAltitude::BaroAltitude(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList AltitudeElemNames;
|
|
||||||
AltitudeElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Altitude"), QString("m"), UAVObjectField::FLOAT32, AltitudeElemNames, QStringList()) );
|
|
||||||
QStringList TemperatureElemNames;
|
|
||||||
TemperatureElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Temperature"), QString("C"), UAVObjectField::FLOAT32, TemperatureElemNames, QStringList()) );
|
|
||||||
QStringList PressureElemNames;
|
|
||||||
PressureElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Pressure"), QString("kPa"), UAVObjectField::FLOAT32, PressureElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata BaroAltitude::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 0;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 0;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 1000;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
|
||||||
metadata.loggingUpdatePeriod = 0;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void BaroAltitude::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
BaroAltitude::DataFields BaroAltitude::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void BaroAltitude::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* BaroAltitude::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
BaroAltitude* obj = new BaroAltitude();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
BaroAltitude* BaroAltitude::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<BaroAltitude*>(objMngr->getObject(BaroAltitude::OBJID, instID));
|
|
||||||
}
|
|
@ -1,152 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file batterysettings.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: batterysettings.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "batterysettings.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString BatterySettings::NAME = QString("BatterySettings");
|
|
||||||
const QString BatterySettings::DESCRIPTION = QString("Battery configuration information.");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
BatterySettings::BatterySettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList BatteryVoltageElemNames;
|
|
||||||
BatteryVoltageElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("BatteryVoltage"), QString("V"), UAVObjectField::FLOAT32, BatteryVoltageElemNames, QStringList()) );
|
|
||||||
QStringList BatteryCapacityElemNames;
|
|
||||||
BatteryCapacityElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("BatteryCapacity"), QString("mAh"), UAVObjectField::UINT32, BatteryCapacityElemNames, QStringList()) );
|
|
||||||
QStringList BatteryTypeElemNames;
|
|
||||||
BatteryTypeElemNames.append("0");
|
|
||||||
QStringList BatteryTypeEnumOptions;
|
|
||||||
BatteryTypeEnumOptions.append("LiPo");
|
|
||||||
BatteryTypeEnumOptions.append("A123");
|
|
||||||
BatteryTypeEnumOptions.append("LiCo");
|
|
||||||
BatteryTypeEnumOptions.append("LiFeSO4");
|
|
||||||
BatteryTypeEnumOptions.append("None");
|
|
||||||
fields.append( new UAVObjectField(QString("BatteryType"), QString(""), UAVObjectField::ENUM, BatteryTypeElemNames, BatteryTypeEnumOptions) );
|
|
||||||
QStringList CalibrationsElemNames;
|
|
||||||
CalibrationsElemNames.append("Voltage");
|
|
||||||
CalibrationsElemNames.append("Current");
|
|
||||||
fields.append( new UAVObjectField(QString("Calibrations"), QString(""), UAVObjectField::FLOAT32, CalibrationsElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata BatterySettings::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 1;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 1;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
|
||||||
metadata.loggingUpdatePeriod = 0;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void BatterySettings::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
data.BatteryVoltage = 11.1;
|
|
||||||
data.BatteryCapacity = 2200;
|
|
||||||
data.BatteryType = 0;
|
|
||||||
data.Calibrations[0] = 1;
|
|
||||||
data.Calibrations[1] = 1;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
BatterySettings::DataFields BatterySettings::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void BatterySettings::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* BatterySettings::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
BatterySettings* obj = new BatterySettings();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
BatterySettings* BatterySettings::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<BatterySettings*>(objMngr->getObject(BatterySettings::OBJID, instID));
|
|
||||||
}
|
|
@ -1,245 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file firmwareiapobj.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: firmwareiap.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "firmwareiapobj.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString FirmwareIAPObj::NAME = QString("FirmwareIAPObj");
|
|
||||||
const QString FirmwareIAPObj::DESCRIPTION = QString("Firmware IAP");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
FirmwareIAPObj::FirmwareIAPObj(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList CommandElemNames;
|
|
||||||
CommandElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Command"), QString("na"), UAVObjectField::UINT16, CommandElemNames, QStringList()) );
|
|
||||||
QStringList DescriptionElemNames;
|
|
||||||
DescriptionElemNames.append("0");
|
|
||||||
DescriptionElemNames.append("1");
|
|
||||||
DescriptionElemNames.append("2");
|
|
||||||
DescriptionElemNames.append("3");
|
|
||||||
DescriptionElemNames.append("4");
|
|
||||||
DescriptionElemNames.append("5");
|
|
||||||
DescriptionElemNames.append("6");
|
|
||||||
DescriptionElemNames.append("7");
|
|
||||||
DescriptionElemNames.append("8");
|
|
||||||
DescriptionElemNames.append("9");
|
|
||||||
DescriptionElemNames.append("10");
|
|
||||||
DescriptionElemNames.append("11");
|
|
||||||
DescriptionElemNames.append("12");
|
|
||||||
DescriptionElemNames.append("13");
|
|
||||||
DescriptionElemNames.append("14");
|
|
||||||
DescriptionElemNames.append("15");
|
|
||||||
DescriptionElemNames.append("16");
|
|
||||||
DescriptionElemNames.append("17");
|
|
||||||
DescriptionElemNames.append("18");
|
|
||||||
DescriptionElemNames.append("19");
|
|
||||||
DescriptionElemNames.append("20");
|
|
||||||
DescriptionElemNames.append("21");
|
|
||||||
DescriptionElemNames.append("22");
|
|
||||||
DescriptionElemNames.append("23");
|
|
||||||
DescriptionElemNames.append("24");
|
|
||||||
DescriptionElemNames.append("25");
|
|
||||||
DescriptionElemNames.append("26");
|
|
||||||
DescriptionElemNames.append("27");
|
|
||||||
DescriptionElemNames.append("28");
|
|
||||||
DescriptionElemNames.append("29");
|
|
||||||
DescriptionElemNames.append("30");
|
|
||||||
DescriptionElemNames.append("31");
|
|
||||||
DescriptionElemNames.append("32");
|
|
||||||
DescriptionElemNames.append("33");
|
|
||||||
DescriptionElemNames.append("34");
|
|
||||||
DescriptionElemNames.append("35");
|
|
||||||
DescriptionElemNames.append("36");
|
|
||||||
DescriptionElemNames.append("37");
|
|
||||||
DescriptionElemNames.append("38");
|
|
||||||
DescriptionElemNames.append("39");
|
|
||||||
DescriptionElemNames.append("40");
|
|
||||||
DescriptionElemNames.append("41");
|
|
||||||
DescriptionElemNames.append("42");
|
|
||||||
DescriptionElemNames.append("43");
|
|
||||||
DescriptionElemNames.append("44");
|
|
||||||
DescriptionElemNames.append("45");
|
|
||||||
DescriptionElemNames.append("46");
|
|
||||||
DescriptionElemNames.append("47");
|
|
||||||
DescriptionElemNames.append("48");
|
|
||||||
DescriptionElemNames.append("49");
|
|
||||||
DescriptionElemNames.append("50");
|
|
||||||
DescriptionElemNames.append("51");
|
|
||||||
DescriptionElemNames.append("52");
|
|
||||||
DescriptionElemNames.append("53");
|
|
||||||
DescriptionElemNames.append("54");
|
|
||||||
DescriptionElemNames.append("55");
|
|
||||||
DescriptionElemNames.append("56");
|
|
||||||
DescriptionElemNames.append("57");
|
|
||||||
DescriptionElemNames.append("58");
|
|
||||||
DescriptionElemNames.append("59");
|
|
||||||
DescriptionElemNames.append("60");
|
|
||||||
DescriptionElemNames.append("61");
|
|
||||||
DescriptionElemNames.append("62");
|
|
||||||
DescriptionElemNames.append("63");
|
|
||||||
DescriptionElemNames.append("64");
|
|
||||||
DescriptionElemNames.append("65");
|
|
||||||
DescriptionElemNames.append("66");
|
|
||||||
DescriptionElemNames.append("67");
|
|
||||||
DescriptionElemNames.append("68");
|
|
||||||
DescriptionElemNames.append("69");
|
|
||||||
DescriptionElemNames.append("70");
|
|
||||||
DescriptionElemNames.append("71");
|
|
||||||
DescriptionElemNames.append("72");
|
|
||||||
DescriptionElemNames.append("73");
|
|
||||||
DescriptionElemNames.append("74");
|
|
||||||
DescriptionElemNames.append("75");
|
|
||||||
DescriptionElemNames.append("76");
|
|
||||||
DescriptionElemNames.append("77");
|
|
||||||
DescriptionElemNames.append("78");
|
|
||||||
DescriptionElemNames.append("79");
|
|
||||||
DescriptionElemNames.append("80");
|
|
||||||
DescriptionElemNames.append("81");
|
|
||||||
DescriptionElemNames.append("82");
|
|
||||||
DescriptionElemNames.append("83");
|
|
||||||
DescriptionElemNames.append("84");
|
|
||||||
DescriptionElemNames.append("85");
|
|
||||||
DescriptionElemNames.append("86");
|
|
||||||
DescriptionElemNames.append("87");
|
|
||||||
DescriptionElemNames.append("88");
|
|
||||||
DescriptionElemNames.append("89");
|
|
||||||
DescriptionElemNames.append("90");
|
|
||||||
DescriptionElemNames.append("91");
|
|
||||||
DescriptionElemNames.append("92");
|
|
||||||
DescriptionElemNames.append("93");
|
|
||||||
DescriptionElemNames.append("94");
|
|
||||||
DescriptionElemNames.append("95");
|
|
||||||
DescriptionElemNames.append("96");
|
|
||||||
DescriptionElemNames.append("97");
|
|
||||||
DescriptionElemNames.append("98");
|
|
||||||
DescriptionElemNames.append("99");
|
|
||||||
fields.append( new UAVObjectField(QString("Description"), QString("na"), UAVObjectField::UINT8, DescriptionElemNames, QStringList()) );
|
|
||||||
QStringList HWVersionElemNames;
|
|
||||||
HWVersionElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("HWVersion"), QString("na"), UAVObjectField::UINT8, HWVersionElemNames, QStringList()) );
|
|
||||||
QStringList TargetElemNames;
|
|
||||||
TargetElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Target"), QString("na"), UAVObjectField::UINT8, TargetElemNames, QStringList()) );
|
|
||||||
QStringList ArmResetElemNames;
|
|
||||||
ArmResetElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("ArmReset"), QString("na"), UAVObjectField::UINT8, ArmResetElemNames, QStringList()) );
|
|
||||||
QStringList crcElemNames;
|
|
||||||
crcElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("crc"), QString("na"), UAVObjectField::UINT32, crcElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata FirmwareIAPObj::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 1;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 1;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
|
||||||
metadata.loggingUpdatePeriod = 0;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void FirmwareIAPObj::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
FirmwareIAPObj::DataFields FirmwareIAPObj::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void FirmwareIAPObj::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* FirmwareIAPObj::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
FirmwareIAPObj* obj = new FirmwareIAPObj();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
FirmwareIAPObj* FirmwareIAPObj::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<FirmwareIAPObj*>(objMngr->getObject(FirmwareIAPObj::OBJID, instID));
|
|
||||||
}
|
|
@ -1,152 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file flightbatterystate.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: flightbatterystate.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "flightbatterystate.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString FlightBatteryState::NAME = QString("FlightBatteryState");
|
|
||||||
const QString FlightBatteryState::DESCRIPTION = QString("Battery status information.");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
FlightBatteryState::FlightBatteryState(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList VoltageElemNames;
|
|
||||||
VoltageElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Voltage"), QString("V"), UAVObjectField::FLOAT32, VoltageElemNames, QStringList()) );
|
|
||||||
QStringList CurrentElemNames;
|
|
||||||
CurrentElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Current"), QString("A"), UAVObjectField::FLOAT32, CurrentElemNames, QStringList()) );
|
|
||||||
QStringList PeakCurrentElemNames;
|
|
||||||
PeakCurrentElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("PeakCurrent"), QString("A"), UAVObjectField::FLOAT32, PeakCurrentElemNames, QStringList()) );
|
|
||||||
QStringList AvgCurrentElemNames;
|
|
||||||
AvgCurrentElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("AvgCurrent"), QString("A"), UAVObjectField::FLOAT32, AvgCurrentElemNames, QStringList()) );
|
|
||||||
QStringList ConsumedEnergyElemNames;
|
|
||||||
ConsumedEnergyElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("ConsumedEnergy"), QString("mAh"), UAVObjectField::FLOAT32, ConsumedEnergyElemNames, QStringList()) );
|
|
||||||
QStringList EstimatedFlightTimeElemNames;
|
|
||||||
EstimatedFlightTimeElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("EstimatedFlightTime"), QString("sec"), UAVObjectField::FLOAT32, EstimatedFlightTimeElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata FlightBatteryState::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READONLY;
|
|
||||||
metadata.gcsTelemetryAcked = 0;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 0;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 1000;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
|
||||||
metadata.loggingUpdatePeriod = 0;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void FlightBatteryState::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
data.Voltage = 0;
|
|
||||||
data.Current = 0;
|
|
||||||
data.PeakCurrent = 0;
|
|
||||||
data.AvgCurrent = 0;
|
|
||||||
data.ConsumedEnergy = 0;
|
|
||||||
data.EstimatedFlightTime = 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
FlightBatteryState::DataFields FlightBatteryState::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void FlightBatteryState::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* FlightBatteryState::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
FlightBatteryState* obj = new FlightBatteryState();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
FlightBatteryState* FlightBatteryState::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<FlightBatteryState*>(objMngr->getObject(FlightBatteryState::OBJID, instID));
|
|
||||||
}
|
|
@ -1,131 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file flightplancontrol.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: flightplancontrol.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "flightplancontrol.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString FlightPlanControl::NAME = QString("FlightPlanControl");
|
|
||||||
const QString FlightPlanControl::DESCRIPTION = QString("Control the flight plan script");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
FlightPlanControl::FlightPlanControl(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList TestElemNames;
|
|
||||||
TestElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Test"), QString("%"), UAVObjectField::FLOAT32, TestElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata FlightPlanControl::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 1;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 1;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
|
||||||
metadata.loggingUpdatePeriod = 0;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void FlightPlanControl::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
FlightPlanControl::DataFields FlightPlanControl::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void FlightPlanControl::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* FlightPlanControl::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
FlightPlanControl* obj = new FlightPlanControl();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
FlightPlanControl* FlightPlanControl::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<FlightPlanControl*>(objMngr->getObject(FlightPlanControl::OBJID, instID));
|
|
||||||
}
|
|
@ -1,132 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file flightplansettings.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: flightplansettings.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "flightplansettings.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString FlightPlanSettings::NAME = QString("FlightPlanSettings");
|
|
||||||
const QString FlightPlanSettings::DESCRIPTION = QString("Settings for the flight plan module, control the execution of the script");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
FlightPlanSettings::FlightPlanSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList TestElemNames;
|
|
||||||
TestElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Test"), QString(""), UAVObjectField::FLOAT32, TestElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata FlightPlanSettings::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 1;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 1;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
|
||||||
metadata.loggingUpdatePeriod = 0;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void FlightPlanSettings::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
data.Test = 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
FlightPlanSettings::DataFields FlightPlanSettings::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void FlightPlanSettings::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* FlightPlanSettings::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
FlightPlanSettings* obj = new FlightPlanSettings();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
FlightPlanSettings* FlightPlanSettings::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<FlightPlanSettings*>(objMngr->getObject(FlightPlanSettings::OBJID, instID));
|
|
||||||
}
|
|
@ -1,154 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file flightplanstatus.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: flightplanstatus.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "flightplanstatus.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString FlightPlanStatus::NAME = QString("FlightPlanStatus");
|
|
||||||
const QString FlightPlanStatus::DESCRIPTION = QString("Status of the flight plan script");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
FlightPlanStatus::FlightPlanStatus(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList StatusElemNames;
|
|
||||||
StatusElemNames.append("0");
|
|
||||||
QStringList StatusEnumOptions;
|
|
||||||
StatusEnumOptions.append("None");
|
|
||||||
StatusEnumOptions.append("Running");
|
|
||||||
StatusEnumOptions.append("Idle");
|
|
||||||
StatusEnumOptions.append("VMInitError");
|
|
||||||
StatusEnumOptions.append("ScriptStartError");
|
|
||||||
StatusEnumOptions.append("RunTimeError");
|
|
||||||
fields.append( new UAVObjectField(QString("Status"), QString(""), UAVObjectField::ENUM, StatusElemNames, StatusEnumOptions) );
|
|
||||||
QStringList ErrorTypeElemNames;
|
|
||||||
ErrorTypeElemNames.append("0");
|
|
||||||
QStringList ErrorTypeEnumOptions;
|
|
||||||
ErrorTypeEnumOptions.append("None");
|
|
||||||
fields.append( new UAVObjectField(QString("ErrorType"), QString(""), UAVObjectField::ENUM, ErrorTypeElemNames, ErrorTypeEnumOptions) );
|
|
||||||
QStringList ErrorFileIDElemNames;
|
|
||||||
ErrorFileIDElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("ErrorFileID"), QString(""), UAVObjectField::UINT32, ErrorFileIDElemNames, QStringList()) );
|
|
||||||
QStringList ErrorLineNumElemNames;
|
|
||||||
ErrorLineNumElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("ErrorLineNum"), QString(""), UAVObjectField::UINT32, ErrorLineNumElemNames, QStringList()) );
|
|
||||||
QStringList DebugElemNames;
|
|
||||||
DebugElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Debug"), QString(""), UAVObjectField::FLOAT32, DebugElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata FlightPlanStatus::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 0;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 0;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 2000;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
|
||||||
metadata.loggingUpdatePeriod = 0;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void FlightPlanStatus::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
data.Status = 0;
|
|
||||||
data.ErrorType = 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
FlightPlanStatus::DataFields FlightPlanStatus::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void FlightPlanStatus::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* FlightPlanStatus::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
FlightPlanStatus* obj = new FlightPlanStatus();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
FlightPlanStatus* FlightPlanStatus::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<FlightPlanStatus*>(objMngr->getObject(FlightPlanStatus::OBJID, instID));
|
|
||||||
}
|
|
@ -1,151 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file flighttelemetrystats.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: flighttelemetrystats.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "flighttelemetrystats.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString FlightTelemetryStats::NAME = QString("FlightTelemetryStats");
|
|
||||||
const QString FlightTelemetryStats::DESCRIPTION = QString("Maintains the telemetry statistics from the OpenPilot flight computer.");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
FlightTelemetryStats::FlightTelemetryStats(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList StatusElemNames;
|
|
||||||
StatusElemNames.append("0");
|
|
||||||
QStringList StatusEnumOptions;
|
|
||||||
StatusEnumOptions.append("Disconnected");
|
|
||||||
StatusEnumOptions.append("HandshakeReq");
|
|
||||||
StatusEnumOptions.append("HandshakeAck");
|
|
||||||
StatusEnumOptions.append("Connected");
|
|
||||||
fields.append( new UAVObjectField(QString("Status"), QString(""), UAVObjectField::ENUM, StatusElemNames, StatusEnumOptions) );
|
|
||||||
QStringList TxDataRateElemNames;
|
|
||||||
TxDataRateElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("TxDataRate"), QString("bytes/sec"), UAVObjectField::FLOAT32, TxDataRateElemNames, QStringList()) );
|
|
||||||
QStringList RxDataRateElemNames;
|
|
||||||
RxDataRateElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("RxDataRate"), QString("bytes/sec"), UAVObjectField::FLOAT32, RxDataRateElemNames, QStringList()) );
|
|
||||||
QStringList TxFailuresElemNames;
|
|
||||||
TxFailuresElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("TxFailures"), QString("count"), UAVObjectField::UINT32, TxFailuresElemNames, QStringList()) );
|
|
||||||
QStringList RxFailuresElemNames;
|
|
||||||
RxFailuresElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("RxFailures"), QString("count"), UAVObjectField::UINT32, RxFailuresElemNames, QStringList()) );
|
|
||||||
QStringList TxRetriesElemNames;
|
|
||||||
TxRetriesElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("TxRetries"), QString("count"), UAVObjectField::UINT32, TxRetriesElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata FlightTelemetryStats::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 1;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 1;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 5000;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.loggingUpdatePeriod = 5000;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void FlightTelemetryStats::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
FlightTelemetryStats::DataFields FlightTelemetryStats::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void FlightTelemetryStats::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* FlightTelemetryStats::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
FlightTelemetryStats* obj = new FlightTelemetryStats();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
FlightTelemetryStats* FlightTelemetryStats::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<FlightTelemetryStats*>(objMngr->getObject(FlightTelemetryStats::OBJID, instID));
|
|
||||||
}
|
|
@ -1,151 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file gcstelemetrystats.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: gcstelemetrystats.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "gcstelemetrystats.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString GCSTelemetryStats::NAME = QString("GCSTelemetryStats");
|
|
||||||
const QString GCSTelemetryStats::DESCRIPTION = QString("The telemetry statistics from the ground computer");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
GCSTelemetryStats::GCSTelemetryStats(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList StatusElemNames;
|
|
||||||
StatusElemNames.append("0");
|
|
||||||
QStringList StatusEnumOptions;
|
|
||||||
StatusEnumOptions.append("Disconnected");
|
|
||||||
StatusEnumOptions.append("HandshakeReq");
|
|
||||||
StatusEnumOptions.append("HandshakeAck");
|
|
||||||
StatusEnumOptions.append("Connected");
|
|
||||||
fields.append( new UAVObjectField(QString("Status"), QString(""), UAVObjectField::ENUM, StatusElemNames, StatusEnumOptions) );
|
|
||||||
QStringList TxDataRateElemNames;
|
|
||||||
TxDataRateElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("TxDataRate"), QString("bytes/sec"), UAVObjectField::FLOAT32, TxDataRateElemNames, QStringList()) );
|
|
||||||
QStringList RxDataRateElemNames;
|
|
||||||
RxDataRateElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("RxDataRate"), QString("bytes/sec"), UAVObjectField::FLOAT32, RxDataRateElemNames, QStringList()) );
|
|
||||||
QStringList TxFailuresElemNames;
|
|
||||||
TxFailuresElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("TxFailures"), QString("count"), UAVObjectField::UINT32, TxFailuresElemNames, QStringList()) );
|
|
||||||
QStringList RxFailuresElemNames;
|
|
||||||
RxFailuresElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("RxFailures"), QString("count"), UAVObjectField::UINT32, RxFailuresElemNames, QStringList()) );
|
|
||||||
QStringList TxRetriesElemNames;
|
|
||||||
TxRetriesElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("TxRetries"), QString("count"), UAVObjectField::UINT32, TxRetriesElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata GCSTelemetryStats::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 1;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 5000;
|
|
||||||
metadata.flightTelemetryAcked = 1;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
|
||||||
metadata.loggingUpdatePeriod = 0;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void GCSTelemetryStats::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
GCSTelemetryStats::DataFields GCSTelemetryStats::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void GCSTelemetryStats::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* GCSTelemetryStats::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
GCSTelemetryStats* obj = new GCSTelemetryStats();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
GCSTelemetryStats* GCSTelemetryStats::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<GCSTelemetryStats*>(objMngr->getObject(GCSTelemetryStats::OBJID, instID));
|
|
||||||
}
|
|
@ -1,166 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file gpsposition.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: gpsposition.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "gpsposition.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString GPSPosition::NAME = QString("GPSPosition");
|
|
||||||
const QString GPSPosition::DESCRIPTION = QString("Future object for the raw GPS data from @ref GPSModule. Only should be used by @ref AHRSCommsModule.");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
GPSPosition::GPSPosition(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList StatusElemNames;
|
|
||||||
StatusElemNames.append("0");
|
|
||||||
QStringList StatusEnumOptions;
|
|
||||||
StatusEnumOptions.append("NoGPS");
|
|
||||||
StatusEnumOptions.append("NoFix");
|
|
||||||
StatusEnumOptions.append("Fix2D");
|
|
||||||
StatusEnumOptions.append("Fix3D");
|
|
||||||
fields.append( new UAVObjectField(QString("Status"), QString(""), UAVObjectField::ENUM, StatusElemNames, StatusEnumOptions) );
|
|
||||||
QStringList LatitudeElemNames;
|
|
||||||
LatitudeElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Latitude"), QString("degrees x 10^-7"), UAVObjectField::INT32, LatitudeElemNames, QStringList()) );
|
|
||||||
QStringList LongitudeElemNames;
|
|
||||||
LongitudeElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Longitude"), QString("degrees x 10^-7"), UAVObjectField::INT32, LongitudeElemNames, QStringList()) );
|
|
||||||
QStringList AltitudeElemNames;
|
|
||||||
AltitudeElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Altitude"), QString("meters"), UAVObjectField::FLOAT32, AltitudeElemNames, QStringList()) );
|
|
||||||
QStringList GeoidSeparationElemNames;
|
|
||||||
GeoidSeparationElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("GeoidSeparation"), QString("meters"), UAVObjectField::FLOAT32, GeoidSeparationElemNames, QStringList()) );
|
|
||||||
QStringList HeadingElemNames;
|
|
||||||
HeadingElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Heading"), QString("degrees"), UAVObjectField::FLOAT32, HeadingElemNames, QStringList()) );
|
|
||||||
QStringList GroundspeedElemNames;
|
|
||||||
GroundspeedElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Groundspeed"), QString("m/s"), UAVObjectField::FLOAT32, GroundspeedElemNames, QStringList()) );
|
|
||||||
QStringList SatellitesElemNames;
|
|
||||||
SatellitesElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Satellites"), QString(""), UAVObjectField::INT8, SatellitesElemNames, QStringList()) );
|
|
||||||
QStringList PDOPElemNames;
|
|
||||||
PDOPElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("PDOP"), QString(""), UAVObjectField::FLOAT32, PDOPElemNames, QStringList()) );
|
|
||||||
QStringList HDOPElemNames;
|
|
||||||
HDOPElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("HDOP"), QString(""), UAVObjectField::FLOAT32, HDOPElemNames, QStringList()) );
|
|
||||||
QStringList VDOPElemNames;
|
|
||||||
VDOPElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("VDOP"), QString(""), UAVObjectField::FLOAT32, VDOPElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata GPSPosition::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 0;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 0;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 1000;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.loggingUpdatePeriod = 1000;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void GPSPosition::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
GPSPosition::DataFields GPSPosition::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void GPSPosition::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* GPSPosition::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
GPSPosition* obj = new GPSPosition();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
GPSPosition* GPSPosition::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<GPSPosition*>(objMngr->getObject(GPSPosition::OBJID, instID));
|
|
||||||
}
|
|
@ -1,203 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file gpssatellites.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: gpssatellites.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "gpssatellites.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString GPSSatellites::NAME = QString("GPSSatellites");
|
|
||||||
const QString GPSSatellites::DESCRIPTION = QString("Contains information about the GPS satellites in view from @ref GPSModule.");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
GPSSatellites::GPSSatellites(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList SatsInViewElemNames;
|
|
||||||
SatsInViewElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("SatsInView"), QString(""), UAVObjectField::INT8, SatsInViewElemNames, QStringList()) );
|
|
||||||
QStringList PRNElemNames;
|
|
||||||
PRNElemNames.append("0");
|
|
||||||
PRNElemNames.append("1");
|
|
||||||
PRNElemNames.append("2");
|
|
||||||
PRNElemNames.append("3");
|
|
||||||
PRNElemNames.append("4");
|
|
||||||
PRNElemNames.append("5");
|
|
||||||
PRNElemNames.append("6");
|
|
||||||
PRNElemNames.append("7");
|
|
||||||
PRNElemNames.append("8");
|
|
||||||
PRNElemNames.append("9");
|
|
||||||
PRNElemNames.append("10");
|
|
||||||
PRNElemNames.append("11");
|
|
||||||
PRNElemNames.append("12");
|
|
||||||
PRNElemNames.append("13");
|
|
||||||
PRNElemNames.append("14");
|
|
||||||
PRNElemNames.append("15");
|
|
||||||
fields.append( new UAVObjectField(QString("PRN"), QString(""), UAVObjectField::INT8, PRNElemNames, QStringList()) );
|
|
||||||
QStringList ElevationElemNames;
|
|
||||||
ElevationElemNames.append("0");
|
|
||||||
ElevationElemNames.append("1");
|
|
||||||
ElevationElemNames.append("2");
|
|
||||||
ElevationElemNames.append("3");
|
|
||||||
ElevationElemNames.append("4");
|
|
||||||
ElevationElemNames.append("5");
|
|
||||||
ElevationElemNames.append("6");
|
|
||||||
ElevationElemNames.append("7");
|
|
||||||
ElevationElemNames.append("8");
|
|
||||||
ElevationElemNames.append("9");
|
|
||||||
ElevationElemNames.append("10");
|
|
||||||
ElevationElemNames.append("11");
|
|
||||||
ElevationElemNames.append("12");
|
|
||||||
ElevationElemNames.append("13");
|
|
||||||
ElevationElemNames.append("14");
|
|
||||||
ElevationElemNames.append("15");
|
|
||||||
fields.append( new UAVObjectField(QString("Elevation"), QString("degrees"), UAVObjectField::FLOAT32, ElevationElemNames, QStringList()) );
|
|
||||||
QStringList AzimuthElemNames;
|
|
||||||
AzimuthElemNames.append("0");
|
|
||||||
AzimuthElemNames.append("1");
|
|
||||||
AzimuthElemNames.append("2");
|
|
||||||
AzimuthElemNames.append("3");
|
|
||||||
AzimuthElemNames.append("4");
|
|
||||||
AzimuthElemNames.append("5");
|
|
||||||
AzimuthElemNames.append("6");
|
|
||||||
AzimuthElemNames.append("7");
|
|
||||||
AzimuthElemNames.append("8");
|
|
||||||
AzimuthElemNames.append("9");
|
|
||||||
AzimuthElemNames.append("10");
|
|
||||||
AzimuthElemNames.append("11");
|
|
||||||
AzimuthElemNames.append("12");
|
|
||||||
AzimuthElemNames.append("13");
|
|
||||||
AzimuthElemNames.append("14");
|
|
||||||
AzimuthElemNames.append("15");
|
|
||||||
fields.append( new UAVObjectField(QString("Azimuth"), QString("degrees"), UAVObjectField::FLOAT32, AzimuthElemNames, QStringList()) );
|
|
||||||
QStringList SNRElemNames;
|
|
||||||
SNRElemNames.append("0");
|
|
||||||
SNRElemNames.append("1");
|
|
||||||
SNRElemNames.append("2");
|
|
||||||
SNRElemNames.append("3");
|
|
||||||
SNRElemNames.append("4");
|
|
||||||
SNRElemNames.append("5");
|
|
||||||
SNRElemNames.append("6");
|
|
||||||
SNRElemNames.append("7");
|
|
||||||
SNRElemNames.append("8");
|
|
||||||
SNRElemNames.append("9");
|
|
||||||
SNRElemNames.append("10");
|
|
||||||
SNRElemNames.append("11");
|
|
||||||
SNRElemNames.append("12");
|
|
||||||
SNRElemNames.append("13");
|
|
||||||
SNRElemNames.append("14");
|
|
||||||
SNRElemNames.append("15");
|
|
||||||
fields.append( new UAVObjectField(QString("SNR"), QString(""), UAVObjectField::INT8, SNRElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata GPSSatellites::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 0;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 0;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 10000;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.loggingUpdatePeriod = 30000;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void GPSSatellites::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
GPSSatellites::DataFields GPSSatellites::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void GPSSatellites::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* GPSSatellites::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
GPSSatellites* obj = new GPSSatellites();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
GPSSatellites* GPSSatellites::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<GPSSatellites*>(objMngr->getObject(GPSSatellites::OBJID, instID));
|
|
||||||
}
|
|
@ -1,146 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file gpstime.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: gpstime.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "gpstime.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString GPSTime::NAME = QString("GPSTime");
|
|
||||||
const QString GPSTime::DESCRIPTION = QString("Contains the GPS time from @ref GPSModule. Required to compute the world magnetic model correctly when setting the home location.");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
GPSTime::GPSTime(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList MonthElemNames;
|
|
||||||
MonthElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Month"), QString(""), UAVObjectField::INT8, MonthElemNames, QStringList()) );
|
|
||||||
QStringList DayElemNames;
|
|
||||||
DayElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Day"), QString(""), UAVObjectField::INT8, DayElemNames, QStringList()) );
|
|
||||||
QStringList YearElemNames;
|
|
||||||
YearElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Year"), QString(""), UAVObjectField::INT16, YearElemNames, QStringList()) );
|
|
||||||
QStringList HourElemNames;
|
|
||||||
HourElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Hour"), QString(""), UAVObjectField::INT8, HourElemNames, QStringList()) );
|
|
||||||
QStringList MinuteElemNames;
|
|
||||||
MinuteElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Minute"), QString(""), UAVObjectField::INT8, MinuteElemNames, QStringList()) );
|
|
||||||
QStringList SecondElemNames;
|
|
||||||
SecondElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Second"), QString(""), UAVObjectField::INT8, SecondElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata GPSTime::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 0;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 0;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 10000;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.loggingUpdatePeriod = 30000;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void GPSTime::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
GPSTime::DataFields GPSTime::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void GPSTime::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* GPSTime::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
GPSTime* obj = new GPSTime();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
GPSTime* GPSTime::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<GPSTime*>(objMngr->getObject(GPSTime::OBJID, instID));
|
|
||||||
}
|
|
@ -1,192 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file guidancesettings.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: guidancesettings.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "guidancesettings.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString GuidanceSettings::NAME = QString("GuidanceSettings");
|
|
||||||
const QString GuidanceSettings::DESCRIPTION = QString("Settings for the @ref GuidanceModule");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
GuidanceSettings::GuidanceSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList GuidanceModeElemNames;
|
|
||||||
GuidanceModeElemNames.append("0");
|
|
||||||
QStringList GuidanceModeEnumOptions;
|
|
||||||
GuidanceModeEnumOptions.append("DUAL_LOOP");
|
|
||||||
GuidanceModeEnumOptions.append("VELOCITY_CONTROL");
|
|
||||||
GuidanceModeEnumOptions.append("POSITION_PID");
|
|
||||||
fields.append( new UAVObjectField(QString("GuidanceMode"), QString(""), UAVObjectField::ENUM, GuidanceModeElemNames, GuidanceModeEnumOptions) );
|
|
||||||
QStringList MaxGroundspeedElemNames;
|
|
||||||
MaxGroundspeedElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("MaxGroundspeed"), QString("cm/s"), UAVObjectField::INT32, MaxGroundspeedElemNames, QStringList()) );
|
|
||||||
QStringList GroundVelocityPElemNames;
|
|
||||||
GroundVelocityPElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("GroundVelocityP"), QString(""), UAVObjectField::FLOAT32, GroundVelocityPElemNames, QStringList()) );
|
|
||||||
QStringList MaxVerticalSpeedElemNames;
|
|
||||||
MaxVerticalSpeedElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("MaxVerticalSpeed"), QString("cm/s"), UAVObjectField::INT32, MaxVerticalSpeedElemNames, QStringList()) );
|
|
||||||
QStringList VertVelocityPElemNames;
|
|
||||||
VertVelocityPElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("VertVelocityP"), QString(""), UAVObjectField::FLOAT32, VertVelocityPElemNames, QStringList()) );
|
|
||||||
QStringList VelPElemNames;
|
|
||||||
VelPElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("VelP"), QString(""), UAVObjectField::FLOAT32, VelPElemNames, QStringList()) );
|
|
||||||
QStringList VelIElemNames;
|
|
||||||
VelIElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("VelI"), QString(""), UAVObjectField::FLOAT32, VelIElemNames, QStringList()) );
|
|
||||||
QStringList VelDElemNames;
|
|
||||||
VelDElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("VelD"), QString(""), UAVObjectField::FLOAT32, VelDElemNames, QStringList()) );
|
|
||||||
QStringList DownPElemNames;
|
|
||||||
DownPElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("DownP"), QString(""), UAVObjectField::FLOAT32, DownPElemNames, QStringList()) );
|
|
||||||
QStringList DownIElemNames;
|
|
||||||
DownIElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("DownI"), QString(""), UAVObjectField::FLOAT32, DownIElemNames, QStringList()) );
|
|
||||||
QStringList DownDElemNames;
|
|
||||||
DownDElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("DownD"), QString(""), UAVObjectField::FLOAT32, DownDElemNames, QStringList()) );
|
|
||||||
QStringList MaxVelIntegralElemNames;
|
|
||||||
MaxVelIntegralElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("MaxVelIntegral"), QString("deg"), UAVObjectField::FLOAT32, MaxVelIntegralElemNames, QStringList()) );
|
|
||||||
QStringList MaxThrottleIntegralElemNames;
|
|
||||||
MaxThrottleIntegralElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("MaxThrottleIntegral"), QString("deg"), UAVObjectField::FLOAT32, MaxThrottleIntegralElemNames, QStringList()) );
|
|
||||||
QStringList VelUpdatePeriodElemNames;
|
|
||||||
VelUpdatePeriodElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("VelUpdatePeriod"), QString(""), UAVObjectField::INT32, VelUpdatePeriodElemNames, QStringList()) );
|
|
||||||
QStringList VelPIDUpdatePeriodElemNames;
|
|
||||||
VelPIDUpdatePeriodElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("VelPIDUpdatePeriod"), QString(""), UAVObjectField::INT32, VelPIDUpdatePeriodElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata GuidanceSettings::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 1;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 1;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
|
||||||
metadata.loggingUpdatePeriod = 0;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void GuidanceSettings::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
data.GuidanceMode = 0;
|
|
||||||
data.MaxGroundspeed = 100;
|
|
||||||
data.GroundVelocityP = 0.1;
|
|
||||||
data.MaxVerticalSpeed = 100;
|
|
||||||
data.VertVelocityP = 0.1;
|
|
||||||
data.VelP = 0.1;
|
|
||||||
data.VelI = 0.1;
|
|
||||||
data.VelD = 0;
|
|
||||||
data.DownP = 0;
|
|
||||||
data.DownI = 0;
|
|
||||||
data.DownD = 0;
|
|
||||||
data.MaxVelIntegral = 2;
|
|
||||||
data.MaxThrottleIntegral = 1;
|
|
||||||
data.VelUpdatePeriod = 100;
|
|
||||||
data.VelPIDUpdatePeriod = 20;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
GuidanceSettings::DataFields GuidanceSettings::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void GuidanceSettings::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* GuidanceSettings::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
GuidanceSettings* obj = new GuidanceSettings();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
GuidanceSettings* GuidanceSettings::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<GuidanceSettings*>(objMngr->getObject(GuidanceSettings::OBJID, instID));
|
|
||||||
}
|
|
@ -1,183 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file homelocation.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: homelocation.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "homelocation.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString HomeLocation::NAME = QString("HomeLocation");
|
|
||||||
const QString HomeLocation::DESCRIPTION = QString("HomeLocation setting which contains the constants to tranlate from longitutde and latitude to NED reference frame. Automatically set by @ref GPSModule after acquiring a 3D lock. Used by @ref AHRSCommsModule.");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
HomeLocation::HomeLocation(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList SetElemNames;
|
|
||||||
SetElemNames.append("0");
|
|
||||||
QStringList SetEnumOptions;
|
|
||||||
SetEnumOptions.append("FALSE");
|
|
||||||
SetEnumOptions.append("TRUE");
|
|
||||||
fields.append( new UAVObjectField(QString("Set"), QString(""), UAVObjectField::ENUM, SetElemNames, SetEnumOptions) );
|
|
||||||
QStringList LatitudeElemNames;
|
|
||||||
LatitudeElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Latitude"), QString("deg * 10e6"), UAVObjectField::INT32, LatitudeElemNames, QStringList()) );
|
|
||||||
QStringList LongitudeElemNames;
|
|
||||||
LongitudeElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Longitude"), QString("deg * 10e6"), UAVObjectField::INT32, LongitudeElemNames, QStringList()) );
|
|
||||||
QStringList AltitudeElemNames;
|
|
||||||
AltitudeElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Altitude"), QString("m over geoid"), UAVObjectField::FLOAT32, AltitudeElemNames, QStringList()) );
|
|
||||||
QStringList ECEFElemNames;
|
|
||||||
ECEFElemNames.append("0");
|
|
||||||
ECEFElemNames.append("1");
|
|
||||||
ECEFElemNames.append("2");
|
|
||||||
fields.append( new UAVObjectField(QString("ECEF"), QString("cm"), UAVObjectField::INT32, ECEFElemNames, QStringList()) );
|
|
||||||
QStringList RNEElemNames;
|
|
||||||
RNEElemNames.append("0");
|
|
||||||
RNEElemNames.append("1");
|
|
||||||
RNEElemNames.append("2");
|
|
||||||
RNEElemNames.append("3");
|
|
||||||
RNEElemNames.append("4");
|
|
||||||
RNEElemNames.append("5");
|
|
||||||
RNEElemNames.append("6");
|
|
||||||
RNEElemNames.append("7");
|
|
||||||
RNEElemNames.append("8");
|
|
||||||
fields.append( new UAVObjectField(QString("RNE"), QString(""), UAVObjectField::FLOAT32, RNEElemNames, QStringList()) );
|
|
||||||
QStringList BeElemNames;
|
|
||||||
BeElemNames.append("0");
|
|
||||||
BeElemNames.append("1");
|
|
||||||
BeElemNames.append("2");
|
|
||||||
fields.append( new UAVObjectField(QString("Be"), QString(""), UAVObjectField::FLOAT32, BeElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata HomeLocation::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 1;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 1;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
|
||||||
metadata.loggingUpdatePeriod = 0;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void HomeLocation::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
data.Set = 0;
|
|
||||||
data.Latitude = 0;
|
|
||||||
data.Longitude = 0;
|
|
||||||
data.Altitude = 0;
|
|
||||||
data.ECEF[0] = 0;
|
|
||||||
data.ECEF[1] = 0;
|
|
||||||
data.ECEF[2] = 0;
|
|
||||||
data.RNE[0] = 0;
|
|
||||||
data.RNE[1] = 0;
|
|
||||||
data.RNE[2] = 0;
|
|
||||||
data.RNE[3] = 0;
|
|
||||||
data.RNE[4] = 0;
|
|
||||||
data.RNE[5] = 0;
|
|
||||||
data.RNE[6] = 0;
|
|
||||||
data.RNE[7] = 0;
|
|
||||||
data.RNE[8] = 0;
|
|
||||||
data.Be[0] = 0;
|
|
||||||
data.Be[1] = 0;
|
|
||||||
data.Be[2] = 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
HomeLocation::DataFields HomeLocation::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void HomeLocation::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* HomeLocation::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
HomeLocation* obj = new HomeLocation();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
HomeLocation* HomeLocation::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<HomeLocation*>(objMngr->getObject(HomeLocation::OBJID, instID));
|
|
||||||
}
|
|
@ -1,215 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file i2cstats.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: i2cstats.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "i2cstats.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString I2CStats::NAME = QString("I2CStats");
|
|
||||||
const QString I2CStats::DESCRIPTION = QString("Tracks statistics on the I2C bus.");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
I2CStats::I2CStats(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList event_errorsElemNames;
|
|
||||||
event_errorsElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("event_errors"), QString(""), UAVObjectField::UINT16, event_errorsElemNames, QStringList()) );
|
|
||||||
QStringList fsm_errorsElemNames;
|
|
||||||
fsm_errorsElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("fsm_errors"), QString(""), UAVObjectField::UINT16, fsm_errorsElemNames, QStringList()) );
|
|
||||||
QStringList irq_errorsElemNames;
|
|
||||||
irq_errorsElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("irq_errors"), QString(""), UAVObjectField::UINT16, irq_errorsElemNames, QStringList()) );
|
|
||||||
QStringList last_error_typeElemNames;
|
|
||||||
last_error_typeElemNames.append("0");
|
|
||||||
QStringList last_error_typeEnumOptions;
|
|
||||||
last_error_typeEnumOptions.append("EVENT");
|
|
||||||
last_error_typeEnumOptions.append("FSM");
|
|
||||||
last_error_typeEnumOptions.append("INTERRUPT");
|
|
||||||
fields.append( new UAVObjectField(QString("last_error_type"), QString(""), UAVObjectField::ENUM, last_error_typeElemNames, last_error_typeEnumOptions) );
|
|
||||||
QStringList evirq_logElemNames;
|
|
||||||
evirq_logElemNames.append("0");
|
|
||||||
evirq_logElemNames.append("1");
|
|
||||||
evirq_logElemNames.append("2");
|
|
||||||
evirq_logElemNames.append("3");
|
|
||||||
evirq_logElemNames.append("4");
|
|
||||||
fields.append( new UAVObjectField(QString("evirq_log"), QString(""), UAVObjectField::UINT32, evirq_logElemNames, QStringList()) );
|
|
||||||
QStringList erirq_logElemNames;
|
|
||||||
erirq_logElemNames.append("0");
|
|
||||||
erirq_logElemNames.append("1");
|
|
||||||
erirq_logElemNames.append("2");
|
|
||||||
erirq_logElemNames.append("3");
|
|
||||||
erirq_logElemNames.append("4");
|
|
||||||
fields.append( new UAVObjectField(QString("erirq_log"), QString(""), UAVObjectField::UINT32, erirq_logElemNames, QStringList()) );
|
|
||||||
QStringList event_logElemNames;
|
|
||||||
event_logElemNames.append("0");
|
|
||||||
event_logElemNames.append("1");
|
|
||||||
event_logElemNames.append("2");
|
|
||||||
event_logElemNames.append("3");
|
|
||||||
event_logElemNames.append("4");
|
|
||||||
QStringList event_logEnumOptions;
|
|
||||||
event_logEnumOptions.append("I2C_EVENT_BUS_ERROR");
|
|
||||||
event_logEnumOptions.append("I2C_EVENT_START");
|
|
||||||
event_logEnumOptions.append("I2C_EVENT_STARTED_MORE_TXN_READ");
|
|
||||||
event_logEnumOptions.append("I2C_EVENT_STARTED_MORE_TXN_WRITE");
|
|
||||||
event_logEnumOptions.append("I2C_EVENT_STARTED_LAST_TXN_READ");
|
|
||||||
event_logEnumOptions.append("I2C_EVENT_STARTED_LAST_TXN_WRITE");
|
|
||||||
event_logEnumOptions.append("I2C_EVENT_ADDR_SENT_LEN_EQ_0");
|
|
||||||
event_logEnumOptions.append("I2C_EVENT_ADDR_SENT_LEN_EQ_1");
|
|
||||||
event_logEnumOptions.append("I2C_EVENT_ADDR_SENT_LEN_EQ_2");
|
|
||||||
event_logEnumOptions.append("I2C_EVENT_ADDR_SENT_LEN_GT_2");
|
|
||||||
event_logEnumOptions.append("I2C_EVENT_TRANSFER_DONE_LEN_EQ_0");
|
|
||||||
event_logEnumOptions.append("I2C_EVENT_TRANSFER_DONE_LEN_EQ_1");
|
|
||||||
event_logEnumOptions.append("I2C_EVENT_TRANSFER_DONE_LEN_EQ_2");
|
|
||||||
event_logEnumOptions.append("I2C_EVENT_TRANSFER_DONE_LEN_GT_2");
|
|
||||||
event_logEnumOptions.append("I2C_EVENT_NACK");
|
|
||||||
event_logEnumOptions.append("I2C_EVENT_STOPPED");
|
|
||||||
event_logEnumOptions.append("I2C_EVENT_AUTO");
|
|
||||||
fields.append( new UAVObjectField(QString("event_log"), QString(""), UAVObjectField::ENUM, event_logElemNames, event_logEnumOptions) );
|
|
||||||
QStringList state_logElemNames;
|
|
||||||
state_logElemNames.append("0");
|
|
||||||
state_logElemNames.append("1");
|
|
||||||
state_logElemNames.append("2");
|
|
||||||
state_logElemNames.append("3");
|
|
||||||
state_logElemNames.append("4");
|
|
||||||
QStringList state_logEnumOptions;
|
|
||||||
state_logEnumOptions.append("I2C_STATE_FSM_FAULT");
|
|
||||||
state_logEnumOptions.append("I2C_STATE_BUS_ERROR");
|
|
||||||
state_logEnumOptions.append("I2C_STATE_STOPPED");
|
|
||||||
state_logEnumOptions.append("I2C_STATE_STOPPING");
|
|
||||||
state_logEnumOptions.append("I2C_STATE_STARTING");
|
|
||||||
state_logEnumOptions.append("I2C_STATE_R_MORE_TXN_ADDR");
|
|
||||||
state_logEnumOptions.append("I2C_STATE_R_MORE_TXN_PRE_ONE");
|
|
||||||
state_logEnumOptions.append("I2C_STATE_R_MORE_TXN_PRE_FIRST");
|
|
||||||
state_logEnumOptions.append("I2C_STATE_R_MORE_TXN_PRE_MIDDLE");
|
|
||||||
state_logEnumOptions.append("I2C_STATE_R_MORE_TXN_LAST");
|
|
||||||
state_logEnumOptions.append("I2C_STATE_R_MORE_TXN_POST_LAST");
|
|
||||||
state_logEnumOptions.append("R_LAST_TXN_ADDR");
|
|
||||||
state_logEnumOptions.append("I2C_STATE_R_LAST_TXN_PRE_ONE");
|
|
||||||
state_logEnumOptions.append("I2C_STATE_R_LAST_TXN_PRE_FIRST");
|
|
||||||
state_logEnumOptions.append("I2C_STATE_R_LAST_TXN_PRE_MIDDLE");
|
|
||||||
state_logEnumOptions.append("I2C_STATE_R_LAST_TXN_PRE_LAST");
|
|
||||||
state_logEnumOptions.append("I2C_STATE_R_LAST_TXN_POST_LAST");
|
|
||||||
state_logEnumOptions.append("I2C_STATE_W_MORE_TXN_ADDR");
|
|
||||||
state_logEnumOptions.append("I2C_STATE_W_MORE_TXN_MIDDLE");
|
|
||||||
state_logEnumOptions.append("I2C_STATE_W_MORE_TXN_LAST");
|
|
||||||
state_logEnumOptions.append("I2C_STATE_W_LAST_TXN_ADDR");
|
|
||||||
state_logEnumOptions.append("I2C_STATE_W_LAST_TXN_MIDDLE");
|
|
||||||
state_logEnumOptions.append("I2C_STATE_W_LAST_TXN_LAST");
|
|
||||||
state_logEnumOptions.append("I2C_STATE_NACK");
|
|
||||||
fields.append( new UAVObjectField(QString("state_log"), QString(""), UAVObjectField::ENUM, state_logElemNames, state_logEnumOptions) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata I2CStats::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 0;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 0;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 10000;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.loggingUpdatePeriod = 30000;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void I2CStats::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
I2CStats::DataFields I2CStats::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void I2CStats::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* I2CStats::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
I2CStats* obj = new I2CStats();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
I2CStats* I2CStats::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<I2CStats*>(objMngr->getObject(I2CStats::OBJID, instID));
|
|
||||||
}
|
|
@ -1,187 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file manualcontrolcommand.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: manualcontrolcommand.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "manualcontrolcommand.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString ManualControlCommand::NAME = QString("ManualControlCommand");
|
|
||||||
const QString ManualControlCommand::DESCRIPTION = QString("The output from the @ref ManualControlModule which descodes the receiver inputs. Overriden by GCS for fly-by-wire control.");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
ManualControlCommand::ManualControlCommand(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList ConnectedElemNames;
|
|
||||||
ConnectedElemNames.append("0");
|
|
||||||
QStringList ConnectedEnumOptions;
|
|
||||||
ConnectedEnumOptions.append("False");
|
|
||||||
ConnectedEnumOptions.append("True");
|
|
||||||
fields.append( new UAVObjectField(QString("Connected"), QString(""), UAVObjectField::ENUM, ConnectedElemNames, ConnectedEnumOptions) );
|
|
||||||
QStringList ArmedElemNames;
|
|
||||||
ArmedElemNames.append("0");
|
|
||||||
QStringList ArmedEnumOptions;
|
|
||||||
ArmedEnumOptions.append("False");
|
|
||||||
ArmedEnumOptions.append("True");
|
|
||||||
fields.append( new UAVObjectField(QString("Armed"), QString(""), UAVObjectField::ENUM, ArmedElemNames, ArmedEnumOptions) );
|
|
||||||
QStringList RollElemNames;
|
|
||||||
RollElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Roll"), QString("%"), UAVObjectField::FLOAT32, RollElemNames, QStringList()) );
|
|
||||||
QStringList PitchElemNames;
|
|
||||||
PitchElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Pitch"), QString("%"), UAVObjectField::FLOAT32, PitchElemNames, QStringList()) );
|
|
||||||
QStringList YawElemNames;
|
|
||||||
YawElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Yaw"), QString("%"), UAVObjectField::FLOAT32, YawElemNames, QStringList()) );
|
|
||||||
QStringList ThrottleElemNames;
|
|
||||||
ThrottleElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Throttle"), QString("%"), UAVObjectField::FLOAT32, ThrottleElemNames, QStringList()) );
|
|
||||||
QStringList FlightModeElemNames;
|
|
||||||
FlightModeElemNames.append("0");
|
|
||||||
QStringList FlightModeEnumOptions;
|
|
||||||
FlightModeEnumOptions.append("Manual");
|
|
||||||
FlightModeEnumOptions.append("Stabilized");
|
|
||||||
FlightModeEnumOptions.append("Auto");
|
|
||||||
fields.append( new UAVObjectField(QString("FlightMode"), QString(""), UAVObjectField::ENUM, FlightModeElemNames, FlightModeEnumOptions) );
|
|
||||||
QStringList StabilizationSettingsElemNames;
|
|
||||||
StabilizationSettingsElemNames.append("Roll");
|
|
||||||
StabilizationSettingsElemNames.append("Pitch");
|
|
||||||
StabilizationSettingsElemNames.append("Yaw");
|
|
||||||
QStringList StabilizationSettingsEnumOptions;
|
|
||||||
StabilizationSettingsEnumOptions.append("None");
|
|
||||||
StabilizationSettingsEnumOptions.append("Rate");
|
|
||||||
StabilizationSettingsEnumOptions.append("Attitude");
|
|
||||||
fields.append( new UAVObjectField(QString("StabilizationSettings"), QString(""), UAVObjectField::ENUM, StabilizationSettingsElemNames, StabilizationSettingsEnumOptions) );
|
|
||||||
QStringList Accessory1ElemNames;
|
|
||||||
Accessory1ElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Accessory1"), QString("%"), UAVObjectField::FLOAT32, Accessory1ElemNames, QStringList()) );
|
|
||||||
QStringList Accessory2ElemNames;
|
|
||||||
Accessory2ElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Accessory2"), QString("%"), UAVObjectField::FLOAT32, Accessory2ElemNames, QStringList()) );
|
|
||||||
QStringList Accessory3ElemNames;
|
|
||||||
Accessory3ElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Accessory3"), QString("%"), UAVObjectField::FLOAT32, Accessory3ElemNames, QStringList()) );
|
|
||||||
QStringList ChannelElemNames;
|
|
||||||
ChannelElemNames.append("0");
|
|
||||||
ChannelElemNames.append("1");
|
|
||||||
ChannelElemNames.append("2");
|
|
||||||
ChannelElemNames.append("3");
|
|
||||||
ChannelElemNames.append("4");
|
|
||||||
ChannelElemNames.append("5");
|
|
||||||
ChannelElemNames.append("6");
|
|
||||||
ChannelElemNames.append("7");
|
|
||||||
fields.append( new UAVObjectField(QString("Channel"), QString("us"), UAVObjectField::INT16, ChannelElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata ManualControlCommand::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 0;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 0;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 2000;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
|
||||||
metadata.loggingUpdatePeriod = 0;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void ManualControlCommand::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
ManualControlCommand::DataFields ManualControlCommand::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void ManualControlCommand::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* ManualControlCommand::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
ManualControlCommand* obj = new ManualControlCommand();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
ManualControlCommand* ManualControlCommand::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<ManualControlCommand*>(objMngr->getObject(ManualControlCommand::OBJID, instID));
|
|
||||||
}
|
|
@ -1,366 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file manualcontrolsettings.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: manualcontrolsettings.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "manualcontrolsettings.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString ManualControlSettings::NAME = QString("ManualControlSettings");
|
|
||||||
const QString ManualControlSettings::DESCRIPTION = QString("Settings to indicate how to decode receiver input by @ref ManualControlModule.");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
ManualControlSettings::ManualControlSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList InputModeElemNames;
|
|
||||||
InputModeElemNames.append("0");
|
|
||||||
QStringList InputModeEnumOptions;
|
|
||||||
InputModeEnumOptions.append("PWM");
|
|
||||||
InputModeEnumOptions.append("PPM");
|
|
||||||
InputModeEnumOptions.append("Spektrum");
|
|
||||||
fields.append( new UAVObjectField(QString("InputMode"), QString(""), UAVObjectField::ENUM, InputModeElemNames, InputModeEnumOptions) );
|
|
||||||
QStringList RollElemNames;
|
|
||||||
RollElemNames.append("0");
|
|
||||||
QStringList RollEnumOptions;
|
|
||||||
RollEnumOptions.append("Channel1");
|
|
||||||
RollEnumOptions.append("Channel2");
|
|
||||||
RollEnumOptions.append("Channel3");
|
|
||||||
RollEnumOptions.append("Channel4");
|
|
||||||
RollEnumOptions.append("Channel5");
|
|
||||||
RollEnumOptions.append("Channel6");
|
|
||||||
RollEnumOptions.append("Channel7");
|
|
||||||
RollEnumOptions.append("Channel8");
|
|
||||||
RollEnumOptions.append("None");
|
|
||||||
fields.append( new UAVObjectField(QString("Roll"), QString("channel"), UAVObjectField::ENUM, RollElemNames, RollEnumOptions) );
|
|
||||||
QStringList PitchElemNames;
|
|
||||||
PitchElemNames.append("0");
|
|
||||||
QStringList PitchEnumOptions;
|
|
||||||
PitchEnumOptions.append("Channel1");
|
|
||||||
PitchEnumOptions.append("Channel2");
|
|
||||||
PitchEnumOptions.append("Channel3");
|
|
||||||
PitchEnumOptions.append("Channel4");
|
|
||||||
PitchEnumOptions.append("Channel5");
|
|
||||||
PitchEnumOptions.append("Channel6");
|
|
||||||
PitchEnumOptions.append("Channel7");
|
|
||||||
PitchEnumOptions.append("Channel8");
|
|
||||||
PitchEnumOptions.append("None");
|
|
||||||
fields.append( new UAVObjectField(QString("Pitch"), QString("channel"), UAVObjectField::ENUM, PitchElemNames, PitchEnumOptions) );
|
|
||||||
QStringList YawElemNames;
|
|
||||||
YawElemNames.append("0");
|
|
||||||
QStringList YawEnumOptions;
|
|
||||||
YawEnumOptions.append("Channel1");
|
|
||||||
YawEnumOptions.append("Channel2");
|
|
||||||
YawEnumOptions.append("Channel3");
|
|
||||||
YawEnumOptions.append("Channel4");
|
|
||||||
YawEnumOptions.append("Channel5");
|
|
||||||
YawEnumOptions.append("Channel6");
|
|
||||||
YawEnumOptions.append("Channel7");
|
|
||||||
YawEnumOptions.append("Channel8");
|
|
||||||
YawEnumOptions.append("None");
|
|
||||||
fields.append( new UAVObjectField(QString("Yaw"), QString("channel"), UAVObjectField::ENUM, YawElemNames, YawEnumOptions) );
|
|
||||||
QStringList ThrottleElemNames;
|
|
||||||
ThrottleElemNames.append("0");
|
|
||||||
QStringList ThrottleEnumOptions;
|
|
||||||
ThrottleEnumOptions.append("Channel1");
|
|
||||||
ThrottleEnumOptions.append("Channel2");
|
|
||||||
ThrottleEnumOptions.append("Channel3");
|
|
||||||
ThrottleEnumOptions.append("Channel4");
|
|
||||||
ThrottleEnumOptions.append("Channel5");
|
|
||||||
ThrottleEnumOptions.append("Channel6");
|
|
||||||
ThrottleEnumOptions.append("Channel7");
|
|
||||||
ThrottleEnumOptions.append("Channel8");
|
|
||||||
ThrottleEnumOptions.append("None");
|
|
||||||
fields.append( new UAVObjectField(QString("Throttle"), QString("channel"), UAVObjectField::ENUM, ThrottleElemNames, ThrottleEnumOptions) );
|
|
||||||
QStringList FlightModeElemNames;
|
|
||||||
FlightModeElemNames.append("0");
|
|
||||||
QStringList FlightModeEnumOptions;
|
|
||||||
FlightModeEnumOptions.append("Channel1");
|
|
||||||
FlightModeEnumOptions.append("Channel2");
|
|
||||||
FlightModeEnumOptions.append("Channel3");
|
|
||||||
FlightModeEnumOptions.append("Channel4");
|
|
||||||
FlightModeEnumOptions.append("Channel5");
|
|
||||||
FlightModeEnumOptions.append("Channel6");
|
|
||||||
FlightModeEnumOptions.append("Channel7");
|
|
||||||
FlightModeEnumOptions.append("Channel8");
|
|
||||||
FlightModeEnumOptions.append("None");
|
|
||||||
fields.append( new UAVObjectField(QString("FlightMode"), QString("channel"), UAVObjectField::ENUM, FlightModeElemNames, FlightModeEnumOptions) );
|
|
||||||
QStringList Accessory1ElemNames;
|
|
||||||
Accessory1ElemNames.append("0");
|
|
||||||
QStringList Accessory1EnumOptions;
|
|
||||||
Accessory1EnumOptions.append("Channel1");
|
|
||||||
Accessory1EnumOptions.append("Channel2");
|
|
||||||
Accessory1EnumOptions.append("Channel3");
|
|
||||||
Accessory1EnumOptions.append("Channel4");
|
|
||||||
Accessory1EnumOptions.append("Channel5");
|
|
||||||
Accessory1EnumOptions.append("Channel6");
|
|
||||||
Accessory1EnumOptions.append("Channel7");
|
|
||||||
Accessory1EnumOptions.append("Channel8");
|
|
||||||
Accessory1EnumOptions.append("None");
|
|
||||||
fields.append( new UAVObjectField(QString("Accessory1"), QString("channel"), UAVObjectField::ENUM, Accessory1ElemNames, Accessory1EnumOptions) );
|
|
||||||
QStringList Accessory2ElemNames;
|
|
||||||
Accessory2ElemNames.append("0");
|
|
||||||
QStringList Accessory2EnumOptions;
|
|
||||||
Accessory2EnumOptions.append("Channel1");
|
|
||||||
Accessory2EnumOptions.append("Channel2");
|
|
||||||
Accessory2EnumOptions.append("Channel3");
|
|
||||||
Accessory2EnumOptions.append("Channel4");
|
|
||||||
Accessory2EnumOptions.append("Channel5");
|
|
||||||
Accessory2EnumOptions.append("Channel6");
|
|
||||||
Accessory2EnumOptions.append("Channel7");
|
|
||||||
Accessory2EnumOptions.append("Channel8");
|
|
||||||
Accessory2EnumOptions.append("None");
|
|
||||||
fields.append( new UAVObjectField(QString("Accessory2"), QString("channel"), UAVObjectField::ENUM, Accessory2ElemNames, Accessory2EnumOptions) );
|
|
||||||
QStringList Accessory3ElemNames;
|
|
||||||
Accessory3ElemNames.append("0");
|
|
||||||
QStringList Accessory3EnumOptions;
|
|
||||||
Accessory3EnumOptions.append("Channel1");
|
|
||||||
Accessory3EnumOptions.append("Channel2");
|
|
||||||
Accessory3EnumOptions.append("Channel3");
|
|
||||||
Accessory3EnumOptions.append("Channel4");
|
|
||||||
Accessory3EnumOptions.append("Channel5");
|
|
||||||
Accessory3EnumOptions.append("Channel6");
|
|
||||||
Accessory3EnumOptions.append("Channel7");
|
|
||||||
Accessory3EnumOptions.append("Channel8");
|
|
||||||
Accessory3EnumOptions.append("None");
|
|
||||||
fields.append( new UAVObjectField(QString("Accessory3"), QString("channel"), UAVObjectField::ENUM, Accessory3ElemNames, Accessory3EnumOptions) );
|
|
||||||
QStringList Pos1StabilizationSettingsElemNames;
|
|
||||||
Pos1StabilizationSettingsElemNames.append("Roll");
|
|
||||||
Pos1StabilizationSettingsElemNames.append("Pitch");
|
|
||||||
Pos1StabilizationSettingsElemNames.append("Yaw");
|
|
||||||
QStringList Pos1StabilizationSettingsEnumOptions;
|
|
||||||
Pos1StabilizationSettingsEnumOptions.append("None");
|
|
||||||
Pos1StabilizationSettingsEnumOptions.append("Rate");
|
|
||||||
Pos1StabilizationSettingsEnumOptions.append("Attitude");
|
|
||||||
fields.append( new UAVObjectField(QString("Pos1StabilizationSettings"), QString(""), UAVObjectField::ENUM, Pos1StabilizationSettingsElemNames, Pos1StabilizationSettingsEnumOptions) );
|
|
||||||
QStringList Pos2StabilizationSettingsElemNames;
|
|
||||||
Pos2StabilizationSettingsElemNames.append("Roll");
|
|
||||||
Pos2StabilizationSettingsElemNames.append("Pitch");
|
|
||||||
Pos2StabilizationSettingsElemNames.append("Yaw");
|
|
||||||
QStringList Pos2StabilizationSettingsEnumOptions;
|
|
||||||
Pos2StabilizationSettingsEnumOptions.append("None");
|
|
||||||
Pos2StabilizationSettingsEnumOptions.append("Rate");
|
|
||||||
Pos2StabilizationSettingsEnumOptions.append("Attitude");
|
|
||||||
fields.append( new UAVObjectField(QString("Pos2StabilizationSettings"), QString(""), UAVObjectField::ENUM, Pos2StabilizationSettingsElemNames, Pos2StabilizationSettingsEnumOptions) );
|
|
||||||
QStringList Pos3StabilizationSettingsElemNames;
|
|
||||||
Pos3StabilizationSettingsElemNames.append("Roll");
|
|
||||||
Pos3StabilizationSettingsElemNames.append("Pitch");
|
|
||||||
Pos3StabilizationSettingsElemNames.append("Yaw");
|
|
||||||
QStringList Pos3StabilizationSettingsEnumOptions;
|
|
||||||
Pos3StabilizationSettingsEnumOptions.append("None");
|
|
||||||
Pos3StabilizationSettingsEnumOptions.append("Rate");
|
|
||||||
Pos3StabilizationSettingsEnumOptions.append("Attitude");
|
|
||||||
fields.append( new UAVObjectField(QString("Pos3StabilizationSettings"), QString(""), UAVObjectField::ENUM, Pos3StabilizationSettingsElemNames, Pos3StabilizationSettingsEnumOptions) );
|
|
||||||
QStringList Pos1FlightModeElemNames;
|
|
||||||
Pos1FlightModeElemNames.append("0");
|
|
||||||
QStringList Pos1FlightModeEnumOptions;
|
|
||||||
Pos1FlightModeEnumOptions.append("Manual");
|
|
||||||
Pos1FlightModeEnumOptions.append("Stabilized");
|
|
||||||
Pos1FlightModeEnumOptions.append("Auto");
|
|
||||||
fields.append( new UAVObjectField(QString("Pos1FlightMode"), QString(""), UAVObjectField::ENUM, Pos1FlightModeElemNames, Pos1FlightModeEnumOptions) );
|
|
||||||
QStringList Pos2FlightModeElemNames;
|
|
||||||
Pos2FlightModeElemNames.append("0");
|
|
||||||
QStringList Pos2FlightModeEnumOptions;
|
|
||||||
Pos2FlightModeEnumOptions.append("Manual");
|
|
||||||
Pos2FlightModeEnumOptions.append("Stabilized");
|
|
||||||
Pos2FlightModeEnumOptions.append("Auto");
|
|
||||||
fields.append( new UAVObjectField(QString("Pos2FlightMode"), QString(""), UAVObjectField::ENUM, Pos2FlightModeElemNames, Pos2FlightModeEnumOptions) );
|
|
||||||
QStringList Pos3FlightModeElemNames;
|
|
||||||
Pos3FlightModeElemNames.append("0");
|
|
||||||
QStringList Pos3FlightModeEnumOptions;
|
|
||||||
Pos3FlightModeEnumOptions.append("Manual");
|
|
||||||
Pos3FlightModeEnumOptions.append("Stabilized");
|
|
||||||
Pos3FlightModeEnumOptions.append("Auto");
|
|
||||||
fields.append( new UAVObjectField(QString("Pos3FlightMode"), QString(""), UAVObjectField::ENUM, Pos3FlightModeElemNames, Pos3FlightModeEnumOptions) );
|
|
||||||
QStringList ChannelMaxElemNames;
|
|
||||||
ChannelMaxElemNames.append("0");
|
|
||||||
ChannelMaxElemNames.append("1");
|
|
||||||
ChannelMaxElemNames.append("2");
|
|
||||||
ChannelMaxElemNames.append("3");
|
|
||||||
ChannelMaxElemNames.append("4");
|
|
||||||
ChannelMaxElemNames.append("5");
|
|
||||||
ChannelMaxElemNames.append("6");
|
|
||||||
ChannelMaxElemNames.append("7");
|
|
||||||
fields.append( new UAVObjectField(QString("ChannelMax"), QString("us"), UAVObjectField::INT16, ChannelMaxElemNames, QStringList()) );
|
|
||||||
QStringList ChannelNeutralElemNames;
|
|
||||||
ChannelNeutralElemNames.append("0");
|
|
||||||
ChannelNeutralElemNames.append("1");
|
|
||||||
ChannelNeutralElemNames.append("2");
|
|
||||||
ChannelNeutralElemNames.append("3");
|
|
||||||
ChannelNeutralElemNames.append("4");
|
|
||||||
ChannelNeutralElemNames.append("5");
|
|
||||||
ChannelNeutralElemNames.append("6");
|
|
||||||
ChannelNeutralElemNames.append("7");
|
|
||||||
fields.append( new UAVObjectField(QString("ChannelNeutral"), QString("us"), UAVObjectField::INT16, ChannelNeutralElemNames, QStringList()) );
|
|
||||||
QStringList ChannelMinElemNames;
|
|
||||||
ChannelMinElemNames.append("0");
|
|
||||||
ChannelMinElemNames.append("1");
|
|
||||||
ChannelMinElemNames.append("2");
|
|
||||||
ChannelMinElemNames.append("3");
|
|
||||||
ChannelMinElemNames.append("4");
|
|
||||||
ChannelMinElemNames.append("5");
|
|
||||||
ChannelMinElemNames.append("6");
|
|
||||||
ChannelMinElemNames.append("7");
|
|
||||||
fields.append( new UAVObjectField(QString("ChannelMin"), QString("us"), UAVObjectField::INT16, ChannelMinElemNames, QStringList()) );
|
|
||||||
QStringList ArmedTimeoutElemNames;
|
|
||||||
ArmedTimeoutElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("ArmedTimeout"), QString("ms"), UAVObjectField::UINT16, ArmedTimeoutElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata ManualControlSettings::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 1;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 1;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
|
||||||
metadata.loggingUpdatePeriod = 0;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void ManualControlSettings::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
data.InputMode = 0;
|
|
||||||
data.Roll = 0;
|
|
||||||
data.Pitch = 1;
|
|
||||||
data.Yaw = 2;
|
|
||||||
data.Throttle = 3;
|
|
||||||
data.FlightMode = 4;
|
|
||||||
data.Accessory1 = 8;
|
|
||||||
data.Accessory2 = 8;
|
|
||||||
data.Accessory3 = 8;
|
|
||||||
data.Pos1StabilizationSettings[0] = 2;
|
|
||||||
data.Pos1StabilizationSettings[1] = 2;
|
|
||||||
data.Pos1StabilizationSettings[2] = 2;
|
|
||||||
data.Pos2StabilizationSettings[0] = 2;
|
|
||||||
data.Pos2StabilizationSettings[1] = 2;
|
|
||||||
data.Pos2StabilizationSettings[2] = 2;
|
|
||||||
data.Pos3StabilizationSettings[0] = 2;
|
|
||||||
data.Pos3StabilizationSettings[1] = 2;
|
|
||||||
data.Pos3StabilizationSettings[2] = 2;
|
|
||||||
data.Pos1FlightMode = 0;
|
|
||||||
data.Pos2FlightMode = 1;
|
|
||||||
data.Pos3FlightMode = 2;
|
|
||||||
data.ChannelMax[0] = 2000;
|
|
||||||
data.ChannelMax[1] = 2000;
|
|
||||||
data.ChannelMax[2] = 2000;
|
|
||||||
data.ChannelMax[3] = 2000;
|
|
||||||
data.ChannelMax[4] = 2000;
|
|
||||||
data.ChannelMax[5] = 2000;
|
|
||||||
data.ChannelMax[6] = 2000;
|
|
||||||
data.ChannelMax[7] = 2000;
|
|
||||||
data.ChannelNeutral[0] = 1500;
|
|
||||||
data.ChannelNeutral[1] = 1500;
|
|
||||||
data.ChannelNeutral[2] = 1500;
|
|
||||||
data.ChannelNeutral[3] = 1500;
|
|
||||||
data.ChannelNeutral[4] = 1500;
|
|
||||||
data.ChannelNeutral[5] = 1500;
|
|
||||||
data.ChannelNeutral[6] = 1500;
|
|
||||||
data.ChannelNeutral[7] = 1500;
|
|
||||||
data.ChannelMin[0] = 1000;
|
|
||||||
data.ChannelMin[1] = 1000;
|
|
||||||
data.ChannelMin[2] = 1000;
|
|
||||||
data.ChannelMin[3] = 1000;
|
|
||||||
data.ChannelMin[4] = 1000;
|
|
||||||
data.ChannelMin[5] = 1000;
|
|
||||||
data.ChannelMin[6] = 1000;
|
|
||||||
data.ChannelMin[7] = 1000;
|
|
||||||
data.ArmedTimeout = 30000;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
ManualControlSettings::DataFields ManualControlSettings::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void ManualControlSettings::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* ManualControlSettings::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
ManualControlSettings* obj = new ManualControlSettings();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
ManualControlSettings* ManualControlSettings::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<ManualControlSettings*>(objMngr->getObject(ManualControlSettings::OBJID, instID));
|
|
||||||
}
|
|
@ -1,328 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file mixersettings.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: mixersettings.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "mixersettings.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString MixerSettings::NAME = QString("MixerSettings");
|
|
||||||
const QString MixerSettings::DESCRIPTION = QString("Settings for the @ref ActuatorModule that controls the channel assignments for the mixer based on AircraftType");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
MixerSettings::MixerSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList MaxAccelElemNames;
|
|
||||||
MaxAccelElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("MaxAccel"), QString("units/sec"), UAVObjectField::FLOAT32, MaxAccelElemNames, QStringList()) );
|
|
||||||
QStringList FeedForwardElemNames;
|
|
||||||
FeedForwardElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("FeedForward"), QString(""), UAVObjectField::FLOAT32, FeedForwardElemNames, QStringList()) );
|
|
||||||
QStringList AccelTimeElemNames;
|
|
||||||
AccelTimeElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("AccelTime"), QString("ms"), UAVObjectField::FLOAT32, AccelTimeElemNames, QStringList()) );
|
|
||||||
QStringList DecelTimeElemNames;
|
|
||||||
DecelTimeElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("DecelTime"), QString("ms"), UAVObjectField::FLOAT32, DecelTimeElemNames, QStringList()) );
|
|
||||||
QStringList ThrottleCurve1ElemNames;
|
|
||||||
ThrottleCurve1ElemNames.append("0");
|
|
||||||
ThrottleCurve1ElemNames.append("25");
|
|
||||||
ThrottleCurve1ElemNames.append("50");
|
|
||||||
ThrottleCurve1ElemNames.append("75");
|
|
||||||
ThrottleCurve1ElemNames.append("100");
|
|
||||||
fields.append( new UAVObjectField(QString("ThrottleCurve1"), QString("percent"), UAVObjectField::FLOAT32, ThrottleCurve1ElemNames, QStringList()) );
|
|
||||||
QStringList ThrottleCurve2ElemNames;
|
|
||||||
ThrottleCurve2ElemNames.append("0");
|
|
||||||
ThrottleCurve2ElemNames.append("25");
|
|
||||||
ThrottleCurve2ElemNames.append("50");
|
|
||||||
ThrottleCurve2ElemNames.append("75");
|
|
||||||
ThrottleCurve2ElemNames.append("100");
|
|
||||||
fields.append( new UAVObjectField(QString("ThrottleCurve2"), QString("percent"), UAVObjectField::FLOAT32, ThrottleCurve2ElemNames, QStringList()) );
|
|
||||||
QStringList Mixer1TypeElemNames;
|
|
||||||
Mixer1TypeElemNames.append("0");
|
|
||||||
QStringList Mixer1TypeEnumOptions;
|
|
||||||
Mixer1TypeEnumOptions.append("Disabled");
|
|
||||||
Mixer1TypeEnumOptions.append("Motor");
|
|
||||||
Mixer1TypeEnumOptions.append("Servo");
|
|
||||||
fields.append( new UAVObjectField(QString("Mixer1Type"), QString(""), UAVObjectField::ENUM, Mixer1TypeElemNames, Mixer1TypeEnumOptions) );
|
|
||||||
QStringList Mixer1VectorElemNames;
|
|
||||||
Mixer1VectorElemNames.append("ThrottleCurve1");
|
|
||||||
Mixer1VectorElemNames.append("ThrottleCurve2");
|
|
||||||
Mixer1VectorElemNames.append("Roll");
|
|
||||||
Mixer1VectorElemNames.append("Pitch");
|
|
||||||
Mixer1VectorElemNames.append("Yaw");
|
|
||||||
fields.append( new UAVObjectField(QString("Mixer1Vector"), QString(""), UAVObjectField::INT8, Mixer1VectorElemNames, QStringList()) );
|
|
||||||
QStringList Mixer2TypeElemNames;
|
|
||||||
Mixer2TypeElemNames.append("0");
|
|
||||||
QStringList Mixer2TypeEnumOptions;
|
|
||||||
Mixer2TypeEnumOptions.append("Disabled");
|
|
||||||
Mixer2TypeEnumOptions.append("Motor");
|
|
||||||
Mixer2TypeEnumOptions.append("Servo");
|
|
||||||
fields.append( new UAVObjectField(QString("Mixer2Type"), QString(""), UAVObjectField::ENUM, Mixer2TypeElemNames, Mixer2TypeEnumOptions) );
|
|
||||||
QStringList Mixer2VectorElemNames;
|
|
||||||
Mixer2VectorElemNames.append("ThrottleCurve1");
|
|
||||||
Mixer2VectorElemNames.append("ThrottleCurve2");
|
|
||||||
Mixer2VectorElemNames.append("Roll");
|
|
||||||
Mixer2VectorElemNames.append("Pitch");
|
|
||||||
Mixer2VectorElemNames.append("Yaw");
|
|
||||||
fields.append( new UAVObjectField(QString("Mixer2Vector"), QString(""), UAVObjectField::INT8, Mixer2VectorElemNames, QStringList()) );
|
|
||||||
QStringList Mixer3TypeElemNames;
|
|
||||||
Mixer3TypeElemNames.append("0");
|
|
||||||
QStringList Mixer3TypeEnumOptions;
|
|
||||||
Mixer3TypeEnumOptions.append("Disabled");
|
|
||||||
Mixer3TypeEnumOptions.append("Motor");
|
|
||||||
Mixer3TypeEnumOptions.append("Servo");
|
|
||||||
fields.append( new UAVObjectField(QString("Mixer3Type"), QString(""), UAVObjectField::ENUM, Mixer3TypeElemNames, Mixer3TypeEnumOptions) );
|
|
||||||
QStringList Mixer3VectorElemNames;
|
|
||||||
Mixer3VectorElemNames.append("ThrottleCurve1");
|
|
||||||
Mixer3VectorElemNames.append("ThrottleCurve2");
|
|
||||||
Mixer3VectorElemNames.append("Roll");
|
|
||||||
Mixer3VectorElemNames.append("Pitch");
|
|
||||||
Mixer3VectorElemNames.append("Yaw");
|
|
||||||
fields.append( new UAVObjectField(QString("Mixer3Vector"), QString(""), UAVObjectField::INT8, Mixer3VectorElemNames, QStringList()) );
|
|
||||||
QStringList Mixer4TypeElemNames;
|
|
||||||
Mixer4TypeElemNames.append("0");
|
|
||||||
QStringList Mixer4TypeEnumOptions;
|
|
||||||
Mixer4TypeEnumOptions.append("Disabled");
|
|
||||||
Mixer4TypeEnumOptions.append("Motor");
|
|
||||||
Mixer4TypeEnumOptions.append("Servo");
|
|
||||||
fields.append( new UAVObjectField(QString("Mixer4Type"), QString(""), UAVObjectField::ENUM, Mixer4TypeElemNames, Mixer4TypeEnumOptions) );
|
|
||||||
QStringList Mixer4VectorElemNames;
|
|
||||||
Mixer4VectorElemNames.append("ThrottleCurve1");
|
|
||||||
Mixer4VectorElemNames.append("ThrottleCurve2");
|
|
||||||
Mixer4VectorElemNames.append("Roll");
|
|
||||||
Mixer4VectorElemNames.append("Pitch");
|
|
||||||
Mixer4VectorElemNames.append("Yaw");
|
|
||||||
fields.append( new UAVObjectField(QString("Mixer4Vector"), QString(""), UAVObjectField::INT8, Mixer4VectorElemNames, QStringList()) );
|
|
||||||
QStringList Mixer5TypeElemNames;
|
|
||||||
Mixer5TypeElemNames.append("0");
|
|
||||||
QStringList Mixer5TypeEnumOptions;
|
|
||||||
Mixer5TypeEnumOptions.append("Disabled");
|
|
||||||
Mixer5TypeEnumOptions.append("Motor");
|
|
||||||
Mixer5TypeEnumOptions.append("Servo");
|
|
||||||
fields.append( new UAVObjectField(QString("Mixer5Type"), QString(""), UAVObjectField::ENUM, Mixer5TypeElemNames, Mixer5TypeEnumOptions) );
|
|
||||||
QStringList Mixer5VectorElemNames;
|
|
||||||
Mixer5VectorElemNames.append("ThrottleCurve1");
|
|
||||||
Mixer5VectorElemNames.append("ThrottleCurve2");
|
|
||||||
Mixer5VectorElemNames.append("Roll");
|
|
||||||
Mixer5VectorElemNames.append("Pitch");
|
|
||||||
Mixer5VectorElemNames.append("Yaw");
|
|
||||||
fields.append( new UAVObjectField(QString("Mixer5Vector"), QString(""), UAVObjectField::INT8, Mixer5VectorElemNames, QStringList()) );
|
|
||||||
QStringList Mixer6TypeElemNames;
|
|
||||||
Mixer6TypeElemNames.append("0");
|
|
||||||
QStringList Mixer6TypeEnumOptions;
|
|
||||||
Mixer6TypeEnumOptions.append("Disabled");
|
|
||||||
Mixer6TypeEnumOptions.append("Motor");
|
|
||||||
Mixer6TypeEnumOptions.append("Servo");
|
|
||||||
fields.append( new UAVObjectField(QString("Mixer6Type"), QString(""), UAVObjectField::ENUM, Mixer6TypeElemNames, Mixer6TypeEnumOptions) );
|
|
||||||
QStringList Mixer6VectorElemNames;
|
|
||||||
Mixer6VectorElemNames.append("ThrottleCurve1");
|
|
||||||
Mixer6VectorElemNames.append("ThrottleCurve2");
|
|
||||||
Mixer6VectorElemNames.append("Roll");
|
|
||||||
Mixer6VectorElemNames.append("Pitch");
|
|
||||||
Mixer6VectorElemNames.append("Yaw");
|
|
||||||
fields.append( new UAVObjectField(QString("Mixer6Vector"), QString(""), UAVObjectField::INT8, Mixer6VectorElemNames, QStringList()) );
|
|
||||||
QStringList Mixer7TypeElemNames;
|
|
||||||
Mixer7TypeElemNames.append("0");
|
|
||||||
QStringList Mixer7TypeEnumOptions;
|
|
||||||
Mixer7TypeEnumOptions.append("Disabled");
|
|
||||||
Mixer7TypeEnumOptions.append("Motor");
|
|
||||||
Mixer7TypeEnumOptions.append("Servo");
|
|
||||||
fields.append( new UAVObjectField(QString("Mixer7Type"), QString(""), UAVObjectField::ENUM, Mixer7TypeElemNames, Mixer7TypeEnumOptions) );
|
|
||||||
QStringList Mixer7VectorElemNames;
|
|
||||||
Mixer7VectorElemNames.append("ThrottleCurve1");
|
|
||||||
Mixer7VectorElemNames.append("ThrottleCurve2");
|
|
||||||
Mixer7VectorElemNames.append("Roll");
|
|
||||||
Mixer7VectorElemNames.append("Pitch");
|
|
||||||
Mixer7VectorElemNames.append("Yaw");
|
|
||||||
fields.append( new UAVObjectField(QString("Mixer7Vector"), QString(""), UAVObjectField::INT8, Mixer7VectorElemNames, QStringList()) );
|
|
||||||
QStringList Mixer8TypeElemNames;
|
|
||||||
Mixer8TypeElemNames.append("0");
|
|
||||||
QStringList Mixer8TypeEnumOptions;
|
|
||||||
Mixer8TypeEnumOptions.append("Disabled");
|
|
||||||
Mixer8TypeEnumOptions.append("Motor");
|
|
||||||
Mixer8TypeEnumOptions.append("Servo");
|
|
||||||
fields.append( new UAVObjectField(QString("Mixer8Type"), QString(""), UAVObjectField::ENUM, Mixer8TypeElemNames, Mixer8TypeEnumOptions) );
|
|
||||||
QStringList Mixer8VectorElemNames;
|
|
||||||
Mixer8VectorElemNames.append("ThrottleCurve1");
|
|
||||||
Mixer8VectorElemNames.append("ThrottleCurve2");
|
|
||||||
Mixer8VectorElemNames.append("Roll");
|
|
||||||
Mixer8VectorElemNames.append("Pitch");
|
|
||||||
Mixer8VectorElemNames.append("Yaw");
|
|
||||||
fields.append( new UAVObjectField(QString("Mixer8Vector"), QString(""), UAVObjectField::INT8, Mixer8VectorElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata MixerSettings::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 1;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 1;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
|
||||||
metadata.loggingUpdatePeriod = 0;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void MixerSettings::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
data.MaxAccel = 1000;
|
|
||||||
data.FeedForward = 0;
|
|
||||||
data.AccelTime = 0;
|
|
||||||
data.DecelTime = 0;
|
|
||||||
data.ThrottleCurve1[0] = 0;
|
|
||||||
data.ThrottleCurve1[1] = 0.25;
|
|
||||||
data.ThrottleCurve1[2] = 0.5;
|
|
||||||
data.ThrottleCurve1[3] = 0.75;
|
|
||||||
data.ThrottleCurve1[4] = 1;
|
|
||||||
data.ThrottleCurve2[0] = 0;
|
|
||||||
data.ThrottleCurve2[1] = 0.25;
|
|
||||||
data.ThrottleCurve2[2] = 0.5;
|
|
||||||
data.ThrottleCurve2[3] = 0.75;
|
|
||||||
data.ThrottleCurve2[4] = 1;
|
|
||||||
data.Mixer1Type = 0;
|
|
||||||
data.Mixer1Vector[0] = 0;
|
|
||||||
data.Mixer1Vector[1] = 0;
|
|
||||||
data.Mixer1Vector[2] = 0;
|
|
||||||
data.Mixer1Vector[3] = 0;
|
|
||||||
data.Mixer1Vector[4] = 0;
|
|
||||||
data.Mixer2Type = 0;
|
|
||||||
data.Mixer2Vector[0] = 0;
|
|
||||||
data.Mixer2Vector[1] = 0;
|
|
||||||
data.Mixer2Vector[2] = 0;
|
|
||||||
data.Mixer2Vector[3] = 0;
|
|
||||||
data.Mixer2Vector[4] = 0;
|
|
||||||
data.Mixer3Type = 0;
|
|
||||||
data.Mixer3Vector[0] = 0;
|
|
||||||
data.Mixer3Vector[1] = 0;
|
|
||||||
data.Mixer3Vector[2] = 0;
|
|
||||||
data.Mixer3Vector[3] = 0;
|
|
||||||
data.Mixer3Vector[4] = 0;
|
|
||||||
data.Mixer4Type = 0;
|
|
||||||
data.Mixer4Vector[0] = 0;
|
|
||||||
data.Mixer4Vector[1] = 0;
|
|
||||||
data.Mixer4Vector[2] = 0;
|
|
||||||
data.Mixer4Vector[3] = 0;
|
|
||||||
data.Mixer4Vector[4] = 0;
|
|
||||||
data.Mixer5Type = 0;
|
|
||||||
data.Mixer5Vector[0] = 0;
|
|
||||||
data.Mixer5Vector[1] = 0;
|
|
||||||
data.Mixer5Vector[2] = 0;
|
|
||||||
data.Mixer5Vector[3] = 0;
|
|
||||||
data.Mixer5Vector[4] = 0;
|
|
||||||
data.Mixer6Type = 0;
|
|
||||||
data.Mixer6Vector[0] = 0;
|
|
||||||
data.Mixer6Vector[1] = 0;
|
|
||||||
data.Mixer6Vector[2] = 0;
|
|
||||||
data.Mixer6Vector[3] = 0;
|
|
||||||
data.Mixer6Vector[4] = 0;
|
|
||||||
data.Mixer7Type = 0;
|
|
||||||
data.Mixer7Vector[0] = 0;
|
|
||||||
data.Mixer7Vector[1] = 0;
|
|
||||||
data.Mixer7Vector[2] = 0;
|
|
||||||
data.Mixer7Vector[3] = 0;
|
|
||||||
data.Mixer7Vector[4] = 0;
|
|
||||||
data.Mixer8Type = 0;
|
|
||||||
data.Mixer8Vector[0] = 0;
|
|
||||||
data.Mixer8Vector[1] = 0;
|
|
||||||
data.Mixer8Vector[2] = 0;
|
|
||||||
data.Mixer8Vector[3] = 0;
|
|
||||||
data.Mixer8Vector[4] = 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
MixerSettings::DataFields MixerSettings::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void MixerSettings::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* MixerSettings::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
MixerSettings* obj = new MixerSettings();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
MixerSettings* MixerSettings::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<MixerSettings*>(objMngr->getObject(MixerSettings::OBJID, instID));
|
|
||||||
}
|
|
@ -1,152 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file mixerstatus.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: mixerstatus.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "mixerstatus.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString MixerStatus::NAME = QString("MixerStatus");
|
|
||||||
const QString MixerStatus::DESCRIPTION = QString("Status for the matrix mixer showing the output of each mixer after all scaling");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
MixerStatus::MixerStatus(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList Mixer1ElemNames;
|
|
||||||
Mixer1ElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Mixer1"), QString(""), UAVObjectField::FLOAT32, Mixer1ElemNames, QStringList()) );
|
|
||||||
QStringList Mixer2ElemNames;
|
|
||||||
Mixer2ElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Mixer2"), QString(""), UAVObjectField::FLOAT32, Mixer2ElemNames, QStringList()) );
|
|
||||||
QStringList Mixer3ElemNames;
|
|
||||||
Mixer3ElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Mixer3"), QString(""), UAVObjectField::FLOAT32, Mixer3ElemNames, QStringList()) );
|
|
||||||
QStringList Mixer4ElemNames;
|
|
||||||
Mixer4ElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Mixer4"), QString(""), UAVObjectField::FLOAT32, Mixer4ElemNames, QStringList()) );
|
|
||||||
QStringList Mixer5ElemNames;
|
|
||||||
Mixer5ElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Mixer5"), QString(""), UAVObjectField::FLOAT32, Mixer5ElemNames, QStringList()) );
|
|
||||||
QStringList Mixer6ElemNames;
|
|
||||||
Mixer6ElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Mixer6"), QString(""), UAVObjectField::FLOAT32, Mixer6ElemNames, QStringList()) );
|
|
||||||
QStringList Mixer7ElemNames;
|
|
||||||
Mixer7ElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Mixer7"), QString(""), UAVObjectField::FLOAT32, Mixer7ElemNames, QStringList()) );
|
|
||||||
QStringList Mixer8ElemNames;
|
|
||||||
Mixer8ElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Mixer8"), QString(""), UAVObjectField::FLOAT32, Mixer8ElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata MixerStatus::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 0;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 0;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 1000;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.loggingUpdatePeriod = 1000;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void MixerStatus::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
MixerStatus::DataFields MixerStatus::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void MixerStatus::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* MixerStatus::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
MixerStatus* obj = new MixerStatus();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
MixerStatus* MixerStatus::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<MixerStatus*>(objMngr->getObject(MixerStatus::OBJID, instID));
|
|
||||||
}
|
|
@ -1,149 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file objectpersistence.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: objectpersistence.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "objectpersistence.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString ObjectPersistence::NAME = QString("ObjectPersistence");
|
|
||||||
const QString ObjectPersistence::DESCRIPTION = QString("Someone who knows please enter this");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
ObjectPersistence::ObjectPersistence(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList OperationElemNames;
|
|
||||||
OperationElemNames.append("0");
|
|
||||||
QStringList OperationEnumOptions;
|
|
||||||
OperationEnumOptions.append("Load");
|
|
||||||
OperationEnumOptions.append("Save");
|
|
||||||
OperationEnumOptions.append("Delete");
|
|
||||||
fields.append( new UAVObjectField(QString("Operation"), QString(""), UAVObjectField::ENUM, OperationElemNames, OperationEnumOptions) );
|
|
||||||
QStringList SelectionElemNames;
|
|
||||||
SelectionElemNames.append("0");
|
|
||||||
QStringList SelectionEnumOptions;
|
|
||||||
SelectionEnumOptions.append("SingleObject");
|
|
||||||
SelectionEnumOptions.append("AllSettings");
|
|
||||||
SelectionEnumOptions.append("AllMetaObjects");
|
|
||||||
SelectionEnumOptions.append("AllObjects");
|
|
||||||
fields.append( new UAVObjectField(QString("Selection"), QString(""), UAVObjectField::ENUM, SelectionElemNames, SelectionEnumOptions) );
|
|
||||||
QStringList ObjectIDElemNames;
|
|
||||||
ObjectIDElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("ObjectID"), QString(""), UAVObjectField::UINT32, ObjectIDElemNames, QStringList()) );
|
|
||||||
QStringList InstanceIDElemNames;
|
|
||||||
InstanceIDElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("InstanceID"), QString(""), UAVObjectField::UINT32, InstanceIDElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata ObjectPersistence::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 1;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 1;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
|
||||||
metadata.loggingUpdatePeriod = 0;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void ObjectPersistence::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
ObjectPersistence::DataFields ObjectPersistence::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void ObjectPersistence::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* ObjectPersistence::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
ObjectPersistence* obj = new ObjectPersistence();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
ObjectPersistence* ObjectPersistence::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<ObjectPersistence*>(objMngr->getObject(ObjectPersistence::OBJID, instID));
|
|
||||||
}
|
|
@ -1,246 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file pipxtrememodemsettings.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: pipxtrememodemsettings.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "pipxtrememodemsettings.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString PipXtremeModemSettings::NAME = QString("PipXtremeModemSettings");
|
|
||||||
const QString PipXtremeModemSettings::DESCRIPTION = QString("Settings for the @ref PipXtremeModemSettings");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
PipXtremeModemSettings::PipXtremeModemSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList ModeElemNames;
|
|
||||||
ModeElemNames.append("0");
|
|
||||||
QStringList ModeEnumOptions;
|
|
||||||
ModeEnumOptions.append("Normal");
|
|
||||||
ModeEnumOptions.append("Test_Carrier");
|
|
||||||
ModeEnumOptions.append("Test_Spectrum");
|
|
||||||
fields.append( new UAVObjectField(QString("Mode"), QString(""), UAVObjectField::ENUM, ModeElemNames, ModeEnumOptions) );
|
|
||||||
QStringList Serial_BaudrateElemNames;
|
|
||||||
Serial_BaudrateElemNames.append("0");
|
|
||||||
QStringList Serial_BaudrateEnumOptions;
|
|
||||||
Serial_BaudrateEnumOptions.append("1200");
|
|
||||||
Serial_BaudrateEnumOptions.append("2400");
|
|
||||||
Serial_BaudrateEnumOptions.append("4800");
|
|
||||||
Serial_BaudrateEnumOptions.append("9600");
|
|
||||||
Serial_BaudrateEnumOptions.append("19200");
|
|
||||||
Serial_BaudrateEnumOptions.append("38400");
|
|
||||||
Serial_BaudrateEnumOptions.append("57600");
|
|
||||||
Serial_BaudrateEnumOptions.append("115200");
|
|
||||||
Serial_BaudrateEnumOptions.append("230400");
|
|
||||||
fields.append( new UAVObjectField(QString("Serial_Baudrate"), QString("bits/sec"), UAVObjectField::ENUM, Serial_BaudrateElemNames, Serial_BaudrateEnumOptions) );
|
|
||||||
QStringList Frequency_CalibrationElemNames;
|
|
||||||
Frequency_CalibrationElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Frequency_Calibration"), QString(""), UAVObjectField::UINT8, Frequency_CalibrationElemNames, QStringList()) );
|
|
||||||
QStringList Frequency_MinElemNames;
|
|
||||||
Frequency_MinElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Frequency_Min"), QString("Hz"), UAVObjectField::UINT32, Frequency_MinElemNames, QStringList()) );
|
|
||||||
QStringList Frequency_MaxElemNames;
|
|
||||||
Frequency_MaxElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Frequency_Max"), QString("Hz"), UAVObjectField::UINT32, Frequency_MaxElemNames, QStringList()) );
|
|
||||||
QStringList FrequencyElemNames;
|
|
||||||
FrequencyElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Frequency"), QString("Hz"), UAVObjectField::UINT32, FrequencyElemNames, QStringList()) );
|
|
||||||
QStringList Max_RF_BandwidthElemNames;
|
|
||||||
Max_RF_BandwidthElemNames.append("0");
|
|
||||||
QStringList Max_RF_BandwidthEnumOptions;
|
|
||||||
Max_RF_BandwidthEnumOptions.append("500");
|
|
||||||
Max_RF_BandwidthEnumOptions.append("1000");
|
|
||||||
Max_RF_BandwidthEnumOptions.append("2000");
|
|
||||||
Max_RF_BandwidthEnumOptions.append("4000");
|
|
||||||
Max_RF_BandwidthEnumOptions.append("8000");
|
|
||||||
Max_RF_BandwidthEnumOptions.append("9600");
|
|
||||||
Max_RF_BandwidthEnumOptions.append("16000");
|
|
||||||
Max_RF_BandwidthEnumOptions.append("19200");
|
|
||||||
Max_RF_BandwidthEnumOptions.append("24000");
|
|
||||||
Max_RF_BandwidthEnumOptions.append("32000");
|
|
||||||
Max_RF_BandwidthEnumOptions.append("64000");
|
|
||||||
Max_RF_BandwidthEnumOptions.append("128000");
|
|
||||||
Max_RF_BandwidthEnumOptions.append("192000");
|
|
||||||
fields.append( new UAVObjectField(QString("Max_RF_Bandwidth"), QString("bits/sec"), UAVObjectField::ENUM, Max_RF_BandwidthElemNames, Max_RF_BandwidthEnumOptions) );
|
|
||||||
QStringList Max_Tx_PowerElemNames;
|
|
||||||
Max_Tx_PowerElemNames.append("0");
|
|
||||||
QStringList Max_Tx_PowerEnumOptions;
|
|
||||||
Max_Tx_PowerEnumOptions.append("1");
|
|
||||||
Max_Tx_PowerEnumOptions.append("2");
|
|
||||||
Max_Tx_PowerEnumOptions.append("5");
|
|
||||||
Max_Tx_PowerEnumOptions.append("8");
|
|
||||||
Max_Tx_PowerEnumOptions.append("11");
|
|
||||||
Max_Tx_PowerEnumOptions.append("14");
|
|
||||||
Max_Tx_PowerEnumOptions.append("17");
|
|
||||||
Max_Tx_PowerEnumOptions.append("20");
|
|
||||||
fields.append( new UAVObjectField(QString("Max_Tx_Power"), QString("dBm"), UAVObjectField::ENUM, Max_Tx_PowerElemNames, Max_Tx_PowerEnumOptions) );
|
|
||||||
QStringList Tx_Data_WaitElemNames;
|
|
||||||
Tx_Data_WaitElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Tx_Data_Wait"), QString("ms"), UAVObjectField::UINT8, Tx_Data_WaitElemNames, QStringList()) );
|
|
||||||
QStringList AES_EncryptionElemNames;
|
|
||||||
AES_EncryptionElemNames.append("0");
|
|
||||||
QStringList AES_EncryptionEnumOptions;
|
|
||||||
AES_EncryptionEnumOptions.append("False");
|
|
||||||
AES_EncryptionEnumOptions.append("True");
|
|
||||||
fields.append( new UAVObjectField(QString("AES_Encryption"), QString(""), UAVObjectField::ENUM, AES_EncryptionElemNames, AES_EncryptionEnumOptions) );
|
|
||||||
QStringList AES_EncryptionKeyElemNames;
|
|
||||||
AES_EncryptionKeyElemNames.append("0");
|
|
||||||
AES_EncryptionKeyElemNames.append("1");
|
|
||||||
AES_EncryptionKeyElemNames.append("2");
|
|
||||||
AES_EncryptionKeyElemNames.append("3");
|
|
||||||
AES_EncryptionKeyElemNames.append("4");
|
|
||||||
AES_EncryptionKeyElemNames.append("5");
|
|
||||||
AES_EncryptionKeyElemNames.append("6");
|
|
||||||
AES_EncryptionKeyElemNames.append("7");
|
|
||||||
AES_EncryptionKeyElemNames.append("8");
|
|
||||||
AES_EncryptionKeyElemNames.append("9");
|
|
||||||
AES_EncryptionKeyElemNames.append("10");
|
|
||||||
AES_EncryptionKeyElemNames.append("11");
|
|
||||||
AES_EncryptionKeyElemNames.append("12");
|
|
||||||
AES_EncryptionKeyElemNames.append("13");
|
|
||||||
AES_EncryptionKeyElemNames.append("14");
|
|
||||||
AES_EncryptionKeyElemNames.append("15");
|
|
||||||
fields.append( new UAVObjectField(QString("AES_EncryptionKey"), QString(""), UAVObjectField::UINT8, AES_EncryptionKeyElemNames, QStringList()) );
|
|
||||||
QStringList Paired_Serial_NumberElemNames;
|
|
||||||
Paired_Serial_NumberElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Paired_Serial_Number"), QString(""), UAVObjectField::UINT32, Paired_Serial_NumberElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata PipXtremeModemSettings::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 1;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 1;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
|
||||||
metadata.loggingUpdatePeriod = 0;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void PipXtremeModemSettings::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
data.Mode = 0;
|
|
||||||
data.Serial_Baudrate = 6;
|
|
||||||
data.Frequency_Calibration = 127;
|
|
||||||
data.Frequency_Min = 0;
|
|
||||||
data.Frequency_Max = 0;
|
|
||||||
data.Frequency = 0;
|
|
||||||
data.Max_RF_Bandwidth = 11;
|
|
||||||
data.Max_Tx_Power = 4;
|
|
||||||
data.Tx_Data_Wait = 10;
|
|
||||||
data.AES_Encryption = 0;
|
|
||||||
data.AES_EncryptionKey[0] = 0;
|
|
||||||
data.AES_EncryptionKey[1] = 0;
|
|
||||||
data.AES_EncryptionKey[2] = 0;
|
|
||||||
data.AES_EncryptionKey[3] = 0;
|
|
||||||
data.AES_EncryptionKey[4] = 0;
|
|
||||||
data.AES_EncryptionKey[5] = 0;
|
|
||||||
data.AES_EncryptionKey[6] = 0;
|
|
||||||
data.AES_EncryptionKey[7] = 0;
|
|
||||||
data.AES_EncryptionKey[8] = 0;
|
|
||||||
data.AES_EncryptionKey[9] = 0;
|
|
||||||
data.AES_EncryptionKey[10] = 0;
|
|
||||||
data.AES_EncryptionKey[11] = 0;
|
|
||||||
data.AES_EncryptionKey[12] = 0;
|
|
||||||
data.AES_EncryptionKey[13] = 0;
|
|
||||||
data.AES_EncryptionKey[14] = 0;
|
|
||||||
data.AES_EncryptionKey[15] = 0;
|
|
||||||
data.Paired_Serial_Number = 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
PipXtremeModemSettings::DataFields PipXtremeModemSettings::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void PipXtremeModemSettings::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* PipXtremeModemSettings::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
PipXtremeModemSettings* obj = new PipXtremeModemSettings();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
PipXtremeModemSettings* PipXtremeModemSettings::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<PipXtremeModemSettings*>(objMngr->getObject(PipXtremeModemSettings::OBJID, instID));
|
|
||||||
}
|
|
@ -1,169 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file pipxtrememodemstatus.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: pipxtrememodemstatus.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "pipxtrememodemstatus.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString PipXtremeModemStatus::NAME = QString("PipXtremeModemStatus");
|
|
||||||
const QString PipXtremeModemStatus::DESCRIPTION = QString("Status for the @ref PipXtremeModem");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
PipXtremeModemStatus::PipXtremeModemStatus(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList Firmware_Version_MajorElemNames;
|
|
||||||
Firmware_Version_MajorElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Firmware_Version_Major"), QString(""), UAVObjectField::UINT8, Firmware_Version_MajorElemNames, QStringList()) );
|
|
||||||
QStringList Firmware_Version_MinorElemNames;
|
|
||||||
Firmware_Version_MinorElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Firmware_Version_Minor"), QString(""), UAVObjectField::UINT8, Firmware_Version_MinorElemNames, QStringList()) );
|
|
||||||
QStringList Serial_NumberElemNames;
|
|
||||||
Serial_NumberElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Serial_Number"), QString(""), UAVObjectField::UINT32, Serial_NumberElemNames, QStringList()) );
|
|
||||||
QStringList Up_TimeElemNames;
|
|
||||||
Up_TimeElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Up_Time"), QString("ms"), UAVObjectField::UINT32, Up_TimeElemNames, QStringList()) );
|
|
||||||
QStringList FrequencyElemNames;
|
|
||||||
FrequencyElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Frequency"), QString("Hz"), UAVObjectField::UINT32, FrequencyElemNames, QStringList()) );
|
|
||||||
QStringList RF_BandwidthElemNames;
|
|
||||||
RF_BandwidthElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("RF_Bandwidth"), QString("bits/sec"), UAVObjectField::UINT32, RF_BandwidthElemNames, QStringList()) );
|
|
||||||
QStringList Tx_PowerElemNames;
|
|
||||||
Tx_PowerElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Tx_Power"), QString("dBm"), UAVObjectField::INT8, Tx_PowerElemNames, QStringList()) );
|
|
||||||
QStringList StateElemNames;
|
|
||||||
StateElemNames.append("0");
|
|
||||||
QStringList StateEnumOptions;
|
|
||||||
StateEnumOptions.append("Disconnected");
|
|
||||||
StateEnumOptions.append("Connecting");
|
|
||||||
StateEnumOptions.append("Connected");
|
|
||||||
StateEnumOptions.append("NotReady");
|
|
||||||
fields.append( new UAVObjectField(QString("State"), QString(""), UAVObjectField::ENUM, StateElemNames, StateEnumOptions) );
|
|
||||||
QStringList Tx_RetryElemNames;
|
|
||||||
Tx_RetryElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Tx_Retry"), QString(""), UAVObjectField::UINT16, Tx_RetryElemNames, QStringList()) );
|
|
||||||
QStringList Tx_Data_RateElemNames;
|
|
||||||
Tx_Data_RateElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Tx_Data_Rate"), QString("bits/sec"), UAVObjectField::UINT32, Tx_Data_RateElemNames, QStringList()) );
|
|
||||||
QStringList Rx_Data_RateElemNames;
|
|
||||||
Rx_Data_RateElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Rx_Data_Rate"), QString("bits/sec"), UAVObjectField::UINT32, Rx_Data_RateElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata PipXtremeModemStatus::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 0;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 0;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 5000;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
|
||||||
metadata.loggingUpdatePeriod = 0;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void PipXtremeModemStatus::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
data.Firmware_Version_Major = 0;
|
|
||||||
data.Firmware_Version_Minor = 0;
|
|
||||||
data.Serial_Number = 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
PipXtremeModemStatus::DataFields PipXtremeModemStatus::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void PipXtremeModemStatus::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* PipXtremeModemStatus::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
PipXtremeModemStatus* obj = new PipXtremeModemStatus();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
PipXtremeModemStatus* PipXtremeModemStatus::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<PipXtremeModemStatus*>(objMngr->getObject(PipXtremeModemStatus::OBJID, instID));
|
|
||||||
}
|
|
@ -1,137 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file positionactual.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: positionactual.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "positionactual.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString PositionActual::NAME = QString("PositionActual");
|
|
||||||
const QString PositionActual::DESCRIPTION = QString("Contains the current position relative to @ref HomeLocation");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
PositionActual::PositionActual(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList NorthElemNames;
|
|
||||||
NorthElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("North"), QString("cm"), UAVObjectField::INT32, NorthElemNames, QStringList()) );
|
|
||||||
QStringList EastElemNames;
|
|
||||||
EastElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("East"), QString("cm"), UAVObjectField::INT32, EastElemNames, QStringList()) );
|
|
||||||
QStringList DownElemNames;
|
|
||||||
DownElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Down"), QString("cm"), UAVObjectField::INT32, DownElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata PositionActual::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 0;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 0;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 1000;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.loggingUpdatePeriod = 1000;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void PositionActual::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
PositionActual::DataFields PositionActual::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void PositionActual::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* PositionActual::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
PositionActual* obj = new PositionActual();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
PositionActual* PositionActual::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<PositionActual*>(objMngr->getObject(PositionActual::OBJID, instID));
|
|
||||||
}
|
|
@ -1,137 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file positiondesired.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: positiondesired.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "positiondesired.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString PositionDesired::NAME = QString("PositionDesired");
|
|
||||||
const QString PositionDesired::DESCRIPTION = QString("The position the craft is trying t achieve. Can come from GCS or @ref PathPlanner ");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
PositionDesired::PositionDesired(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList NorthElemNames;
|
|
||||||
NorthElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("North"), QString("cm"), UAVObjectField::INT32, NorthElemNames, QStringList()) );
|
|
||||||
QStringList EastElemNames;
|
|
||||||
EastElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("East"), QString("cm"), UAVObjectField::INT32, EastElemNames, QStringList()) );
|
|
||||||
QStringList DownElemNames;
|
|
||||||
DownElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Down"), QString("cm"), UAVObjectField::INT32, DownElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata PositionDesired::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 0;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 0;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.loggingUpdatePeriod = 1000;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void PositionDesired::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
PositionDesired::DataFields PositionDesired::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void PositionDesired::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* PositionDesired::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
PositionDesired* obj = new PositionDesired();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
PositionDesired* PositionDesired::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<PositionDesired*>(objMngr->getObject(PositionDesired::OBJID, instID));
|
|
||||||
}
|
|
@ -1,137 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file ratedesired.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: ratedesired.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "ratedesired.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString RateDesired::NAME = QString("RateDesired");
|
|
||||||
const QString RateDesired::DESCRIPTION = QString("Status for the matrix mixer showing the output of each mixer after all scaling");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
RateDesired::RateDesired(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList RollElemNames;
|
|
||||||
RollElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Roll"), QString("deg/s"), UAVObjectField::FLOAT32, RollElemNames, QStringList()) );
|
|
||||||
QStringList PitchElemNames;
|
|
||||||
PitchElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Pitch"), QString("deg/s"), UAVObjectField::FLOAT32, PitchElemNames, QStringList()) );
|
|
||||||
QStringList YawElemNames;
|
|
||||||
YawElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Yaw"), QString("deg/s"), UAVObjectField::FLOAT32, YawElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata RateDesired::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 0;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 0;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 1000;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.loggingUpdatePeriod = 1000;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void RateDesired::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
RateDesired::DataFields RateDesired::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void RateDesired::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* RateDesired::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
RateDesired* obj = new RateDesired();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
RateDesired* RateDesired::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<RateDesired*>(objMngr->getObject(RateDesired::OBJID, instID));
|
|
||||||
}
|
|
@ -1,204 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file stabilizationsettings.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: stabilizationsettings.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "stabilizationsettings.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString StabilizationSettings::NAME = QString("StabilizationSettings");
|
|
||||||
const QString StabilizationSettings::DESCRIPTION = QString("PID settings used by the Stabilization module to combine the @ref AttitudeActual and @ref AttitudeDesired to compute @ref ActuatorDesired");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
StabilizationSettings::StabilizationSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList RollMaxElemNames;
|
|
||||||
RollMaxElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("RollMax"), QString("Degrees"), UAVObjectField::UINT8, RollMaxElemNames, QStringList()) );
|
|
||||||
QStringList PitchMaxElemNames;
|
|
||||||
PitchMaxElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("PitchMax"), QString("Degrees"), UAVObjectField::UINT8, PitchMaxElemNames, QStringList()) );
|
|
||||||
QStringList YawMaxElemNames;
|
|
||||||
YawMaxElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("YawMax"), QString("Degrees"), UAVObjectField::UINT8, YawMaxElemNames, QStringList()) );
|
|
||||||
QStringList ManualRateElemNames;
|
|
||||||
ManualRateElemNames.append("Roll");
|
|
||||||
ManualRateElemNames.append("Pitch");
|
|
||||||
ManualRateElemNames.append("Yaw");
|
|
||||||
fields.append( new UAVObjectField(QString("ManualRate"), QString("Degrees/sec"), UAVObjectField::FLOAT32, ManualRateElemNames, QStringList()) );
|
|
||||||
QStringList MaximumRateElemNames;
|
|
||||||
MaximumRateElemNames.append("Roll");
|
|
||||||
MaximumRateElemNames.append("Pitch");
|
|
||||||
MaximumRateElemNames.append("Yaw");
|
|
||||||
fields.append( new UAVObjectField(QString("MaximumRate"), QString("Degrees/sec"), UAVObjectField::FLOAT32, MaximumRateElemNames, QStringList()) );
|
|
||||||
QStringList RollRatePIElemNames;
|
|
||||||
RollRatePIElemNames.append("Kp");
|
|
||||||
RollRatePIElemNames.append("Ki");
|
|
||||||
RollRatePIElemNames.append("ILimit");
|
|
||||||
fields.append( new UAVObjectField(QString("RollRatePI"), QString(""), UAVObjectField::FLOAT32, RollRatePIElemNames, QStringList()) );
|
|
||||||
QStringList PitchRatePIElemNames;
|
|
||||||
PitchRatePIElemNames.append("Kp");
|
|
||||||
PitchRatePIElemNames.append("Ki");
|
|
||||||
PitchRatePIElemNames.append("ILimit");
|
|
||||||
fields.append( new UAVObjectField(QString("PitchRatePI"), QString(""), UAVObjectField::FLOAT32, PitchRatePIElemNames, QStringList()) );
|
|
||||||
QStringList YawRatePIElemNames;
|
|
||||||
YawRatePIElemNames.append("Kp");
|
|
||||||
YawRatePIElemNames.append("Ki");
|
|
||||||
YawRatePIElemNames.append("ILimit");
|
|
||||||
fields.append( new UAVObjectField(QString("YawRatePI"), QString(""), UAVObjectField::FLOAT32, YawRatePIElemNames, QStringList()) );
|
|
||||||
QStringList RollPIElemNames;
|
|
||||||
RollPIElemNames.append("Kp");
|
|
||||||
RollPIElemNames.append("Ki");
|
|
||||||
RollPIElemNames.append("ILimit");
|
|
||||||
fields.append( new UAVObjectField(QString("RollPI"), QString(""), UAVObjectField::FLOAT32, RollPIElemNames, QStringList()) );
|
|
||||||
QStringList PitchPIElemNames;
|
|
||||||
PitchPIElemNames.append("Kp");
|
|
||||||
PitchPIElemNames.append("Ki");
|
|
||||||
PitchPIElemNames.append("ILimit");
|
|
||||||
fields.append( new UAVObjectField(QString("PitchPI"), QString(""), UAVObjectField::FLOAT32, PitchPIElemNames, QStringList()) );
|
|
||||||
QStringList YawPIElemNames;
|
|
||||||
YawPIElemNames.append("Kp");
|
|
||||||
YawPIElemNames.append("Ki");
|
|
||||||
YawPIElemNames.append("ILimit");
|
|
||||||
fields.append( new UAVObjectField(QString("YawPI"), QString(""), UAVObjectField::FLOAT32, YawPIElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata StabilizationSettings::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 1;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 1;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
|
||||||
metadata.loggingUpdatePeriod = 0;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void StabilizationSettings::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
data.RollMax = 35;
|
|
||||||
data.PitchMax = 35;
|
|
||||||
data.YawMax = 35;
|
|
||||||
data.ManualRate[0] = 150;
|
|
||||||
data.ManualRate[1] = 150;
|
|
||||||
data.ManualRate[2] = 150;
|
|
||||||
data.MaximumRate[0] = 300;
|
|
||||||
data.MaximumRate[1] = 300;
|
|
||||||
data.MaximumRate[2] = 300;
|
|
||||||
data.RollRatePI[0] = 0.0015;
|
|
||||||
data.RollRatePI[1] = 0;
|
|
||||||
data.RollRatePI[2] = 0.5;
|
|
||||||
data.PitchRatePI[0] = 0.0015;
|
|
||||||
data.PitchRatePI[1] = 0;
|
|
||||||
data.PitchRatePI[2] = 0.5;
|
|
||||||
data.YawRatePI[0] = 0.003;
|
|
||||||
data.YawRatePI[1] = 0;
|
|
||||||
data.YawRatePI[2] = 0.5;
|
|
||||||
data.RollPI[0] = 2;
|
|
||||||
data.RollPI[1] = 0;
|
|
||||||
data.RollPI[2] = 0.5;
|
|
||||||
data.PitchPI[0] = 2;
|
|
||||||
data.PitchPI[1] = 0;
|
|
||||||
data.PitchPI[2] = 0.5;
|
|
||||||
data.YawPI[0] = 2;
|
|
||||||
data.YawPI[1] = 0;
|
|
||||||
data.YawPI[2] = 0.5;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
StabilizationSettings::DataFields StabilizationSettings::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void StabilizationSettings::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* StabilizationSettings::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
StabilizationSettings* obj = new StabilizationSettings();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
StabilizationSettings* StabilizationSettings::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<StabilizationSettings*>(objMngr->getObject(StabilizationSettings::OBJID, instID));
|
|
||||||
}
|
|
@ -1,164 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file systemalarms.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: systemalarms.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "systemalarms.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString SystemAlarms::NAME = QString("SystemAlarms");
|
|
||||||
const QString SystemAlarms::DESCRIPTION = QString("Alarms from OpenPilot to indicate failure conditions or warnings. Set by various modules.");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
SystemAlarms::SystemAlarms(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList AlarmElemNames;
|
|
||||||
AlarmElemNames.append("OutOfMemory");
|
|
||||||
AlarmElemNames.append("StackOverflow");
|
|
||||||
AlarmElemNames.append("CPUOverload");
|
|
||||||
AlarmElemNames.append("EventSystem");
|
|
||||||
AlarmElemNames.append("SDCard");
|
|
||||||
AlarmElemNames.append("Telemetry");
|
|
||||||
AlarmElemNames.append("ManualControl");
|
|
||||||
AlarmElemNames.append("Actuator");
|
|
||||||
AlarmElemNames.append("Stabilization");
|
|
||||||
AlarmElemNames.append("AHRSComms");
|
|
||||||
AlarmElemNames.append("Battery");
|
|
||||||
AlarmElemNames.append("FlightTime");
|
|
||||||
AlarmElemNames.append("I2C");
|
|
||||||
AlarmElemNames.append("GPS");
|
|
||||||
QStringList AlarmEnumOptions;
|
|
||||||
AlarmEnumOptions.append("OK");
|
|
||||||
AlarmEnumOptions.append("Warning");
|
|
||||||
AlarmEnumOptions.append("Error");
|
|
||||||
AlarmEnumOptions.append("Critical");
|
|
||||||
AlarmEnumOptions.append("Uninitialised");
|
|
||||||
fields.append( new UAVObjectField(QString("Alarm"), QString(""), UAVObjectField::ENUM, AlarmElemNames, AlarmEnumOptions) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata SystemAlarms::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 1;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 1;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 4000;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.loggingUpdatePeriod = 1000;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void SystemAlarms::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
data.Alarm[0] = 4;
|
|
||||||
data.Alarm[1] = 4;
|
|
||||||
data.Alarm[2] = 4;
|
|
||||||
data.Alarm[3] = 4;
|
|
||||||
data.Alarm[4] = 4;
|
|
||||||
data.Alarm[5] = 4;
|
|
||||||
data.Alarm[6] = 4;
|
|
||||||
data.Alarm[7] = 4;
|
|
||||||
data.Alarm[8] = 4;
|
|
||||||
data.Alarm[9] = 4;
|
|
||||||
data.Alarm[10] = 4;
|
|
||||||
data.Alarm[11] = 4;
|
|
||||||
data.Alarm[12] = 4;
|
|
||||||
data.Alarm[13] = 4;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
SystemAlarms::DataFields SystemAlarms::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void SystemAlarms::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* SystemAlarms::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
SystemAlarms* obj = new SystemAlarms();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
SystemAlarms* SystemAlarms::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<SystemAlarms*>(objMngr->getObject(SystemAlarms::OBJID, instID));
|
|
||||||
}
|
|
@ -1,149 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file systemsettings.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: systemsettings.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "systemsettings.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString SystemSettings::NAME = QString("SystemSettings");
|
|
||||||
const QString SystemSettings::DESCRIPTION = QString("Select airframe type. Currently used by @ref ActuatorModule to choose mixing from @ref ActuatorDesired to @ref ActuatorCommand");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
SystemSettings::SystemSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList AirframeTypeElemNames;
|
|
||||||
AirframeTypeElemNames.append("0");
|
|
||||||
QStringList AirframeTypeEnumOptions;
|
|
||||||
AirframeTypeEnumOptions.append("FixedWing");
|
|
||||||
AirframeTypeEnumOptions.append("FixedWingElevon");
|
|
||||||
AirframeTypeEnumOptions.append("FixedWingVtail");
|
|
||||||
AirframeTypeEnumOptions.append("VTOL");
|
|
||||||
AirframeTypeEnumOptions.append("HeliCP");
|
|
||||||
AirframeTypeEnumOptions.append("QuadX");
|
|
||||||
AirframeTypeEnumOptions.append("QuadP");
|
|
||||||
AirframeTypeEnumOptions.append("Hexa");
|
|
||||||
AirframeTypeEnumOptions.append("Octo");
|
|
||||||
AirframeTypeEnumOptions.append("Custom");
|
|
||||||
AirframeTypeEnumOptions.append("HexaX");
|
|
||||||
AirframeTypeEnumOptions.append("OctoV");
|
|
||||||
AirframeTypeEnumOptions.append("OctoCoaxP");
|
|
||||||
AirframeTypeEnumOptions.append("OctoCoaxX");
|
|
||||||
AirframeTypeEnumOptions.append("HexaCoax");
|
|
||||||
AirframeTypeEnumOptions.append("Tri");
|
|
||||||
fields.append( new UAVObjectField(QString("AirframeType"), QString(""), UAVObjectField::ENUM, AirframeTypeElemNames, AirframeTypeEnumOptions) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata SystemSettings::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 1;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 1;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
|
||||||
metadata.loggingUpdatePeriod = 0;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void SystemSettings::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
data.AirframeType = 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
SystemSettings::DataFields SystemSettings::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void SystemSettings::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* SystemSettings::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
SystemSettings* obj = new SystemSettings();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
SystemSettings* SystemSettings::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<SystemSettings*>(objMngr->getObject(SystemSettings::OBJID, instID));
|
|
||||||
}
|
|
@ -1,137 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file systemstats.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: systemstats.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "systemstats.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString SystemStats::NAME = QString("SystemStats");
|
|
||||||
const QString SystemStats::DESCRIPTION = QString("CPU and memory usage from OpenPilot computer. ");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
SystemStats::SystemStats(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList FlightTimeElemNames;
|
|
||||||
FlightTimeElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("FlightTime"), QString("ms"), UAVObjectField::UINT32, FlightTimeElemNames, QStringList()) );
|
|
||||||
QStringList HeapRemainingElemNames;
|
|
||||||
HeapRemainingElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("HeapRemaining"), QString("bytes"), UAVObjectField::UINT16, HeapRemainingElemNames, QStringList()) );
|
|
||||||
QStringList CPULoadElemNames;
|
|
||||||
CPULoadElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("CPULoad"), QString("%"), UAVObjectField::UINT8, CPULoadElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata SystemStats::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 0;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 0;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 1000;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.loggingUpdatePeriod = 1000;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void SystemStats::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
SystemStats::DataFields SystemStats::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void SystemStats::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* SystemStats::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
SystemStats* obj = new SystemStats();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
SystemStats* SystemStats::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<SystemStats*>(objMngr->getObject(SystemStats::OBJID, instID));
|
|
||||||
}
|
|
@ -1,161 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file taskinfo.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: taskinfo.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "taskinfo.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString TaskInfo::NAME = QString("TaskInfo");
|
|
||||||
const QString TaskInfo::DESCRIPTION = QString("Task information");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
TaskInfo::TaskInfo(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList StackRemainingElemNames;
|
|
||||||
StackRemainingElemNames.append("System");
|
|
||||||
StackRemainingElemNames.append("Actuator");
|
|
||||||
StackRemainingElemNames.append("TelemetryTx");
|
|
||||||
StackRemainingElemNames.append("TelemetryTxPri");
|
|
||||||
StackRemainingElemNames.append("TelemetryRx");
|
|
||||||
StackRemainingElemNames.append("GPS");
|
|
||||||
StackRemainingElemNames.append("ManualControl");
|
|
||||||
StackRemainingElemNames.append("Altitude");
|
|
||||||
StackRemainingElemNames.append("AHRSComms");
|
|
||||||
StackRemainingElemNames.append("Stabilization");
|
|
||||||
StackRemainingElemNames.append("Guidance");
|
|
||||||
StackRemainingElemNames.append("Watchdog");
|
|
||||||
StackRemainingElemNames.append("FlightPlan");
|
|
||||||
fields.append( new UAVObjectField(QString("StackRemaining"), QString("bytes"), UAVObjectField::UINT16, StackRemainingElemNames, QStringList()) );
|
|
||||||
QStringList RunningElemNames;
|
|
||||||
RunningElemNames.append("System");
|
|
||||||
RunningElemNames.append("Actuator");
|
|
||||||
RunningElemNames.append("TelemetryTx");
|
|
||||||
RunningElemNames.append("TelemetryTxPri");
|
|
||||||
RunningElemNames.append("TelemetryRx");
|
|
||||||
RunningElemNames.append("GPS");
|
|
||||||
RunningElemNames.append("ManualControl");
|
|
||||||
RunningElemNames.append("Altitude");
|
|
||||||
RunningElemNames.append("AHRSComms");
|
|
||||||
RunningElemNames.append("Stabilization");
|
|
||||||
RunningElemNames.append("Guidance");
|
|
||||||
RunningElemNames.append("Watchdog");
|
|
||||||
RunningElemNames.append("FlightPlan");
|
|
||||||
QStringList RunningEnumOptions;
|
|
||||||
RunningEnumOptions.append("False");
|
|
||||||
RunningEnumOptions.append("True");
|
|
||||||
fields.append( new UAVObjectField(QString("Running"), QString("bool"), UAVObjectField::ENUM, RunningElemNames, RunningEnumOptions) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata TaskInfo::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 1;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 1;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 10000;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.loggingUpdatePeriod = 1000;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void TaskInfo::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
TaskInfo::DataFields TaskInfo::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void TaskInfo::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* TaskInfo::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
TaskInfo* obj = new TaskInfo();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
TaskInfo* TaskInfo::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<TaskInfo*>(objMngr->getObject(TaskInfo::OBJID, instID));
|
|
||||||
}
|
|
@ -1,140 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file telemetrysettings.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: telemetrysettings.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "telemetrysettings.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString TelemetrySettings::NAME = QString("TelemetrySettings");
|
|
||||||
const QString TelemetrySettings::DESCRIPTION = QString("Select baud rate of telemetry. Warning - this must match your modem.");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
TelemetrySettings::TelemetrySettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList SpeedElemNames;
|
|
||||||
SpeedElemNames.append("0");
|
|
||||||
QStringList SpeedEnumOptions;
|
|
||||||
SpeedEnumOptions.append("2400");
|
|
||||||
SpeedEnumOptions.append("4800");
|
|
||||||
SpeedEnumOptions.append("9600");
|
|
||||||
SpeedEnumOptions.append("19200");
|
|
||||||
SpeedEnumOptions.append("38400");
|
|
||||||
SpeedEnumOptions.append("57600");
|
|
||||||
SpeedEnumOptions.append("115200");
|
|
||||||
fields.append( new UAVObjectField(QString("Speed"), QString(""), UAVObjectField::ENUM, SpeedElemNames, SpeedEnumOptions) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata TelemetrySettings::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 1;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 1;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
|
||||||
metadata.loggingUpdatePeriod = 0;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void TelemetrySettings::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
data.Speed = 5;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
TelemetrySettings::DataFields TelemetrySettings::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void TelemetrySettings::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* TelemetrySettings::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
TelemetrySettings* obj = new TelemetrySettings();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
TelemetrySettings* TelemetrySettings::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<TelemetrySettings*>(objMngr->getObject(TelemetrySettings::OBJID, instID));
|
|
||||||
}
|
|
@ -1,137 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file velocityactual.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: velocityactual.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "velocityactual.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString VelocityActual::NAME = QString("VelocityActual");
|
|
||||||
const QString VelocityActual::DESCRIPTION = QString("Updated by @ref AHRSCommsModule and used within @ref GuidanceModulefor velocity control");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
VelocityActual::VelocityActual(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList NorthElemNames;
|
|
||||||
NorthElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("North"), QString("cm/s"), UAVObjectField::INT32, NorthElemNames, QStringList()) );
|
|
||||||
QStringList EastElemNames;
|
|
||||||
EastElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("East"), QString("cm/s"), UAVObjectField::INT32, EastElemNames, QStringList()) );
|
|
||||||
QStringList DownElemNames;
|
|
||||||
DownElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Down"), QString("cm/s"), UAVObjectField::INT32, DownElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata VelocityActual::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 0;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 0;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 1000;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.loggingUpdatePeriod = 1000;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void VelocityActual::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
VelocityActual::DataFields VelocityActual::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void VelocityActual::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* VelocityActual::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
VelocityActual* obj = new VelocityActual();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
VelocityActual* VelocityActual::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<VelocityActual*>(objMngr->getObject(VelocityActual::OBJID, instID));
|
|
||||||
}
|
|
@ -1,137 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file velocitydesired.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: velocitydesired.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "velocitydesired.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString VelocityDesired::NAME = QString("VelocityDesired");
|
|
||||||
const QString VelocityDesired::DESCRIPTION = QString("Used within @ref GuidanceModule to communicate between the task computing the desired velocity and the PID loop to achieve it (running at different rates).");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
VelocityDesired::VelocityDesired(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList NorthElemNames;
|
|
||||||
NorthElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("North"), QString("cm/s"), UAVObjectField::INT32, NorthElemNames, QStringList()) );
|
|
||||||
QStringList EastElemNames;
|
|
||||||
EastElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("East"), QString("cm/s"), UAVObjectField::INT32, EastElemNames, QStringList()) );
|
|
||||||
QStringList DownElemNames;
|
|
||||||
DownElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("Down"), QString("cm/s"), UAVObjectField::INT32, DownElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata VelocityDesired::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 0;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 0;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 1000;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.loggingUpdatePeriod = 1000;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void VelocityDesired::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
VelocityDesired::DataFields VelocityDesired::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void VelocityDesired::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* VelocityDesired::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
VelocityDesired* obj = new VelocityDesired();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
VelocityDesired* VelocityDesired::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<VelocityDesired*>(objMngr->getObject(VelocityDesired::OBJID, instID));
|
|
||||||
}
|
|
@ -1,134 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
*
|
|
||||||
* @file watchdogstatus.cpp
|
|
||||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
||||||
* @see The GNU Public License (GPL) Version 3
|
|
||||||
* @addtogroup GCSPlugins GCS Plugins
|
|
||||||
* @{
|
|
||||||
* @addtogroup UAVObjectsPlugin UAVObjects Plugin
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @note Object definition file: watchdogstatus.xml.
|
|
||||||
* This is an automatically generated file.
|
|
||||||
* DO NOT modify manually.
|
|
||||||
*
|
|
||||||
* @brief The UAVUObjects GCS 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 "watchdogstatus.h"
|
|
||||||
#include "uavobjectfield.h"
|
|
||||||
|
|
||||||
const QString WatchdogStatus::NAME = QString("WatchdogStatus");
|
|
||||||
const QString WatchdogStatus::DESCRIPTION = QString("For monitoring the flags in the watchdog and especially the bootup flags");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
WatchdogStatus::WatchdogStatus(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
|
||||||
{
|
|
||||||
// Create fields
|
|
||||||
QList<UAVObjectField*> fields;
|
|
||||||
QStringList BootupFlagsElemNames;
|
|
||||||
BootupFlagsElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("BootupFlags"), QString(""), UAVObjectField::UINT16, BootupFlagsElemNames, QStringList()) );
|
|
||||||
QStringList ActiveFlagsElemNames;
|
|
||||||
ActiveFlagsElemNames.append("0");
|
|
||||||
fields.append( new UAVObjectField(QString("ActiveFlags"), QString(""), UAVObjectField::UINT16, ActiveFlagsElemNames, QStringList()) );
|
|
||||||
|
|
||||||
// Initialize object
|
|
||||||
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
|
||||||
// Set the default field values
|
|
||||||
setDefaultFieldValues();
|
|
||||||
// Set the object description
|
|
||||||
setDescription(DESCRIPTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the default metadata for this object
|
|
||||||
*/
|
|
||||||
UAVObject::Metadata WatchdogStatus::getDefaultMetadata()
|
|
||||||
{
|
|
||||||
UAVObject::Metadata metadata;
|
|
||||||
metadata.flightAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsAccess = ACCESS_READWRITE;
|
|
||||||
metadata.gcsTelemetryAcked = 0;
|
|
||||||
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
|
||||||
metadata.gcsTelemetryUpdatePeriod = 0;
|
|
||||||
metadata.flightTelemetryAcked = 0;
|
|
||||||
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.flightTelemetryUpdatePeriod = 5000;
|
|
||||||
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
|
|
||||||
metadata.loggingUpdatePeriod = 5000;
|
|
||||||
return metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize object fields with the default values.
|
|
||||||
* If a default value is not specified the object fields
|
|
||||||
* will be initialized to zero.
|
|
||||||
*/
|
|
||||||
void WatchdogStatus::setDefaultFieldValues()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the object data fields
|
|
||||||
*/
|
|
||||||
WatchdogStatus::DataFields WatchdogStatus::getData()
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the object data fields
|
|
||||||
*/
|
|
||||||
void WatchdogStatus::setData(const DataFields& data)
|
|
||||||
{
|
|
||||||
QMutexLocker locker(mutex);
|
|
||||||
// Get metadata
|
|
||||||
Metadata mdata = getMetadata();
|
|
||||||
// Update object if the access mode permits
|
|
||||||
if ( mdata.gcsAccess == ACCESS_READWRITE )
|
|
||||||
{
|
|
||||||
this->data = data;
|
|
||||||
emit objectUpdatedAuto(this); // trigger object updated event
|
|
||||||
emit objectUpdated(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a clone of this object, a new instance ID must be specified.
|
|
||||||
* Do not use this function directly to create new instances, the
|
|
||||||
* UAVObjectManager should be used instead.
|
|
||||||
*/
|
|
||||||
UAVDataObject* WatchdogStatus::clone(quint32 instID)
|
|
||||||
{
|
|
||||||
WatchdogStatus* obj = new WatchdogStatus();
|
|
||||||
obj->initialize(instID, this->getMetaObject());
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static function to retrieve an instance of the object.
|
|
||||||
*/
|
|
||||||
WatchdogStatus* WatchdogStatus::GetInstance(UAVObjectManager* objMngr, quint32 instID)
|
|
||||||
{
|
|
||||||
return dynamic_cast<WatchdogStatus*>(objMngr->getObject(WatchdogStatus::OBJID, instID));
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user