mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-05 21:52:10 +01:00
When guidance finds an incorrect airframe, delay 100ms to avoid hammering the
alarms
This commit is contained in:
parent
dedbbec8f0
commit
6aa7142f5e
@ -149,6 +149,19 @@ static void guidanceTask(void *parameters)
|
|||||||
// Main task loop
|
// Main task loop
|
||||||
lastUpdateTime = xTaskGetTickCount();
|
lastUpdateTime = xTaskGetTickCount();
|
||||||
while (1) {
|
while (1) {
|
||||||
|
|
||||||
|
SystemSettingsGet(&systemSettings);
|
||||||
|
if ( (systemSettings.AirframeType != SYSTEMSETTINGS_AIRFRAMETYPE_VTOL) &&
|
||||||
|
(systemSettings.AirframeType != SYSTEMSETTINGS_AIRFRAMETYPE_QUADP) &&
|
||||||
|
(systemSettings.AirframeType != SYSTEMSETTINGS_AIRFRAMETYPE_QUADX) &&
|
||||||
|
(systemSettings.AirframeType != SYSTEMSETTINGS_AIRFRAMETYPE_HEXA) &&
|
||||||
|
(systemSettings.AirframeType != SYSTEMSETTINGS_AIRFRAMETYPE_HEXACOAX) )
|
||||||
|
{
|
||||||
|
AlarmsSet(SYSTEMALARMS_ALARM_GUIDANCE,SYSTEMALARMS_ALARM_WARNING);
|
||||||
|
vTaskDelay(1000);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
GuidanceSettingsGet(&guidanceSettings);
|
GuidanceSettingsGet(&guidanceSettings);
|
||||||
|
|
||||||
// Wait until the AttitudeRaw object is updated, if a timeout then go to failsafe
|
// Wait until the AttitudeRaw object is updated, if a timeout then go to failsafe
|
||||||
@ -168,19 +181,8 @@ static void guidanceTask(void *parameters)
|
|||||||
updateNedAccel();
|
updateNedAccel();
|
||||||
|
|
||||||
FlightStatusGet(&flightStatus);
|
FlightStatusGet(&flightStatus);
|
||||||
SystemSettingsGet(&systemSettings);
|
|
||||||
GuidanceSettingsGet(&guidanceSettings);
|
GuidanceSettingsGet(&guidanceSettings);
|
||||||
|
|
||||||
if ( (systemSettings.AirframeType != SYSTEMSETTINGS_AIRFRAMETYPE_VTOL) &&
|
|
||||||
(systemSettings.AirframeType != SYSTEMSETTINGS_AIRFRAMETYPE_QUADP) &&
|
|
||||||
(systemSettings.AirframeType != SYSTEMSETTINGS_AIRFRAMETYPE_QUADX) &&
|
|
||||||
(systemSettings.AirframeType != SYSTEMSETTINGS_AIRFRAMETYPE_HEXA) &&
|
|
||||||
(systemSettings.AirframeType != SYSTEMSETTINGS_AIRFRAMETYPE_HEXACOAX) )
|
|
||||||
{
|
|
||||||
AlarmsSet(SYSTEMALARMS_ALARM_GUIDANCE,SYSTEMALARMS_ALARM_WARNING);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch(flightStatus.FlightMode) {
|
switch(flightStatus.FlightMode) {
|
||||||
case FLIGHTSTATUS_FLIGHTMODE_POSITIONHOLD:
|
case FLIGHTSTATUS_FLIGHTMODE_POSITIONHOLD:
|
||||||
updateVtolDesiredVelocity();
|
updateVtolDesiredVelocity();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user