From 93358ee4ae8176476a702e07f2143cd9b280c74c Mon Sep 17 00:00:00 2001 From: marcus bueschleb Date: Wed, 20 Apr 2011 11:38:20 +0200 Subject: [PATCH 1/4] rm useless code --- ground/openpilotgcs/src/plugins/uavtalk/uavtalk.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ground/openpilotgcs/src/plugins/uavtalk/uavtalk.cpp b/ground/openpilotgcs/src/plugins/uavtalk/uavtalk.cpp index ff8784746..784048b92 100644 --- a/ground/openpilotgcs/src/plugins/uavtalk/uavtalk.cpp +++ b/ground/openpilotgcs/src/plugins/uavtalk/uavtalk.cpp @@ -408,7 +408,7 @@ bool UAVTalk::receiveObject(quint8 type, quint32 objId, quint16 instId, quint8* UAVObject* obj = NULL; bool error = false; - bool allInstances = (instId == ALL_INSTANCES? true : false); + bool allInstances = (instId == ALL_INSTANCES); // Process message type switch (type) { From b7eba1f9b9494dcd406e02940bc01aba43f6a159 Mon Sep 17 00:00:00 2001 From: marcus bueschleb Date: Wed, 20 Apr 2011 12:33:16 +0200 Subject: [PATCH 2/4] made all periods unsigned --- flight/UAVObjects/inc/uavobjectmanager.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/flight/UAVObjects/inc/uavobjectmanager.h b/flight/UAVObjects/inc/uavobjectmanager.h index dba819c7c..e7bb8b9c7 100644 --- a/flight/UAVObjects/inc/uavobjectmanager.h +++ b/flight/UAVObjects/inc/uavobjectmanager.h @@ -63,10 +63,10 @@ typedef struct { uint8_t gcsAccess; /** Defines the access level for the local GCS transactions (readonly and readwrite), not used in the flight s/w */ uint8_t telemetryAcked; /** Defines if an ack is required for the transactions of this object (1:acked, 0:not acked) */ uint8_t telemetryUpdateMode; /** Update mode used by the telemetry module (UAVObjUpdateMode) */ - int32_t telemetryUpdatePeriod; /** Update period used by the telemetry module (only if telemetry mode is PERIODIC) */ + uint32_t telemetryUpdatePeriod; /** Update period used by the telemetry module (only if telemetry mode is PERIODIC) */ uint8_t gcsTelemetryAcked; /** Defines if an ack is required for the transactions of this object (1:acked, 0:not acked) */ uint8_t gcsTelemetryUpdateMode; /** Update mode used by the GCS (UAVObjUpdateMode) */ - int32_t gcsTelemetryUpdatePeriod; /** Update period used by the GCS (only if telemetry mode is PERIODIC) */ + uint32_t gcsTelemetryUpdatePeriod; /** Update period used by the GCS (only if telemetry mode is PERIODIC) */ uint8_t loggingUpdateMode; /** Update mode used by the logging module (UAVObjUpdateMode) */ uint32_t loggingUpdatePeriod; /** Update period used by the logging module (only if logging mode is PERIODIC) */ } __attribute__((packed)) UAVObjMetadata; From 06ac71b7848ab6558eac3fcbbd8c4d737f647310 Mon Sep 17 00:00:00 2001 From: marcus bueschleb Date: Sun, 24 Apr 2011 03:43:05 +0200 Subject: [PATCH 3/4] do not force telemetry update when alarm is changed - this was bypassing the MetaData of the UAVObject and seem to be a relict from times where no metadata existed - now doing it the MetaData way with onchange as updatemode - see http://forums.openpilot.org/topic/4208-systemalarms-bypassing-updatemode-from-metadata/ and OP-431 --- flight/CopterControl/System/alarms.c | 1 - flight/OpenPilot/System/alarms.c | 1 - shared/uavobjectdefinition/systemalarms.xml | 2 +- 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/flight/CopterControl/System/alarms.c b/flight/CopterControl/System/alarms.c index 2ebc6385f..e899be779 100644 --- a/flight/CopterControl/System/alarms.c +++ b/flight/CopterControl/System/alarms.c @@ -77,7 +77,6 @@ int32_t AlarmsSet(SystemAlarmsAlarmElem alarm, SystemAlarmsAlarmOptions severity { alarms.Alarm[alarm] = severity; SystemAlarmsSet(&alarms); - SystemAlarmsUpdated(); // force telemetry update since the alarm was changed } // Release lock diff --git a/flight/OpenPilot/System/alarms.c b/flight/OpenPilot/System/alarms.c index 2ebc6385f..e899be779 100644 --- a/flight/OpenPilot/System/alarms.c +++ b/flight/OpenPilot/System/alarms.c @@ -77,7 +77,6 @@ int32_t AlarmsSet(SystemAlarmsAlarmElem alarm, SystemAlarmsAlarmOptions severity { alarms.Alarm[alarm] = severity; SystemAlarmsSet(&alarms); - SystemAlarmsUpdated(); // force telemetry update since the alarm was changed } // Release lock diff --git a/shared/uavobjectdefinition/systemalarms.xml b/shared/uavobjectdefinition/systemalarms.xml index 622afc173..54eedc8cd 100644 --- a/shared/uavobjectdefinition/systemalarms.xml +++ b/shared/uavobjectdefinition/systemalarms.xml @@ -5,7 +5,7 @@ elementnames="OutOfMemory,StackOverflow,CPUOverload,EventSystem,SDCard,Telemetry,ManualControl,Actuator,Attitude,Stabilization,Guidance,AHRSComms,Battery,FlightTime,I2C,GPS" defaultvalue="Uninitialised"/> - + From 8c7f3e2720721e6fb5a9300179daa62fabc9fd47 Mon Sep 17 00:00:00 2001 From: Corvus Corax Date: Mon, 25 Apr 2011 18:37:28 +0200 Subject: [PATCH 4/4] OP-435 #ifdef covered one command too many - bugfix --- flight/Modules/GPS/GPS.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/flight/Modules/GPS/GPS.c b/flight/Modules/GPS/GPS.c index d649de994..80fb044d9 100644 --- a/flight/Modules/GPS/GPS.c +++ b/flight/Modules/GPS/GPS.c @@ -322,11 +322,12 @@ static void gpsTask(void *parameters) else { // we appear to be receiving GPS sentences OK, we've had an update + GPSPositionGet(&GpsData); + #ifdef PIOS_GPS_SETS_HOMELOCATION HomeLocationData home; HomeLocationGet(&home); - GPSPositionGet(&GpsData); if ((GpsData.Status == GPSPOSITION_STATUS_FIX3D) && (home.Set == HOMELOCATION_SET_FALSE)) setHomeLocation(&GpsData); #endif