1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-02-18 08:54:15 +01:00

OP-25: GPS object update

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@513 ebee16cc-31ac-478f-84a7-5cbb03baadba
This commit is contained in:
sambas 2010-04-17 08:12:05 +00:00 committed by sambas
parent 03a012c347
commit 670ac85e79
5 changed files with 16 additions and 12 deletions

View File

@ -49,11 +49,11 @@ int32_t GpsObjectInitialize()
// Initialize metadata
metadata.telemetryAcked = 1;
metadata.telemetryUpdateMode = UPDATEMODE_ONCHANGE;
metadata.telemetryUpdatePeriod = 0;
metadata.telemetryUpdateMode = UPDATEMODE_PERIODIC;
metadata.telemetryUpdatePeriod = 1000;
metadata.gcsTelemetryAcked = 1;
metadata.gcsTelemetryUpdateMode = UPDATEMODE_PERIODIC;
metadata.gcsTelemetryUpdatePeriod = 1000;
metadata.gcsTelemetryUpdateMode = UPDATEMODE_ONCHANGE;
metadata.gcsTelemetryUpdatePeriod = 0;
metadata.loggingUpdateMode = UPDATEMODE_NEVER;
metadata.loggingUpdatePeriod = 0;
UAVObjSetMetadata(handle, &metadata);

View File

@ -35,7 +35,7 @@
#include "openpilot.h"
// Object constants
#define GPSOBJECT_OBJID 253092234U
#define GPSOBJECT_OBJID 4042402288U
#define GPSOBJECT_NAME "GpsObject"
#define GPSOBJECT_ISSINGLEINST 0
#define GPSOBJECT_ISSETTINGS 0
@ -61,6 +61,7 @@ typedef struct {
float Latitude;
float Longitude;
float Altitude;
int8_t Satellites;
} __attribute__((packed)) GpsObjectData;

View File

@ -40,6 +40,7 @@ GpsObject::GpsObject(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
fields.append(new UAVObjectFieldFloat(QString("Latitude"), QString("degrees"), 1));
fields.append(new UAVObjectFieldFloat(QString("Longitude"), QString("degrees"), 1));
fields.append(new UAVObjectFieldFloat(QString("Altitude"), QString("meters"), 1));
fields.append(new UAVObjectFieldInt8(QString("Satellites"), QString(""), 1));
// Initialize object
initializeFields(fields, (quint8*)&data, NUMBYTES);
@ -49,11 +50,11 @@ UAVObject::Metadata GpsObject::getDefaultMetadata()
{
UAVObject::Metadata metadata;
metadata.gcsTelemetryAcked = 1;
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
metadata.gcsTelemetryUpdatePeriod = 1000;
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
metadata.gcsTelemetryUpdatePeriod = 0;
metadata.flightTelemetryAcked = 1;
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE;
metadata.flightTelemetryUpdatePeriod = 0;
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
metadata.flightTelemetryUpdatePeriod = 1000;
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
metadata.loggingUpdatePeriod = 0;
return metadata;

View File

@ -43,6 +43,7 @@ public:
float Latitude;
float Longitude;
float Altitude;
qint8 Satellites;
} __attribute__((packed)) DataFields;
@ -50,7 +51,7 @@ public:
// Constants
static const quint32 OBJID = 253092234U;
static const quint32 OBJID = 4042402288U;
static const QString NAME;
static const bool ISSINGLEINST = 0;
static const bool ISSETTINGS = 0;

View File

@ -3,8 +3,9 @@
<field name="Latitude" units="degrees" type="float" elements="1"/>
<field name="Longitude" units="degrees" type="float" elements="1"/>
<field name="Altitude" units="meters" type="float" elements="1"/>
<telemetrygcs acked="true" updatemode="periodic" period="1000"/>
<telemetryflight acked="true" updatemode="onchange" period="0"/>
<field name="Satellites" units="" type="int8" elements="1"/>
<telemetrygcs acked="true" updatemode="onchange" period="0"/>
<telemetryflight acked="true" updatemode="periodic" period="1000"/>
<logging updatemode="never" period="0"/>
</object>
</xml>