mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-01-30 15:52:12 +01:00
Rework the altitude hold code a bit
This commit is contained in:
parent
49a03a868b
commit
c6b1d6b8df
@ -46,7 +46,9 @@
|
|||||||
#include "openpilot.h"
|
#include "openpilot.h"
|
||||||
#include "altitudeholdsettings.h"
|
#include "altitudeholdsettings.h"
|
||||||
#include "altitudeholddesired.h" // object that will be updated by the module
|
#include "altitudeholddesired.h" // object that will be updated by the module
|
||||||
|
#include "baroaltitude.h"
|
||||||
#include "positionactual.h"
|
#include "positionactual.h"
|
||||||
|
#include "flightstatus.h"
|
||||||
#include "stabilizationdesired.h"
|
#include "stabilizationdesired.h"
|
||||||
|
|
||||||
// Private constants
|
// Private constants
|
||||||
@ -58,6 +60,7 @@
|
|||||||
// Private variables
|
// Private variables
|
||||||
static xTaskHandle altitudeHoldTaskHandle;
|
static xTaskHandle altitudeHoldTaskHandle;
|
||||||
static xQueueHandle queue;
|
static xQueueHandle queue;
|
||||||
|
static AltitudeHoldSettingsData altitudeHoldSettings;
|
||||||
|
|
||||||
// Private functions
|
// Private functions
|
||||||
static void altitudeHoldTask(void *parameters);
|
static void altitudeHoldTask(void *parameters);
|
||||||
@ -90,6 +93,7 @@ int32_t AltitudeHoldInitialize()
|
|||||||
|
|
||||||
// Listen for updates.
|
// Listen for updates.
|
||||||
AltitudeHoldDesiredConnectQueue(queue);
|
AltitudeHoldDesiredConnectQueue(queue);
|
||||||
|
FlightStatusConnectQueue(queue);
|
||||||
|
|
||||||
AltitudeHoldSettingsConnectCallback(&SettingsUpdatedCb);
|
AltitudeHoldSettingsConnectCallback(&SettingsUpdatedCb);
|
||||||
|
|
||||||
@ -97,7 +101,11 @@ int32_t AltitudeHoldInitialize()
|
|||||||
}
|
}
|
||||||
MODULE_INITCALL(AltitudeHoldInitialize, AltitudeHoldStart)
|
MODULE_INITCALL(AltitudeHoldInitialize, AltitudeHoldStart)
|
||||||
|
|
||||||
static float throttleIntegral = 0;
|
float tau;
|
||||||
|
float velocity, lastAltitude;
|
||||||
|
float throttleIntegral;
|
||||||
|
float decay;
|
||||||
|
bool running = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Module thread, should not return.
|
* Module thread, should not return.
|
||||||
@ -106,11 +114,10 @@ static void altitudeHoldTask(void *parameters)
|
|||||||
{
|
{
|
||||||
AltitudeHoldSettingsData altitudeHoldSettings;
|
AltitudeHoldSettingsData altitudeHoldSettings;
|
||||||
AltitudeHoldDesiredData altitudeHoldDesired;
|
AltitudeHoldDesiredData altitudeHoldDesired;
|
||||||
PositionActualData positionActual;
|
BaroAltitudeData baroAltitude;
|
||||||
StabilizationDesiredData stabilizationDesired;
|
StabilizationDesiredData stabilizationDesired;
|
||||||
|
|
||||||
portTickType thisTime;
|
portTickType thisTime, lastSysTime;
|
||||||
portTickType lastSysTime;
|
|
||||||
UAVObjEvent ev;
|
UAVObjEvent ev;
|
||||||
|
|
||||||
// Force update of the settings
|
// Force update of the settings
|
||||||
@ -124,35 +131,46 @@ static void altitudeHoldTask(void *parameters)
|
|||||||
if ( xQueueReceive(queue, &ev, 100 / portTICK_RATE_MS) != pdTRUE )
|
if ( xQueueReceive(queue, &ev, 100 / portTICK_RATE_MS) != pdTRUE )
|
||||||
{
|
{
|
||||||
// Todo: Add alarm if it should be running
|
// Todo: Add alarm if it should be running
|
||||||
throttleIntegral = 0;
|
|
||||||
continue;
|
continue;
|
||||||
} else {
|
} else if (ev.obj == BaroAltitudeHandle()) {
|
||||||
PositionActualGet(&positionActual);
|
BaroAltitudeGet(&baroAltitude);
|
||||||
StabilizationDesiredGet(&stabilizationDesired);
|
StabilizationDesiredGet(&stabilizationDesired);
|
||||||
float dT;
|
float dT;
|
||||||
|
|
||||||
|
// Verify that we are still in altitude hold mode
|
||||||
|
FlightStatusData flightStatus;
|
||||||
|
FlightStatusGet(&flightStatus);
|
||||||
|
if(flightStatus.FlightMode != FLIGHTSTATUS_FLIGHTMODE_ALTITUDEHOLD) {
|
||||||
|
UAVObjDisconnectQueue(BaroAltitudeHandle(), queue);
|
||||||
|
running = false;
|
||||||
|
}
|
||||||
|
|
||||||
thisTime = xTaskGetTickCount();
|
thisTime = xTaskGetTickCount();
|
||||||
if(thisTime > lastSysTime) // reuse dt in case of wraparound
|
dT = ((portTickType)(thisTime - lastSysTime)) / portTICK_RATE_MS / 1000.0f;
|
||||||
dT = (thisTime - lastSysTime) / portTICK_RATE_MS / 1000.0f;
|
|
||||||
lastSysTime = thisTime;
|
lastSysTime = thisTime;
|
||||||
|
|
||||||
static float altitude;
|
|
||||||
const float altitudeTau = 0.1;
|
|
||||||
|
|
||||||
|
|
||||||
// Flipping sign on error since altitude is "down"
|
// Flipping sign on error since altitude is "down"
|
||||||
float error = - (altitudeHoldDesired.Down - positionActual.Down);
|
float error = (altitudeHoldDesired.Altitude - baroAltitude.Altitude);
|
||||||
static float
|
|
||||||
throttleIntegral += error * altitudeHoldSettings.Ki * dT * 1000;
|
// Estimate velocity by smoothing derivative
|
||||||
if(throttleIntegral > altitudeHoldSettings.ILimit)
|
decay = expf(-dT / tau);
|
||||||
throttleIntegral = altitudeHoldSettings.ILimit;
|
velocity = velocity * decay + (baroAltitude.Altitude - lastAltitude) / dT * (1-decay); // m/s
|
||||||
else if (throttleIntegral < 0)
|
lastAltitude = baroAltitude.Altitude;
|
||||||
throttleIntegral = 0;
|
|
||||||
stabilizationDesired.Throttle = error * altitudeHoldSettings.Kp + throttleIntegral;
|
// Compute integral off altitude error
|
||||||
if(stabilizationDesired.Throttle > 1)
|
throttleIntegral += error * altitudeHoldSettings.Ki * dT;
|
||||||
|
|
||||||
|
// Instead of explicit limit on integral you output limit feedback
|
||||||
|
stabilizationDesired.Throttle = error * altitudeHoldSettings.Kp + throttleIntegral -
|
||||||
|
velocity * altitudeHoldSettings.Kd;
|
||||||
|
if(stabilizationDesired.Throttle > 1) {
|
||||||
|
throttleIntegral -= (stabilizationDesired.Throttle - 1);
|
||||||
stabilizationDesired.Throttle = 1;
|
stabilizationDesired.Throttle = 1;
|
||||||
else if (stabilizationDesired.Throttle < 0)
|
}
|
||||||
|
else if (stabilizationDesired.Throttle < 0) {
|
||||||
|
throttleIntegral -= stabilizationDesired.Throttle;
|
||||||
stabilizationDesired.Throttle = 0;
|
stabilizationDesired.Throttle = 0;
|
||||||
|
}
|
||||||
|
|
||||||
stabilizationDesired.StabilizationMode[STABILIZATIONDESIRED_STABILIZATIONMODE_ROLL] = STABILIZATIONDESIRED_STABILIZATIONMODE_ATTITUDE;
|
stabilizationDesired.StabilizationMode[STABILIZATIONDESIRED_STABILIZATIONMODE_ROLL] = STABILIZATIONDESIRED_STABILIZATIONMODE_ATTITUDE;
|
||||||
stabilizationDesired.StabilizationMode[STABILIZATIONDESIRED_STABILIZATIONMODE_PITCH] = STABILIZATIONDESIRED_STABILIZATIONMODE_ATTITUDE;
|
stabilizationDesired.StabilizationMode[STABILIZATIONDESIRED_STABILIZATIONMODE_PITCH] = STABILIZATIONDESIRED_STABILIZATIONMODE_ATTITUDE;
|
||||||
@ -161,6 +179,20 @@ static void altitudeHoldTask(void *parameters)
|
|||||||
stabilizationDesired.Pitch = altitudeHoldDesired.Pitch;
|
stabilizationDesired.Pitch = altitudeHoldDesired.Pitch;
|
||||||
stabilizationDesired.Yaw = altitudeHoldDesired.Yaw;
|
stabilizationDesired.Yaw = altitudeHoldDesired.Yaw;
|
||||||
StabilizationDesiredSet(&stabilizationDesired);
|
StabilizationDesiredSet(&stabilizationDesired);
|
||||||
|
} else if (ev.obj == FlightStatusHandle()) {
|
||||||
|
FlightStatusData flightStatus;
|
||||||
|
FlightStatusGet(&flightStatus);
|
||||||
|
|
||||||
|
if(flightStatus.FlightMode == FLIGHTSTATUS_FLIGHTMODE_ALTITUDEHOLD && !running) {
|
||||||
|
BaroAltitudeConnectQueue(queue);
|
||||||
|
// Copy the current throttle as a starting point for integral
|
||||||
|
StabilizationDesiredThrottleGet(&throttleIntegral);
|
||||||
|
throttleIntegral /= altitudeHoldSettings.Ki;
|
||||||
|
running = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
} else if (ev.obj == AltitudeHoldDesiredHandle()) {
|
||||||
|
AltitudeHoldDesiredGet(&altitudeHoldDesired);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -168,13 +200,7 @@ static void altitudeHoldTask(void *parameters)
|
|||||||
|
|
||||||
static void SettingsUpdatedCb(UAVObjEvent * ev)
|
static void SettingsUpdatedCb(UAVObjEvent * ev)
|
||||||
{
|
{
|
||||||
AltitudeHoldDesiredGet(&altitudeHoldDesired);
|
|
||||||
AltitudeHoldSettingsGet(&altitudeHoldSettings);
|
AltitudeHoldSettingsGet(&altitudeHoldSettings);
|
||||||
|
|
||||||
const float fakeDt = 0.0025;
|
tau = altitudeHoldSettings.Tau / 1000.0f;
|
||||||
if(settings.GyroTau < 0.0001)
|
|
||||||
gyro_alpha = 0; // not trusting this to resolve to 0
|
|
||||||
else
|
|
||||||
gyro_alpha = expf(-fakeDt / settings.GyroTau);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -46,6 +46,7 @@
|
|||||||
#include "receiveractivity.h"
|
#include "receiveractivity.h"
|
||||||
#include "altitudeholddesired.h"
|
#include "altitudeholddesired.h"
|
||||||
#include "positionactual.h"
|
#include "positionactual.h"
|
||||||
|
#include "baroaltitude.h"
|
||||||
|
|
||||||
// Private constants
|
// Private constants
|
||||||
#if defined(PIOS_MANUAL_STACK_SIZE)
|
#if defined(PIOS_MANUAL_STACK_SIZE)
|
||||||
@ -626,12 +627,14 @@ static void altitudeHoldDesired(ManualControlCommandData * cmd)
|
|||||||
PositionActualDownGet(¤tDown);
|
PositionActualDownGet(¤tDown);
|
||||||
if(dT > 1) {
|
if(dT > 1) {
|
||||||
// After not being in this mode for a while init at current height
|
// After not being in this mode for a while init at current height
|
||||||
altitudeHoldDesired.Down = currentDown;
|
BaroAltitudeData baroAltitude;
|
||||||
|
BaroAltitudeGet(&baroAltitude);
|
||||||
|
altitudeHoldDesired.Altitude = baroAltitude.Altitude;
|
||||||
zeroed = false;
|
zeroed = false;
|
||||||
} else if (cmd->Throttle > DEADBAND_HIGH && zeroed)
|
} else if (cmd->Throttle > DEADBAND_HIGH && zeroed)
|
||||||
altitudeHoldDesired.Down += (DEADBAND_HIGH - cmd->Throttle) * dT;
|
altitudeHoldDesired.Altitude += (cmd->Throttle - DEADBAND_HIGH) * dT;
|
||||||
else if (cmd->Throttle < DEADBAND_LOW && zeroed)
|
else if (cmd->Throttle < DEADBAND_LOW && zeroed)
|
||||||
altitudeHoldDesired.Down += (DEADBAND_LOW - cmd->Throttle) * dT;
|
altitudeHoldDesired.Altitude += (cmd->Throttle - DEADBAND_LOW) * dT;
|
||||||
else if (cmd->Throttle >= DEADBAND_LOW && cmd->Throttle <= DEADBAND_HIGH) // Require the stick to enter the dead band before they can move height
|
else if (cmd->Throttle >= DEADBAND_LOW && cmd->Throttle <= DEADBAND_HIGH) // Require the stick to enter the dead band before they can move height
|
||||||
zeroed = true;
|
zeroed = true;
|
||||||
|
|
||||||
|
@ -8,7 +8,6 @@
|
|||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
65003B31121249CA00C183DD /* pios_wdg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pios_wdg.c; sourceTree = "<group>"; };
|
65003B31121249CA00C183DD /* pios_wdg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pios_wdg.c; sourceTree = "<group>"; };
|
||||||
65078B09136FCEE600536549 /* flightstatus.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = flightstatus.xml; sourceTree = "<group>"; };
|
|
||||||
650D8ED112DFE17500D05CC9 /* uavtalk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uavtalk.h; sourceTree = "<group>"; };
|
650D8ED112DFE17500D05CC9 /* uavtalk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uavtalk.h; sourceTree = "<group>"; };
|
||||||
650D8ED212DFE17500D05CC9 /* uavtalk.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uavtalk.c; sourceTree = "<group>"; };
|
650D8ED212DFE17500D05CC9 /* uavtalk.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uavtalk.c; sourceTree = "<group>"; };
|
||||||
65173C9F12EBFD1700D6A7CB /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; name = Makefile; path = ../../../Makefile; sourceTree = SOURCE_ROOT; };
|
65173C9F12EBFD1700D6A7CB /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; name = Makefile; path = ../../../Makefile; sourceTree = SOURCE_ROOT; };
|
||||||
@ -28,14 +27,11 @@
|
|||||||
6528CCB412E406B800CF5144 /* pios_adxl345.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pios_adxl345.c; sourceTree = "<group>"; };
|
6528CCB412E406B800CF5144 /* pios_adxl345.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pios_adxl345.c; sourceTree = "<group>"; };
|
||||||
6528CCE212E40F6700CF5144 /* pios_adxl345.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pios_adxl345.h; sourceTree = "<group>"; };
|
6528CCE212E40F6700CF5144 /* pios_adxl345.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pios_adxl345.h; sourceTree = "<group>"; };
|
||||||
652A445514D116AE00835B68 /* board_hw_defs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = board_hw_defs.c; path = ../../board_hw_defs/revolution/board_hw_defs.c; sourceTree = "<group>"; };
|
652A445514D116AE00835B68 /* board_hw_defs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = board_hw_defs.c; path = ../../board_hw_defs/revolution/board_hw_defs.c; sourceTree = "<group>"; };
|
||||||
652C8568132B632A00BFCC70 /* firmwareiapobj.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = firmwareiapobj.xml; sourceTree = "<group>"; };
|
|
||||||
652C856A132B6EA600BFCC70 /* sonaraltitude.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = sonaraltitude.xml; sourceTree = "<group>"; };
|
|
||||||
652EF83814DF229C00C461BB /* Modules */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Modules; path = ../../Modules; sourceTree = "<group>"; };
|
652EF83814DF229C00C461BB /* Modules */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Modules; path = ../../Modules; sourceTree = "<group>"; };
|
||||||
65322D3B122841F60046CD7C /* gpstime.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = gpstime.xml; sourceTree = "<group>"; };
|
65322D3B122841F60046CD7C /* gpstime.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = gpstime.xml; sourceTree = "<group>"; };
|
||||||
65345C871288668B00A5E4E8 /* guidancesettings.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = guidancesettings.xml; sourceTree = "<group>"; };
|
65345C871288668B00A5E4E8 /* guidancesettings.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = guidancesettings.xml; sourceTree = "<group>"; };
|
||||||
6534B5571474F78B003DF47C /* pios_mpu6000.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pios_mpu6000.h; sourceTree = "<group>"; };
|
6534B5571474F78B003DF47C /* pios_mpu6000.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pios_mpu6000.h; sourceTree = "<group>"; };
|
||||||
6534B55B1476D3A8003DF47C /* pios_ms5611.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pios_ms5611.h; sourceTree = "<group>"; };
|
6534B55B1476D3A8003DF47C /* pios_ms5611.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pios_ms5611.h; sourceTree = "<group>"; };
|
||||||
6536D47B1307962C0042A298 /* stabilizationdesired.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = stabilizationdesired.xml; sourceTree = "<group>"; };
|
|
||||||
65408AA812BB1648004DACC5 /* i2cstats.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = i2cstats.xml; sourceTree = "<group>"; };
|
65408AA812BB1648004DACC5 /* i2cstats.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = i2cstats.xml; sourceTree = "<group>"; };
|
||||||
6543A04514CF1823004EEC4C /* board_hw_defs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = board_hw_defs.c; sourceTree = "<group>"; };
|
6543A04514CF1823004EEC4C /* board_hw_defs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = board_hw_defs.c; sourceTree = "<group>"; };
|
||||||
6543A04B14CF1823004EEC4C /* board_hw_defs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = board_hw_defs.c; sourceTree = "<group>"; };
|
6543A04B14CF1823004EEC4C /* board_hw_defs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = board_hw_defs.c; sourceTree = "<group>"; };
|
||||||
@ -2758,45 +2754,6 @@
|
|||||||
65B367FE121C2620003EAD18 /* telemetrysettings.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = telemetrysettings.xml; sourceTree = "<group>"; };
|
65B367FE121C2620003EAD18 /* telemetrysettings.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = telemetrysettings.xml; sourceTree = "<group>"; };
|
||||||
65B367FF121C2620003EAD18 /* src.pro */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = src.pro; sourceTree = "<group>"; };
|
65B367FF121C2620003EAD18 /* src.pro */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = src.pro; sourceTree = "<group>"; };
|
||||||
65BBB6A214CE77EB0003A16F /* pios_iap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pios_iap.c; sourceTree = "<group>"; };
|
65BBB6A214CE77EB0003A16F /* pios_iap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pios_iap.c; sourceTree = "<group>"; };
|
||||||
65C35E5012EFB2F3004811C2 /* actuatorcommand.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = actuatorcommand.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E5112EFB2F3004811C2 /* actuatordesired.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = actuatordesired.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E5212EFB2F3004811C2 /* actuatorsettings.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = actuatorsettings.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E5312EFB2F3004811C2 /* ahrscalibration.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = ahrscalibration.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E5412EFB2F3004811C2 /* ahrssettings.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = ahrssettings.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E5512EFB2F3004811C2 /* ahrsstatus.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = ahrsstatus.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E5612EFB2F3004811C2 /* attitudeactual.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = attitudeactual.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E5812EFB2F3004811C2 /* attituderaw.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = attituderaw.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E5912EFB2F3004811C2 /* baroaltitude.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = baroaltitude.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E5C12EFB2F3004811C2 /* flightbatterystate.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = flightbatterystate.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E5D12EFB2F3004811C2 /* flightplancontrol.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = flightplancontrol.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E5E12EFB2F3004811C2 /* flightplansettings.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = flightplansettings.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E5F12EFB2F3004811C2 /* flightplanstatus.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = flightplanstatus.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E6012EFB2F3004811C2 /* flighttelemetrystats.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = flighttelemetrystats.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E6112EFB2F3004811C2 /* gcstelemetrystats.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = gcstelemetrystats.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E6212EFB2F3004811C2 /* gpsposition.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = gpsposition.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E6312EFB2F3004811C2 /* gpssatellites.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = gpssatellites.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E6412EFB2F3004811C2 /* gpstime.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = gpstime.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E6512EFB2F3004811C2 /* guidancesettings.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = guidancesettings.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E6612EFB2F3004811C2 /* homelocation.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = homelocation.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E6712EFB2F3004811C2 /* i2cstats.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = i2cstats.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E6812EFB2F3004811C2 /* manualcontrolcommand.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = manualcontrolcommand.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E6912EFB2F3004811C2 /* manualcontrolsettings.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = manualcontrolsettings.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E6A12EFB2F3004811C2 /* mixersettings.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = mixersettings.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E6B12EFB2F3004811C2 /* mixerstatus.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = mixerstatus.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E6C12EFB2F3004811C2 /* nedaccel.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = nedaccel.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E6D12EFB2F3004811C2 /* objectpersistence.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = objectpersistence.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E6E12EFB2F3004811C2 /* positionactual.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = positionactual.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E6F12EFB2F3004811C2 /* positiondesired.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = positiondesired.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E7012EFB2F3004811C2 /* ratedesired.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = ratedesired.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E7112EFB2F3004811C2 /* stabilizationsettings.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = stabilizationsettings.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E7212EFB2F3004811C2 /* systemalarms.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = systemalarms.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E7312EFB2F3004811C2 /* systemsettings.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = systemsettings.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E7412EFB2F3004811C2 /* systemstats.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = systemstats.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E7512EFB2F3004811C2 /* taskinfo.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = taskinfo.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E7612EFB2F3004811C2 /* telemetrysettings.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = telemetrysettings.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E7712EFB2F3004811C2 /* velocityactual.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = velocityactual.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E7812EFB2F3004811C2 /* velocitydesired.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = velocitydesired.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E7912EFB2F3004811C2 /* watchdogstatus.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = watchdogstatus.xml; sourceTree = "<group>"; };
|
|
||||||
65C35E9E12F0A834004811C2 /* uavobjecttemplate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uavobjecttemplate.c; sourceTree = "<group>"; };
|
65C35E9E12F0A834004811C2 /* uavobjecttemplate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uavobjecttemplate.c; sourceTree = "<group>"; };
|
||||||
65C35E9F12F0A834004811C2 /* uavobjectsinittemplate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uavobjectsinittemplate.c; sourceTree = "<group>"; };
|
65C35E9F12F0A834004811C2 /* uavobjectsinittemplate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uavobjectsinittemplate.c; sourceTree = "<group>"; };
|
||||||
65C35EA012F0A834004811C2 /* uavobjectsinit_cc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uavobjectsinit_cc.c; sourceTree = "<group>"; };
|
65C35EA012F0A834004811C2 /* uavobjectsinit_cc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uavobjectsinit_cc.c; sourceTree = "<group>"; };
|
||||||
@ -2813,7 +2770,7 @@
|
|||||||
65D2CA851248F9A400B1E7D6 /* mixerstatus.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = mixerstatus.xml; sourceTree = "<group>"; };
|
65D2CA851248F9A400B1E7D6 /* mixerstatus.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = mixerstatus.xml; sourceTree = "<group>"; };
|
||||||
65DEA78513F0FE6000095B06 /* stm32f2xx_conf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stm32f2xx_conf.h; sourceTree = "<group>"; };
|
65DEA78513F0FE6000095B06 /* stm32f2xx_conf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stm32f2xx_conf.h; sourceTree = "<group>"; };
|
||||||
65DEA78613F1118400095B06 /* pios_bma180.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pios_bma180.h; sourceTree = "<group>"; };
|
65DEA78613F1118400095B06 /* pios_bma180.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pios_bma180.h; sourceTree = "<group>"; };
|
||||||
65E410AE12F65AEA00725888 /* attitudesettings.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = attitudesettings.xml; sourceTree = "<group>"; };
|
65E466BC14E244020075459C /* uavobjectdefinition */ = {isa = PBXFileReference; lastKnownFileType = folder; path = uavobjectdefinition; sourceTree = "<group>"; };
|
||||||
65E6DF7112E02E8E00058553 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
|
65E6DF7112E02E8E00058553 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
|
||||||
65E6DF7312E02E8E00058553 /* alarms.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = alarms.c; sourceTree = "<group>"; };
|
65E6DF7312E02E8E00058553 /* alarms.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = alarms.c; sourceTree = "<group>"; };
|
||||||
65E6DF7412E02E8E00058553 /* coptercontrol.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = coptercontrol.c; sourceTree = "<group>"; };
|
65E6DF7412E02E8E00058553 /* coptercontrol.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = coptercontrol.c; sourceTree = "<group>"; };
|
||||||
@ -2860,7 +2817,6 @@
|
|||||||
65E6E09912E037C800058553 /* pios_adc_priv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pios_adc_priv.h; sourceTree = "<group>"; };
|
65E6E09912E037C800058553 /* pios_adc_priv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pios_adc_priv.h; sourceTree = "<group>"; };
|
||||||
65E8C743139A6D0900E1F979 /* pios_crc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pios_crc.c; sourceTree = "<group>"; };
|
65E8C743139A6D0900E1F979 /* pios_crc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pios_crc.c; sourceTree = "<group>"; };
|
||||||
65E8C745139A6D1A00E1F979 /* pios_crc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pios_crc.h; sourceTree = "<group>"; };
|
65E8C745139A6D1A00E1F979 /* pios_crc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pios_crc.h; sourceTree = "<group>"; };
|
||||||
65E8C788139AA2A800E1F979 /* accessorydesired.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = accessorydesired.xml; sourceTree = "<group>"; };
|
|
||||||
65E8F03211EFF25C00BBF654 /* pios_com.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pios_com.c; path = ../../PiOS/Common/pios_com.c; sourceTree = SOURCE_ROOT; };
|
65E8F03211EFF25C00BBF654 /* pios_com.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pios_com.c; path = ../../PiOS/Common/pios_com.c; sourceTree = SOURCE_ROOT; };
|
||||||
65E8F03311EFF25C00BBF654 /* pios_hmc5843.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pios_hmc5843.c; path = ../../PiOS/Common/pios_hmc5843.c; sourceTree = SOURCE_ROOT; };
|
65E8F03311EFF25C00BBF654 /* pios_hmc5843.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pios_hmc5843.c; path = ../../PiOS/Common/pios_hmc5843.c; sourceTree = SOURCE_ROOT; };
|
||||||
65E8F03411EFF25C00BBF654 /* pios_opahrs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pios_opahrs.c; path = ../../PiOS/Common/pios_opahrs.c; sourceTree = SOURCE_ROOT; };
|
65E8F03411EFF25C00BBF654 /* pios_opahrs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pios_opahrs.c; path = ../../PiOS/Common/pios_opahrs.c; sourceTree = SOURCE_ROOT; };
|
||||||
@ -3259,7 +3215,6 @@
|
|||||||
65FA9B8314709E9E0019A260 /* pios_tim_priv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pios_tim_priv.h; sourceTree = "<group>"; };
|
65FA9B8314709E9E0019A260 /* pios_tim_priv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pios_tim_priv.h; sourceTree = "<group>"; };
|
||||||
65FA9B8414709E9F0019A260 /* pios_tim.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pios_tim.h; sourceTree = "<group>"; };
|
65FA9B8414709E9F0019A260 /* pios_tim.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pios_tim.h; sourceTree = "<group>"; };
|
||||||
65FA9B8514709E9F0019A260 /* pios_usb_hid_priv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pios_usb_hid_priv.h; sourceTree = "<group>"; };
|
65FA9B8514709E9F0019A260 /* pios_usb_hid_priv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pios_usb_hid_priv.h; sourceTree = "<group>"; };
|
||||||
65FAB8CF147FFD76000FF8B2 /* receiveractivity.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = receiveractivity.xml; sourceTree = "<group>"; };
|
|
||||||
65FAB8FC1480DA19000FF8B2 /* pios_dsm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pios_dsm.c; sourceTree = "<group>"; };
|
65FAB8FC1480DA19000FF8B2 /* pios_dsm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pios_dsm.c; sourceTree = "<group>"; };
|
||||||
65FAB8FD1480DA19000FF8B2 /* pios_pwm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pios_pwm.c; sourceTree = "<group>"; };
|
65FAB8FD1480DA19000FF8B2 /* pios_pwm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pios_pwm.c; sourceTree = "<group>"; };
|
||||||
65FAB8FE1481A5C5000FF8B2 /* pios_rtc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pios_rtc.c; sourceTree = "<group>"; };
|
65FAB8FE1481A5C5000FF8B2 /* pios_rtc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pios_rtc.c; sourceTree = "<group>"; };
|
||||||
@ -7866,65 +7821,12 @@
|
|||||||
65C35E4E12EFB2F3004811C2 /* shared */ = {
|
65C35E4E12EFB2F3004811C2 /* shared */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
65C35E4F12EFB2F3004811C2 /* uavobjectdefinition */,
|
65E466BC14E244020075459C /* uavobjectdefinition */,
|
||||||
);
|
);
|
||||||
name = shared;
|
name = shared;
|
||||||
path = ../../../shared;
|
path = ../../../shared;
|
||||||
sourceTree = SOURCE_ROOT;
|
sourceTree = SOURCE_ROOT;
|
||||||
};
|
};
|
||||||
65C35E4F12EFB2F3004811C2 /* uavobjectdefinition */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
65E8C788139AA2A800E1F979 /* accessorydesired.xml */,
|
|
||||||
65C35E5012EFB2F3004811C2 /* actuatorcommand.xml */,
|
|
||||||
65C35E5112EFB2F3004811C2 /* actuatordesired.xml */,
|
|
||||||
65C35E5212EFB2F3004811C2 /* actuatorsettings.xml */,
|
|
||||||
65C35E5312EFB2F3004811C2 /* ahrscalibration.xml */,
|
|
||||||
65C35E5412EFB2F3004811C2 /* ahrssettings.xml */,
|
|
||||||
65C35E5512EFB2F3004811C2 /* ahrsstatus.xml */,
|
|
||||||
65C35E5612EFB2F3004811C2 /* attitudeactual.xml */,
|
|
||||||
65C35E5812EFB2F3004811C2 /* attituderaw.xml */,
|
|
||||||
65E410AE12F65AEA00725888 /* attitudesettings.xml */,
|
|
||||||
65C35E5912EFB2F3004811C2 /* baroaltitude.xml */,
|
|
||||||
652C8568132B632A00BFCC70 /* firmwareiapobj.xml */,
|
|
||||||
65C35E5C12EFB2F3004811C2 /* flightbatterystate.xml */,
|
|
||||||
65C35E5D12EFB2F3004811C2 /* flightplancontrol.xml */,
|
|
||||||
65C35E5E12EFB2F3004811C2 /* flightplansettings.xml */,
|
|
||||||
65C35E5F12EFB2F3004811C2 /* flightplanstatus.xml */,
|
|
||||||
65C35E6012EFB2F3004811C2 /* flighttelemetrystats.xml */,
|
|
||||||
65078B09136FCEE600536549 /* flightstatus.xml */,
|
|
||||||
65C35E6112EFB2F3004811C2 /* gcstelemetrystats.xml */,
|
|
||||||
65C35E6212EFB2F3004811C2 /* gpsposition.xml */,
|
|
||||||
65C35E6312EFB2F3004811C2 /* gpssatellites.xml */,
|
|
||||||
65C35E6412EFB2F3004811C2 /* gpstime.xml */,
|
|
||||||
65C35E6512EFB2F3004811C2 /* guidancesettings.xml */,
|
|
||||||
65C35E6612EFB2F3004811C2 /* homelocation.xml */,
|
|
||||||
65C35E6712EFB2F3004811C2 /* i2cstats.xml */,
|
|
||||||
65C35E6812EFB2F3004811C2 /* manualcontrolcommand.xml */,
|
|
||||||
65C35E6912EFB2F3004811C2 /* manualcontrolsettings.xml */,
|
|
||||||
65C35E6A12EFB2F3004811C2 /* mixersettings.xml */,
|
|
||||||
65C35E6B12EFB2F3004811C2 /* mixerstatus.xml */,
|
|
||||||
65C35E6C12EFB2F3004811C2 /* nedaccel.xml */,
|
|
||||||
65C35E6D12EFB2F3004811C2 /* objectpersistence.xml */,
|
|
||||||
65C35E6E12EFB2F3004811C2 /* positionactual.xml */,
|
|
||||||
65C35E6F12EFB2F3004811C2 /* positiondesired.xml */,
|
|
||||||
65C35E7012EFB2F3004811C2 /* ratedesired.xml */,
|
|
||||||
65FAB8CF147FFD76000FF8B2 /* receiveractivity.xml */,
|
|
||||||
652C856A132B6EA600BFCC70 /* sonaraltitude.xml */,
|
|
||||||
6536D47B1307962C0042A298 /* stabilizationdesired.xml */,
|
|
||||||
65C35E7112EFB2F3004811C2 /* stabilizationsettings.xml */,
|
|
||||||
65C35E7212EFB2F3004811C2 /* systemalarms.xml */,
|
|
||||||
65C35E7312EFB2F3004811C2 /* systemsettings.xml */,
|
|
||||||
65C35E7412EFB2F3004811C2 /* systemstats.xml */,
|
|
||||||
65C35E7512EFB2F3004811C2 /* taskinfo.xml */,
|
|
||||||
65C35E7612EFB2F3004811C2 /* telemetrysettings.xml */,
|
|
||||||
65C35E7712EFB2F3004811C2 /* velocityactual.xml */,
|
|
||||||
65C35E7812EFB2F3004811C2 /* velocitydesired.xml */,
|
|
||||||
65C35E7912EFB2F3004811C2 /* watchdogstatus.xml */,
|
|
||||||
);
|
|
||||||
path = uavobjectdefinition;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
65C35EA212F0A834004811C2 /* inc */ = {
|
65C35EA212F0A834004811C2 /* inc */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
<xml>
|
<xml>
|
||||||
<object name="AltitudeHoldDesired" singleinstance="true" settings="false">
|
<object name="AltitudeHoldDesired" singleinstance="true" settings="false">
|
||||||
<description>Holds the desired altitude (from manual control) as well as the desired attitude to pass through</description>
|
<description>Holds the desired altitude (from manual control) as well as the desired attitude to pass through</description>
|
||||||
<field name="Down" units="m" type="float" elements="1"/>
|
<field name="Altitude" units="m" type="float" elements="1"/>
|
||||||
<field name="Roll" units="deg" type="float" elements="1"/>
|
<field name="Roll" units="deg" type="float" elements="1"/>
|
||||||
<field name="Pitch" units="deg" type="float" elements="1"/>
|
<field name="Pitch" units="deg" type="float" elements="1"/>
|
||||||
<field name="Yaw" units="deg/s" type="float" elements="1"/>
|
<field name="Yaw" units="deg/s" type="float" elements="1"/>
|
||||||
<access gcs="readwrite" flight="readwrite"/>
|
<access gcs="readwrite" flight="readwrite"/>
|
||||||
<telemetrygcs acked="false" updatemode="manual" period="0"/>
|
<telemetrygcs acked="false" updatemode="manual" period="0"/>
|
||||||
<telemetryflight acked="false" updatemode="onchange" period="0"/>
|
<telemetryflight acked="false" updatemode="onchange" period="0"/>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<field name="Kp" units="throttle/m" type="float" elements="1" defaultvalue="0.025"/>
|
<field name="Kp" units="throttle/m" type="float" elements="1" defaultvalue="0.025"/>
|
||||||
<field name="Ki" units="throttle/m" type="float" elements="1" defaultvalue="0.025"/>
|
<field name="Ki" units="throttle/m" type="float" elements="1" defaultvalue="0.025"/>
|
||||||
<field name="Kd" units="throttle/m" type="float" elements="1" defaultvalue="0.25"/>
|
<field name="Kd" units="throttle/m" type="float" elements="1" defaultvalue="0.25"/>
|
||||||
<field name="AltitudeTau" units="s" type="float" elements="1" defaultvalue="0.1"/>
|
<field name="Tau" units="s" type="float" elements="1" defaultvalue="0.1"/>
|
||||||
<access gcs="readwrite" flight="readwrite"/>
|
<access gcs="readwrite" flight="readwrite"/>
|
||||||
<telemetrygcs acked="true" updatemode="onchange" period="0"/>
|
<telemetrygcs acked="true" updatemode="onchange" period="0"/>
|
||||||
<telemetryflight acked="true" updatemode="onchange" period="0"/>
|
<telemetryflight acked="true" updatemode="onchange" period="0"/>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user