[rotorcraft] Add GPS loss bypass with datalink timeout (#2709)

This commit is contained in:
Freek van Tienen
2021-05-06 10:44:15 +02:00
committed by GitHub
parent dd0b2ce325
commit 5e6794c197
3 changed files with 5 additions and 0 deletions
+1
View File
@@ -216,6 +216,7 @@
<define name="VoltageOfAdc(adc)" value="((3.3f/4096.0f) * 17.9024749557 * adc)"/> <define name="VoltageOfAdc(adc)" value="((3.3f/4096.0f) * 17.9024749557 * adc)"/>
<define name="ARRIVED_AT_WAYPOINT" value="50.0"/> <define name="ARRIVED_AT_WAYPOINT" value="50.0"/>
<!-- Avoid GPS loss behavior when having RC or datalink -->
<define name="NO_GPS_LOST_WITH_DATALINK_TIME" value="20"/> <define name="NO_GPS_LOST_WITH_DATALINK_TIME" value="20"/>
<define name="NO_GPS_LOST_WITH_RC_VALID" value="TRUE"/> <define name="NO_GPS_LOST_WITH_RC_VALID" value="TRUE"/>
</section> </section>
+1
View File
@@ -214,6 +214,7 @@
<define name="VoltageOfAdc(adc)" value="((3.3f/4096.0f) * 18.9040120162 * adc)"/> <define name="VoltageOfAdc(adc)" value="((3.3f/4096.0f) * 18.9040120162 * adc)"/>
<define name="ARRIVED_AT_WAYPOINT" value="50.0"/> <define name="ARRIVED_AT_WAYPOINT" value="50.0"/>
<!-- Avoid GPS loss behavior when having RC or datalink -->
<define name="NO_GPS_LOST_WITH_DATALINK_TIME" value="20"/> <define name="NO_GPS_LOST_WITH_DATALINK_TIME" value="20"/>
<define name="NO_GPS_LOST_WITH_RC_VALID" value="TRUE"/> <define name="NO_GPS_LOST_WITH_RC_VALID" value="TRUE"/>
</section> </section>
@@ -317,6 +317,9 @@ void failsafe_check(void)
autopilot_get_motors_on() && autopilot_get_motors_on() &&
#if NO_GPS_LOST_WITH_RC_VALID #if NO_GPS_LOST_WITH_RC_VALID
radio_control.status != RC_OK && radio_control.status != RC_OK &&
#endif
#ifdef NO_GPS_LOST_WITH_DATALINK_TIME
datalink_time > NO_GPS_LOST_WITH_DATALINK_TIME &&
#endif #endif
GpsIsLost()) { GpsIsLost()) {
autopilot_set_mode(AP_MODE_FAILSAFE); autopilot_set_mode(AP_MODE_FAILSAFE);