mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-19 09: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