mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-01-30 15:52:12 +01:00
Merge branch 'rel-nano-15.05' into steve/OP-1904_Display_current_TxPID_settings_on_OSD
This commit is contained in:
commit
a0d6de4e1d
11
WHATSNEW.txt
11
WHATSNEW.txt
@ -1,4 +1,13 @@
|
|||||||
Release Notes - OpenPilot - Version RELEASE-15.05 RC3
|
Release Notes - OpenPilot - Version RELEASE-15.05 RC4
|
||||||
|
|
||||||
|
RC4 changes relative to RC3:
|
||||||
|
1. GCS Input flight mode limit fixes hiding unsupported modes.
|
||||||
|
2. Throttle check on GPSAssist/Stabi whilst in hold removed. Now easy to fly out of hold without reducing throttle.
|
||||||
|
3. Trialling Rate instead of AxisLock on Yaw during Braking.
|
||||||
|
4. VelocityRoam now passing throttle position to AltVario. previously it was stuck in AltHold.
|
||||||
|
5. OP-1905 Fix OPLN in PPM mode blocking telemetry stream of no USB connected
|
||||||
|
|
||||||
|
|
||||||
This release introduces new features and new hardware support for the Revolution Nano. Note that the CC3D is not supported by this feature release. New features for multirotors include:
|
This release introduces new features and new hardware support for the Revolution Nano. Note that the CC3D is not supported by this feature release. New features for multirotors include:
|
||||||
- Fully autonomous flight is now possible with auto-takeoff and landing as flight modes available to path plans.
|
- Fully autonomous flight is now possible with auto-takeoff and landing as flight modes available to path plans.
|
||||||
- An all new implementation of altitude vario provides improved altitude maintenance and smoother flight.
|
- An all new implementation of altitude vario provides improved altitude maintenance and smoother flight.
|
||||||
|
@ -280,7 +280,6 @@ static void manualControlTask(void)
|
|||||||
|
|
||||||
// assess throttle state
|
// assess throttle state
|
||||||
bool throttleNeutral = false;
|
bool throttleNeutral = false;
|
||||||
bool throttleNeutralOrLow = false;
|
|
||||||
float neutralThrustOffset = 0.0f;
|
float neutralThrustOffset = 0.0f;
|
||||||
VtolSelfTuningStatsNeutralThrustOffsetGet(&neutralThrustOffset);
|
VtolSelfTuningStatsNeutralThrustOffsetGet(&neutralThrustOffset);
|
||||||
|
|
||||||
@ -291,9 +290,6 @@ static void manualControlTask(void)
|
|||||||
if (cmd.Thrust > throttleNeutralLow && cmd.Thrust < throttleNeutralHi) {
|
if (cmd.Thrust > throttleNeutralLow && cmd.Thrust < throttleNeutralHi) {
|
||||||
throttleNeutral = true;
|
throttleNeutral = true;
|
||||||
}
|
}
|
||||||
if (cmd.Thrust < throttleNeutralHi) {
|
|
||||||
throttleNeutralOrLow = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// determine default thrust mode for hold/brake states
|
// determine default thrust mode for hold/brake states
|
||||||
uint8_t pathfollowerthrustmode = FLIGHTSTATUS_ASSISTEDTHROTTLESTATE_MANUAL;
|
uint8_t pathfollowerthrustmode = FLIGHTSTATUS_ASSISTEDTHROTTLESTATE_MANUAL;
|
||||||
@ -371,7 +367,7 @@ static void manualControlTask(void)
|
|||||||
newAssistedThrottleState != FLIGHTSTATUS_ASSISTEDTHROTTLESTATE_MANUAL) {
|
newAssistedThrottleState != FLIGHTSTATUS_ASSISTEDTHROTTLESTATE_MANUAL) {
|
||||||
// ok auto thrust mode applies in hold unless overridden
|
// ok auto thrust mode applies in hold unless overridden
|
||||||
|
|
||||||
if (throttleNeutralOrLow && flagRollPitchHasInput) {
|
if (flagRollPitchHasInput) {
|
||||||
// throttle is neutral approximately and stick input present so revert to primary mode control
|
// throttle is neutral approximately and stick input present so revert to primary mode control
|
||||||
newAssistedControlState = FLIGHTSTATUS_ASSISTEDCONTROLSTATE_PRIMARY;
|
newAssistedControlState = FLIGHTSTATUS_ASSISTEDCONTROLSTATE_PRIMARY;
|
||||||
newAssistedThrottleState = FLIGHTSTATUS_ASSISTEDTHROTTLESTATE_MANUAL; // Effectively None
|
newAssistedThrottleState = FLIGHTSTATUS_ASSISTEDTHROTTLESTATE_MANUAL; // Effectively None
|
||||||
@ -410,8 +406,13 @@ static void manualControlTask(void)
|
|||||||
// During development the assistedcontrol implementation is optional and set
|
// During development the assistedcontrol implementation is optional and set
|
||||||
// set in stabi settings. Once if we decide to always have this on, it can
|
// set in stabi settings. Once if we decide to always have this on, it can
|
||||||
// can be directly set here...i.e. set the flight mode assist as required.
|
// can be directly set here...i.e. set the flight mode assist as required.
|
||||||
case FLIGHTSTATUS_FLIGHTMODE_POSITIONHOLD:
|
|
||||||
case FLIGHTSTATUS_FLIGHTMODE_VELOCITYROAM:
|
case FLIGHTSTATUS_FLIGHTMODE_VELOCITYROAM:
|
||||||
|
newFlightModeAssist = FLIGHTSTATUS_FLIGHTMODEASSIST_GPSASSIST_PRIMARYTHRUST;
|
||||||
|
newAssistedThrottleState = FLIGHTSTATUS_ASSISTEDTHROTTLESTATE_MANUAL;
|
||||||
|
handler = &handler_PATHFOLLOWER;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case FLIGHTSTATUS_FLIGHTMODE_POSITIONHOLD:
|
||||||
case FLIGHTSTATUS_FLIGHTMODE_LAND:
|
case FLIGHTSTATUS_FLIGHTMODE_LAND:
|
||||||
case FLIGHTSTATUS_FLIGHTMODE_AUTOTAKEOFF:
|
case FLIGHTSTATUS_FLIGHTMODE_AUTOTAKEOFF:
|
||||||
newFlightModeAssist = isAssistedFlightMode(position, newMode, &modeSettings);
|
newFlightModeAssist = isAssistedFlightMode(position, newMode, &modeSettings);
|
||||||
|
@ -290,7 +290,7 @@ int8_t VtolBrakeController::UpdateStabilizationDesired(void)
|
|||||||
ManualControlCommandData manualControl;
|
ManualControlCommandData manualControl;
|
||||||
ManualControlCommandGet(&manualControl);
|
ManualControlCommandGet(&manualControl);
|
||||||
|
|
||||||
stabDesired.StabilizationMode.Yaw = STABILIZATIONDESIRED_STABILIZATIONMODE_AXISLOCK;
|
stabDesired.StabilizationMode.Yaw = STABILIZATIONDESIRED_STABILIZATIONMODE_RATE;
|
||||||
stabDesired.Yaw = stabSettings.MaximumRate.Yaw * manualControl.Yaw;
|
stabDesired.Yaw = stabSettings.MaximumRate.Yaw * manualControl.Yaw;
|
||||||
|
|
||||||
// default thrust mode to cruise control
|
// default thrust mode to cruise control
|
||||||
@ -322,9 +322,9 @@ int8_t VtolBrakeController::UpdateStabilizationDesired(void)
|
|||||||
thrustMode = settings.Stabilization6Settings.Thrust;
|
thrustMode = settings.Stabilization6Settings.Thrust;
|
||||||
break;
|
break;
|
||||||
case FLIGHTSTATUS_FLIGHTMODE_POSITIONHOLD:
|
case FLIGHTSTATUS_FLIGHTMODE_POSITIONHOLD:
|
||||||
// we hard code the "GPS Assisted" PostionHold/Roam to use alt-vario which
|
thrustMode = FLIGHTMODESETTINGS_STABILIZATION1SETTINGS_ALTITUDEVARIO;
|
||||||
// is a more appropriate throttle mode. "GPSAssist" adds braking
|
break;
|
||||||
// and a better throttle management to the standard Position Hold.
|
case FLIGHTSTATUS_FLIGHTMODE_VELOCITYROAM:
|
||||||
thrustMode = FLIGHTMODESETTINGS_STABILIZATION1SETTINGS_ALTITUDEVARIO;
|
thrustMode = FLIGHTMODESETTINGS_STABILIZATION1SETTINGS_ALTITUDEVARIO;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -186,6 +186,7 @@ int8_t VtolVelocityController::UpdateStabilizationDesired(__attribute__((unused)
|
|||||||
|
|
||||||
// default thrust mode to altvario
|
// default thrust mode to altvario
|
||||||
stabDesired.StabilizationMode.Thrust = STABILIZATIONDESIRED_STABILIZATIONMODE_ALTITUDEVARIO;
|
stabDesired.StabilizationMode.Thrust = STABILIZATIONDESIRED_STABILIZATIONMODE_ALTITUDEVARIO;
|
||||||
|
stabDesired.Thrust = manualControl.Thrust;
|
||||||
|
|
||||||
StabilizationDesiredSet(&stabDesired);
|
StabilizationDesiredSet(&stabDesired);
|
||||||
|
|
||||||
|
@ -85,6 +85,7 @@ float stabilizationAltitudeHold(float setpoint, ThrustModeType mode, bool reinit
|
|||||||
controlDown.Activate();
|
controlDown.Activate();
|
||||||
newaltitude = true;
|
newaltitude = true;
|
||||||
// calculate a thrustDemand on reinit only
|
// calculate a thrustDemand on reinit only
|
||||||
|
thrustMode = mode;
|
||||||
altitudeHoldTask();
|
altitudeHoldTask();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -104,25 +104,30 @@ static void stabilizationOuterloopTask()
|
|||||||
float *rateDesiredAxis = &rateDesired.Roll;
|
float *rateDesiredAxis = &rateDesired.Roll;
|
||||||
int t;
|
int t;
|
||||||
float dT = PIOS_DELTATIME_GetAverageSeconds(&timeval);
|
float dT = PIOS_DELTATIME_GetAverageSeconds(&timeval);
|
||||||
|
StabilizationStatusOuterLoopOptions newThrustMode = StabilizationStatusOuterLoopToArray(enabled)[STABILIZATIONSTATUS_OUTERLOOP_THRUST];
|
||||||
|
|
||||||
bool reinit = (StabilizationStatusOuterLoopToArray(enabled)[STABILIZATIONSTATUS_OUTERLOOP_THRUST] != previous_mode[STABILIZATIONSTATUS_OUTERLOOP_THRUST]);
|
bool reinit = (newThrustMode != previous_mode[STABILIZATIONSTATUS_OUTERLOOP_THRUST]);
|
||||||
previous_mode[STABILIZATIONSTATUS_OUTERLOOP_THRUST] = StabilizationStatusOuterLoopToArray(enabled)[STABILIZATIONSTATUS_OUTERLOOP_THRUST];
|
// Trigger a disable message to the alt hold on reinit to prevent that loop from running when not in use.
|
||||||
#ifdef REVOLUTION
|
if (reinit) {
|
||||||
if (reinit && (previous_mode[STABILIZATIONSTATUS_OUTERLOOP_THRUST] == STABILIZATIONSTATUS_OUTERLOOP_ALTITUDE ||
|
if (previous_mode[STABILIZATIONSTATUS_OUTERLOOP_THRUST] == STABILIZATIONSTATUS_OUTERLOOP_ALTITUDE ||
|
||||||
previous_mode[STABILIZATIONSTATUS_OUTERLOOP_THRUST] == STABILIZATIONSTATUS_OUTERLOOP_ALTITUDEVARIO)) {
|
previous_mode[STABILIZATIONSTATUS_OUTERLOOP_THRUST] == STABILIZATIONSTATUS_OUTERLOOP_ALTITUDEVARIO) {
|
||||||
// disable the altvario velocity control loop
|
if (newThrustMode != STABILIZATIONSTATUS_OUTERLOOP_ALTITUDE && newThrustMode != STABILIZATIONSTATUS_OUTERLOOP_ALTITUDEVARIO) {
|
||||||
stabilizationDisableAltitudeHold();
|
// disable the altvario velocity control loop
|
||||||
|
stabilizationDisableAltitudeHold();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif /* REVOLUTION */
|
// update previous mode
|
||||||
switch (StabilizationStatusOuterLoopToArray(enabled)[STABILIZATIONSTATUS_OUTERLOOP_THRUST]) {
|
previous_mode[STABILIZATIONSTATUS_OUTERLOOP_THRUST] = newThrustMode;
|
||||||
#ifdef REVOLUTION
|
|
||||||
|
// calculate the thrust desired
|
||||||
|
switch (newThrustMode) {
|
||||||
case STABILIZATIONSTATUS_OUTERLOOP_ALTITUDE:
|
case STABILIZATIONSTATUS_OUTERLOOP_ALTITUDE:
|
||||||
rateDesiredAxis[STABILIZATIONSTATUS_OUTERLOOP_THRUST] = stabilizationAltitudeHold(stabilizationDesiredAxis[STABILIZATIONSTATUS_OUTERLOOP_THRUST], ALTITUDEHOLD, reinit);
|
rateDesiredAxis[STABILIZATIONSTATUS_OUTERLOOP_THRUST] = stabilizationAltitudeHold(stabilizationDesiredAxis[STABILIZATIONSTATUS_OUTERLOOP_THRUST], ALTITUDEHOLD, reinit);
|
||||||
break;
|
break;
|
||||||
case STABILIZATIONSTATUS_OUTERLOOP_ALTITUDEVARIO:
|
case STABILIZATIONSTATUS_OUTERLOOP_ALTITUDEVARIO:
|
||||||
rateDesiredAxis[STABILIZATIONSTATUS_OUTERLOOP_THRUST] = stabilizationAltitudeHold(stabilizationDesiredAxis[STABILIZATIONSTATUS_OUTERLOOP_THRUST], ALTITUDEVARIO, reinit);
|
rateDesiredAxis[STABILIZATIONSTATUS_OUTERLOOP_THRUST] = stabilizationAltitudeHold(stabilizationDesiredAxis[STABILIZATIONSTATUS_OUTERLOOP_THRUST], ALTITUDEVARIO, reinit);
|
||||||
break;
|
break;
|
||||||
#endif /* REVOLUTION */
|
|
||||||
case STABILIZATIONSTATUS_OUTERLOOP_DIRECT:
|
case STABILIZATIONSTATUS_OUTERLOOP_DIRECT:
|
||||||
case STABILIZATIONSTATUS_OUTERLOOP_DIRECTWITHLIMITS:
|
case STABILIZATIONSTATUS_OUTERLOOP_DIRECTWITHLIMITS:
|
||||||
default:
|
default:
|
||||||
|
@ -11,10 +11,8 @@
|
|||||||
defaultvalue="Attitude,Attitude,AxisLock,Manual"
|
defaultvalue="Attitude,Attitude,AxisLock,Manual"
|
||||||
limits="%NE:AltitudeHold:AltitudeVario:CruiseControl; \
|
limits="%NE:AltitudeHold:AltitudeVario:CruiseControl; \
|
||||||
%NE:AltitudeHold:AltitudeVario:CruiseControl; \
|
%NE:AltitudeHold:AltitudeVario:CruiseControl; \
|
||||||
%NE:AltitudeHold:AltitudeVario:CruiseControl:Attitude:Rattitude:Acro+:WeakLeveling:VirtualBar; \
|
%NE:RateTrainer:AltitudeHold:AltitudeVario:CruiseControl:Attitude:Rattitude:Acro+:WeakLeveling:VirtualBar; \
|
||||||
%NE:Rate::RateTrainer:Attitude:AxisLock:WeakLeveling:VirtualBar:Acro+:Rattitude,\
|
%NE:Rate:RateTrainer:Attitude:AxisLock:WeakLeveling:VirtualBar:Acro+:Rattitude;"
|
||||||
%0401NE:Rate:RateTrainer:Attitude:AxisLock:WeakLeveling:VirtualBar:Acro+:Rattitude:AltitudeHold:AltitudeVario,\
|
|
||||||
%0402NE:Rate:RateTrainer:Attitude:AxisLock:WeakLeveling:VirtualBar:Acro+:Rattitude:AltitudeHold:AltitudeVario;"
|
|
||||||
/>
|
/>
|
||||||
<field name="Stabilization2Settings" units="" type="enum"
|
<field name="Stabilization2Settings" units="" type="enum"
|
||||||
elementnames="Roll,Pitch,Yaw,Thrust"
|
elementnames="Roll,Pitch,Yaw,Thrust"
|
||||||
@ -22,10 +20,8 @@
|
|||||||
defaultvalue="Attitude,Attitude,Rate,Manual"
|
defaultvalue="Attitude,Attitude,Rate,Manual"
|
||||||
limits="%NE:AltitudeHold:AltitudeVario:CruiseControl; \
|
limits="%NE:AltitudeHold:AltitudeVario:CruiseControl; \
|
||||||
%NE:AltitudeHold:AltitudeVario:CruiseControl; \
|
%NE:AltitudeHold:AltitudeVario:CruiseControl; \
|
||||||
%NE:AltitudeHold:AltitudeVario:CruiseControl:Attitude:Rattitude:Acro+:WeakLeveling:VirtualBar; \
|
%NE:RateTrainer:AltitudeHold:AltitudeVario:CruiseControl:Attitude:Rattitude:Acro+:WeakLeveling:VirtualBar; \
|
||||||
%NE:Rate:RateTrainer:Attitude:AxisLock:WeakLeveling:VirtualBar:Acro+:Rattitude,\
|
%NE:Rate:RateTrainer:Attitude:AxisLock:WeakLeveling:VirtualBar:Acro+:Rattitude;"
|
||||||
%0401NE:Rate:RateTrainer:Attitude:AxisLock:WeakLeveling:VirtualBar:Acro+:Rattitude:AltitudeHold:AltitudeVario,\
|
|
||||||
%0402NE:Rate:RateTrainer:Attitude:AxisLock:WeakLeveling:VirtualBar:Acro+:Rattitude:AltitudeHold:AltitudeVario;"
|
|
||||||
/>
|
/>
|
||||||
<field name="Stabilization3Settings" units="" type="enum"
|
<field name="Stabilization3Settings" units="" type="enum"
|
||||||
elementnames="Roll,Pitch,Yaw,Thrust"
|
elementnames="Roll,Pitch,Yaw,Thrust"
|
||||||
@ -33,10 +29,8 @@
|
|||||||
defaultvalue="Rate,Rate,Rate,Manual"
|
defaultvalue="Rate,Rate,Rate,Manual"
|
||||||
limits="%NE:AltitudeHold:AltitudeVario:CruiseControl; \
|
limits="%NE:AltitudeHold:AltitudeVario:CruiseControl; \
|
||||||
%NE:AltitudeHold:AltitudeVario:CruiseControl; \
|
%NE:AltitudeHold:AltitudeVario:CruiseControl; \
|
||||||
%NE:AltitudeHold:AltitudeVario:CruiseControl:Attitude:Rattitude:Acro+:WeakLeveling:VirtualBar; \
|
%NE:RateTrainer:AltitudeHold:AltitudeVario:CruiseControl:Attitude:Rattitude:Acro+:WeakLeveling:VirtualBar; \
|
||||||
%NE:Rate:RateTrainer:Attitude:AxisLock:WeakLeveling:VirtualBar:Acro+:Rattitude,\
|
%NE:Rate:RateTrainer:Attitude:AxisLock:WeakLeveling:VirtualBar:Acro+:Rattitude;"
|
||||||
%0401NE:Rate:RateTrainer:Attitude:AxisLock:WeakLeveling:VirtualBar:Acro+:Rattitude:AltitudeHold:AltitudeVario,\
|
|
||||||
%0402NE:Rate:RateTrainer:Attitude:AxisLock:WeakLeveling:VirtualBar:Acro+:Rattitude:AltitudeHold:AltitudeVario;"
|
|
||||||
/>
|
/>
|
||||||
<field name="Stabilization4Settings" units="" type="enum"
|
<field name="Stabilization4Settings" units="" type="enum"
|
||||||
elementnames="Roll,Pitch,Yaw,Thrust"
|
elementnames="Roll,Pitch,Yaw,Thrust"
|
||||||
@ -44,10 +38,8 @@
|
|||||||
defaultvalue="Attitude,Attitude,AxisLock,CruiseControl"
|
defaultvalue="Attitude,Attitude,AxisLock,CruiseControl"
|
||||||
limits="%NE:AltitudeHold:AltitudeVario:CruiseControl; \
|
limits="%NE:AltitudeHold:AltitudeVario:CruiseControl; \
|
||||||
%NE:AltitudeHold:AltitudeVario:CruiseControl; \
|
%NE:AltitudeHold:AltitudeVario:CruiseControl; \
|
||||||
%NE:AltitudeHold:AltitudeVario:CruiseControl:Attitude:Rattitude:Acro+:WeakLeveling:VirtualBar; \
|
%NE:RateTrainer:AltitudeHold:AltitudeVario:CruiseControl:Attitude:Rattitude:Acro+:WeakLeveling:VirtualBar; \
|
||||||
%NE:Rate:RateTrainer:Attitude:AxisLock:WeakLeveling:VirtualBar:Acro+:Rattitude,\
|
%NE:Rate:RateTrainer:Attitude:AxisLock:WeakLeveling:VirtualBar:Acro+:Rattitude;"
|
||||||
%0401NE:Rate:RateTrainer:Attitude:AxisLock:WeakLeveling:VirtualBar:Acro+:Rattitude:AltitudeHold:AltitudeVario,\
|
|
||||||
%0402NE:Rate:RateTrainer:Attitude:AxisLock:WeakLeveling:VirtualBar:Acro+:Rattitude:AltitudeHold:AltitudeVario;"
|
|
||||||
/>
|
/>
|
||||||
<field name="Stabilization5Settings" units="" type="enum"
|
<field name="Stabilization5Settings" units="" type="enum"
|
||||||
elementnames="Roll,Pitch,Yaw,Thrust"
|
elementnames="Roll,Pitch,Yaw,Thrust"
|
||||||
@ -55,10 +47,8 @@
|
|||||||
defaultvalue="Attitude,Attitude,Rate,CruiseControl"
|
defaultvalue="Attitude,Attitude,Rate,CruiseControl"
|
||||||
limits="%NE:AltitudeHold:AltitudeVario:CruiseControl; \
|
limits="%NE:AltitudeHold:AltitudeVario:CruiseControl; \
|
||||||
%NE:AltitudeHold:AltitudeVario:CruiseControl; \
|
%NE:AltitudeHold:AltitudeVario:CruiseControl; \
|
||||||
%NE:AltitudeHold:AltitudeVario:CruiseControl:Attitude:Rattitude:Acro+:WeakLeveling:VirtualBar; \
|
%NE:RateTrainer:AltitudeHold:AltitudeVario:CruiseControl:Attitude:Rattitude:Acro+:WeakLeveling:VirtualBar; \
|
||||||
%NE:Rate:RateTrainer:Attitude:AxisLock:WeakLeveling:VirtualBar:Acro+:Rattitude,\
|
%NE:Rate:RateTrainer:Attitude:AxisLock:WeakLeveling:VirtualBar:Acro+:Rattitude;"
|
||||||
%0401NE:Rate:RateTrainer:Attitude:AxisLock:WeakLeveling:VirtualBar:Acro+:Rattitude:AltitudeHold:AltitudeVario,\
|
|
||||||
%0402NE:Rate:RateTrainer:Attitude:AxisLock:WeakLeveling:VirtualBar:Acro+:Rattitude:AltitudeHold:AltitudeVario;"
|
|
||||||
/>
|
/>
|
||||||
<field name="Stabilization6Settings" units="" type="enum"
|
<field name="Stabilization6Settings" units="" type="enum"
|
||||||
elementnames="Roll,Pitch,Yaw,Thrust"
|
elementnames="Roll,Pitch,Yaw,Thrust"
|
||||||
@ -66,10 +56,8 @@
|
|||||||
defaultvalue="Rate,Rate,Rate,Manual"
|
defaultvalue="Rate,Rate,Rate,Manual"
|
||||||
limits="%NE:AltitudeHold:AltitudeVario:CruiseControl; \
|
limits="%NE:AltitudeHold:AltitudeVario:CruiseControl; \
|
||||||
%NE:AltitudeHold:AltitudeVario:CruiseControl; \
|
%NE:AltitudeHold:AltitudeVario:CruiseControl; \
|
||||||
%NE:AltitudeHold:AltitudeVario:CruiseControl:Attitude:Rattitude:Acro+:WeakLeveling:VirtualBar; \
|
%NE:RateTrainer:AltitudeHold:AltitudeVario:CruiseControl:Attitude:Rattitude:Acro+:WeakLeveling:VirtualBar; \
|
||||||
%NE:Rate:RateTrainer:Attitude:AxisLock:WeakLeveling:VirtualBar:Acro+:Rattitude,\
|
%NE:Rate:RateTrainer:Attitude:AxisLock:WeakLeveling:VirtualBar:Acro+:Rattitude;"
|
||||||
%0401NE:Rate:RateTrainer:Attitude:AxisLock:WeakLeveling:VirtualBar:Acro+:Rattitude:AltitudeHold:AltitudeVario,\
|
|
||||||
%0402NE:Rate:RateTrainer:Attitude:AxisLock:WeakLeveling:VirtualBar:Acro+:Rattitude:AltitudeHold:AltitudeVario;"
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- Note these options values should be identical to those defined in FlightMode -->
|
<!-- Note these options values should be identical to those defined in FlightMode -->
|
||||||
@ -80,30 +68,12 @@
|
|||||||
elements="6"
|
elements="6"
|
||||||
options="Manual,Stabilized1,Stabilized2,Stabilized3,Stabilized4,Stabilized5,Stabilized6,PositionHold,CourseLock,VelocityRoam,HomeLeash,AbsolutePosition,ReturnToBase,Land,PathPlanner,POI,AutoCruise,AutoTakeoff"
|
options="Manual,Stabilized1,Stabilized2,Stabilized3,Stabilized4,Stabilized5,Stabilized6,PositionHold,CourseLock,VelocityRoam,HomeLeash,AbsolutePosition,ReturnToBase,Land,PathPlanner,POI,AutoCruise,AutoTakeoff"
|
||||||
defaultvalue="Stabilized1,Stabilized2,Stabilized3,Stabilized4,Stabilized5,Stabilized6"
|
defaultvalue="Stabilized1,Stabilized2,Stabilized3,Stabilized4,Stabilized5,Stabilized6"
|
||||||
limits="\
|
limits="%NE:POI:AutoCruise; \
|
||||||
%0401NE:PositionHold:CourseLock:VelocityRoam:HomeLeash:AbsolutePosition:ReturnToBase:Land:PathPlanner:POI:AutoCruise:AutoTakeoff\
|
%NE:POI:AutoCruise; \
|
||||||
%0402NE:PositionHold:CourseLock:VelocityRoam:HomeLeash:AbsolutePosition:ReturnToBase:Land:PathPlanner:POI:AutoCruise:AutoTakeoff\
|
%NE:POI:AutoCruise; \
|
||||||
%0903NE:POI:PathPlanner:AutoCruise;\
|
%NE:POI:AutoCruise; \
|
||||||
\
|
%NE:POI:AutoCruise; \
|
||||||
%0401NE:PositionHold:CourseLock:VelocityRoam:HomeLeash:AbsolutePosition:ReturnToBase:Land:PathPlanner:POI:AutoCruise:AutoTakeoff\
|
%NE:POI:AutoCruise;" />
|
||||||
%0402NE:PositionHold:CourseLock:VelocityRoam:HomeLeash:AbsolutePosition:ReturnToBase:Land:PathPlanner:POI:AutoCruise:AutoTakeoff\
|
|
||||||
%0903NE:POI:PathPlanner:AutoCruise;\
|
|
||||||
\
|
|
||||||
%0401NE:PositionHold:CourseLock:VelocityRoam:HomeLeash:AbsolutePosition:ReturnToBase:Land:PathPlanner:POI:AutoCruise:AutoTakeoff\
|
|
||||||
%0402NE:PositionHold:CourseLock:VelocityRoam:HomeLeash:AbsolutePosition:ReturnToBase:Land:PathPlanner:POI:AutoCruise:AutoTakeoff\
|
|
||||||
%0903NE:POI:PathPlanner:AutoCruise;\
|
|
||||||
\
|
|
||||||
%0401NE:PositionHold:CourseLock:VelocityRoam:HomeLeash:AbsolutePosition:ReturnToBase:Land:PathPlanner:POI:AutoCruise:AutoTakeoff\
|
|
||||||
%0402NE:PositionHold:CourseLock:VelocityRoam:HomeLeash:AbsolutePosition:ReturnToBase:Land:PathPlanner:POI:AutoCruise:AutoTakeoff\
|
|
||||||
%0903NE:POI:PathPlanner:AutoCruise;\
|
|
||||||
\
|
|
||||||
%0401NE:PositionHold:CourseLock:VelocityRoam:HomeLeash:AbsolutePosition:ReturnToBase:Land:PathPlanner:POI:AutoCruise:AutoTakeoff\
|
|
||||||
%0402NE:PositionHold:CourseLock:VelocityRoam:HomeLeash:AbsolutePosition:ReturnToBase:Land:PathPlanner:POI:AutoCruise:AutoTakeoff\
|
|
||||||
%0903NE:POI:PathPlanner:AutoCruise;\
|
|
||||||
\
|
|
||||||
%0401NE:PositionHold:CourseLock:VelocityRoam:HomeLeash:AbsolutePosition:ReturnToBase:Land:PathPlanner:POI:AutoCruise:AutoTakeoff\
|
|
||||||
%0402NE:PositionHold:CourseLock:VelocityRoam:HomeLeash:AbsolutePosition:ReturnToBase:Land:PathPlanner:POI:AutoCruise:AutoTakeoff\
|
|
||||||
%0903NE:POI:PathPlanner:AutoCruise;"/>
|
|
||||||
|
|
||||||
<field name="AlwaysStabilizeWhenArmed" units="" type="enum" elements="1" options="FALSE,TRUE" defaultvalue="FALSE" description="For Multirotors. Always stabilize no matter the throttle setting when vehicle is armed. Does not work when vehicle is set to Always Armed."/>
|
<field name="AlwaysStabilizeWhenArmed" units="" type="enum" elements="1" options="FALSE,TRUE" defaultvalue="FALSE" description="For Multirotors. Always stabilize no matter the throttle setting when vehicle is armed. Does not work when vehicle is set to Always Armed."/>
|
||||||
<field name="ArmedTimeout" units="ms" type="uint16" elements="1" defaultvalue="30000"/>
|
<field name="ArmedTimeout" units="ms" type="uint16" elements="1" defaultvalue="30000"/>
|
||||||
|
@ -46,29 +46,7 @@
|
|||||||
|
|
||||||
<field name="ScaleToAirspeed" units="m/s" type="float" elements="1" defaultvalue="0"/>
|
<field name="ScaleToAirspeed" units="m/s" type="float" elements="1" defaultvalue="0"/>
|
||||||
<field name="ScaleToAirspeedLimits" units="" type="float" elementnames="Min,Max" defaultvalue="0.05,3"/>
|
<field name="ScaleToAirspeedLimits" units="" type="float" elementnames="Min,Max" defaultvalue="0.05,3"/>
|
||||||
<field name="FlightModeAssistMap" units="" type="enum"
|
<field name="FlightModeAssistMap" units="" type="enum" options="None,GPSAssist" elements="6" defaultvalue="None,None,None,None,None,None" />
|
||||||
options="None,GPSAssist"
|
|
||||||
elements="6"
|
|
||||||
defaultvalue="None,None,None,None,None,None"
|
|
||||||
limits="\
|
|
||||||
%0401NE:GPSAssist,\
|
|
||||||
%0402NE:GPSAssist;\
|
|
||||||
\
|
|
||||||
%0401NE:GPSAssist,\
|
|
||||||
%0402NE:GPSAssist;\
|
|
||||||
\
|
|
||||||
%0401NE:GPSAssist,\
|
|
||||||
%0402NE:GPSAssist;\
|
|
||||||
\
|
|
||||||
%0401NE:GPSAssist,\
|
|
||||||
%0402NE:GPSAssist;\
|
|
||||||
\
|
|
||||||
%0401NE:GPSAssist,\
|
|
||||||
%0402NE:GPSAssist;\
|
|
||||||
\
|
|
||||||
%0401NE:GPSAssist,\
|
|
||||||
%0402NE:GPSAssist;"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<access gcs="readwrite" flight="readwrite"/>
|
<access gcs="readwrite" flight="readwrite"/>
|
||||||
<telemetrygcs acked="true" updatemode="onchange" period="0"/>
|
<telemetrygcs acked="true" updatemode="onchange" period="0"/>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user