mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-31 03:57:45 +08:00
[rotorcraft] Add GPS loss bypass with datalink timeout (#2709)
This commit is contained in:
@@ -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>
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user