1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-02-20 10:54:14 +01:00

UAVObjects ; Modules/ManualControl: Fixed metadata interface and segfault when retrieving it

This commit is contained in:
Corvus Corax 2011-11-30 08:18:23 +01:00
parent bea6b18246
commit a0cd71abe6
3 changed files with 6 additions and 6 deletions

View File

@ -207,7 +207,7 @@ static void actuatorTask(void* parameters)
nMixers ++;
}
}
if((nMixers < 2) && !ActuatorCommandReadOnly(dummy)) //Nothing can fly with less than two mixers.
if((nMixers < 2) && !ActuatorCommandReadOnly()) //Nothing can fly with less than two mixers.
{
setFailsafe(); // So that channels like PWM buzzer keep working
continue;

View File

@ -189,19 +189,19 @@ static void manualControlTask(void *parameters)
lastActivityTime = lastSysTime;
}
if (ManualControlCommandReadOnly(&cmd)) {
if (ManualControlCommandReadOnly()) {
FlightTelemetryStatsData flightTelemStats;
FlightTelemetryStatsGet(&flightTelemStats);
if(flightTelemStats.Status != FLIGHTTELEMETRYSTATS_STATUS_CONNECTED) {
/* trying to fly via GCS and lost connection. fall back to transmitter */
UAVObjMetadata metadata;
UAVObjGetMetadata(&cmd, &metadata);
ManualControlCommandGetMetadata(&metadata);
metadata.access = ACCESS_READWRITE;
UAVObjSetMetadata(&cmd, &metadata);
ManualControlCommandSetMetadata(&metadata);
}
}
if (!ManualControlCommandReadOnly(&cmd)) {
if (!ManualControlCommandReadOnly()) {
bool valid_input_detected = true;

View File

@ -67,7 +67,7 @@
#define $(NAME)InstUpdated(instId) UAVObjUpdated($(NAME)Handle(), instId)
#define $(NAME)GetMetadata(dataOut) UAVObjGetMetadata($(NAME)Handle(), dataOut)
#define $(NAME)SetMetadata(dataIn) UAVObjSetMetadata($(NAME)Handle(), dataIn)
#define $(NAME)ReadOnly(dataIn) UAVObjReadOnly($(NAME)Handle())
#define $(NAME)ReadOnly() UAVObjReadOnly($(NAME)Handle())
// Object data
typedef struct {