Enhancement to RTL mode: do a pause before RTL by radio FS

I’ve done a small improvement to the RTL behavior for case it is caused by Radio failsafe:
When a radio link get broken then copter goes to a Brake mode for 10 seconds. If the RC link is re-established within that time frame then copter returns to the original flight mode automatically.
If the RC link did not restored within 10 seconds then RTL mode turns on.

This should be usable for long range flights where the short RC disconnects are possible. Currently it is inconvenient that RTL starts immediately on every disconnect. And you have to do some manipulations with your TX switches to return to the original flight mode (and during you’re doing that your copter is going back home, but you don’t want that).

So generally I would like to know if anyone interested to do that a public feature.
Also any comments about design are welcome!

Here is the github ticket https://github.com/ArduPilot/ardupilot/issues/9409
there also a comment with a short OSD video of the real test flight.

1 Like

I think that’s pretty awesome, and it would certainly be helpful in some situations when I’m doing AutoMissions.

Were you thinking about applying this to manual flight as well as Auto flight?

Scripting in FC is currently in development, This is an example task for a script. I guess 3.7 or 3.8 will have scripting support…

1 Like

Technically it could be enabled for manual modes too, but I don’t sure it will be safe. But I don’t have an experience of flying manual mode till RC failsafe.

Agree, it’s a good task for scripting. Many logic could be moved from FW to scripting after it will be done. Thought I don’t believe it could be ready (i.e. stable, reliable and having sufficient API) earlier than 6 month.

In auto missions you can set FS_THR_ENABLE to 2, so your auto mission will continue in case of radio failsafe. Just don’t forget to add an RTL to the end of the mission :smiley:

1 Like

Can you shed more light on this planned capability? General architecture ( how will it be different from a userhook loop?) and how much would it allow us to change behavior of things like Failsafe actions, automatic on board selection of flight modes based on events etc.? Is there a separate discussion thread for this?