3.6rc-2 unwanted LAND instead of RTL in a radio FS event

Hello,

I have encountered some very unpleasant situation while doing radio range tests. For some reason a LAND mode was activated when RC connection was lost (FAILSAFE_RADIO-1). However in params I have set RTL mode if radio connection is lot. I double checked that from log.param file.

I have tested these settings and FailSafes earlier while flying close by. It was working as intended. When RC controller was turned off, the drone went to a RTL mode.

I have following settings:
FS_EKF_ACTION 2
FS_GCS_ENABLE 1
FS_THR_ENABLE 2

Radio FailSafe uses “No Signal” method

Good thing was that I had reliable ground station connection and I could stop that LAND mode and set it to RTL. However I had some trouble as when the RC connection came back and lost again, that caused LAND mode again.

It was a close call that I was able to get the drone back safe and dry, without landing to a lake :wink:

I don’t understand what could have caused LAND command in FailSafe. Could some one smarter look in to this.

LOG file:
https://drive.google.com/file/d/11v2BvnYCb6A5zrIDq7hiMjJnoQ-jRU7D/view?usp=sharing

I have found out that current realization of code doesn’t fulfill behavior that is stated in radio failsafe documentation. It seems to be kind of a bug.

Please see
https://github.com/ArduPilot/ardupilot/issues/8855

LJu,

Well spotted. This is 100% a bug and was apparently introduced when SmartRTL was added as a failsafe option. Thanks for the PR, we will include this fix (or equivalent) in -rc5 in the coming days.