FS_LONG_ACTN and FS_SHORT_ACTN

Hello,

I made some tests of GCS failsafe with my plane to see what happen in that case. I set up the following parameters before :
GCS_FS_ENABL = 1
FS_SHORT_ACTN : 1 (circle)
FS_SHORT_TIMEOUT : 3
FS_LONG_ACTN : 1 (RTL)
FS_LONG_TIMOUT : 60

I expected my plane was going to perform circle during 60 seconds do an RTL procedure. This perfectly worked in FBWA mode but never during a Mission.
I am very surprised to see that whatever the settings, nothing stops the aircraft when it is on a mission even though GCS_FS_ENABL = 1

Do you have an idea of what is going wrong. I can not believe that there no any action taken during a mission in case of GCS failsafe.

Can you send the *.bin file of the flight?

Yes, you can have the log here :
https://we.tl/t-o9ObICW82c


Seems like you reconnected to the vehicle again after failsafe about 36 seconds later.

image

Yes you are right. It is because I made some tests to check that it was working.
The parameters were these one instead of the one I said before (see on the picture).

The test plan was this one :

Start the mission
Unplug telemetry module during 40seconds
Plug it again if the aircraft don’t follow the GCS failsafe procedure (Circle during 30 seconds then RTL)

In auto mode, the aicraft always finished its flight plan and made an RTL, but it has never follow the FS_SHORT_ACTN and FS_LONG_ACTN.

After the failsafe long event on, flight mode = 11 which means that plane mode rtl.
Before you take the control in CRUISE mode at 12:05:45, the vehicle is in RTL mode from 12:01:31 for 4 minutes.


And I saw a circle on the map which has a home location as its center (RTL procedure).

What is the thing that you want exactly?
FS_SHORT_ACTN=1 cannot overwrite the current flight mode in AUTO as said in the wiki, when FS_LONG_ACTN=1 occurred 30 seconds later and your vehicle LOITERed centered at the home location.
Seems like you misunderstood the failsafe procedure, I recommend you to read this.
By your setup this is actually happening:

  1. You closed the GCS.
  2. (5 seconds later FS_SHORT_ACTN occurred) Nothing happened because FS_SHORT_ACTN=1 means no change in AUTO.
  3. (30 seconds later FS_LONG_ACTN occurred) Flight mode changed to RTL, the vehicle traveled to the home location and started to loiter. Your RTL_RADIUS=250 meters and ALT_HOLD_RTL=10000 which is 100 meters. You are flying above this altitude so no change in altitude during RTL.

Am I missing something?
Seems like RTL worked.

Edit: FS_SHORT_ACTN = 1 should overwrite the AUTO mode with CIRCLE mode but seems that has no effect in AUTO mode (produced the same behavior with Mission Planner SITL ArduPlane V4.2.0dev (8b46ab66)).

1 Like

Thank you for your answer.
I read again the wiki page on GCS failsafe and I found this :slight_smile:

So I expected the aircraft to make a Circle during 30seconds before proceeding to RTL.

For the RTL procedure, there is no problem, the altitude, radius and location are respected.

The procedure I want to have in AUTO mode in case of GCS failsafe is :

  • Enter in Circle mode during 30 seconds to try to recover datalink
  • Enter in RTL mode if the datalink is not recovered.

And I don’t understand why my aircraft doesn’t do the “CIRCLE” part.

Seems like FS_SHORT_ACTN not working in AUTO mode. I can produce what you are dealing with in simulation, too.

1 Like

Ok, too bad…

Thank you for your help !

I have tested this in 4.1.x and it is working correctly now. If FS_SHORT_ACTN=1 then it will switch to CIRCLE on RC failsafe if in AUTO mode.

It is maybe working on RC Failsafe but not in GCS Failsafe, and this is what I am interrested in.

Hi, how were you able to test GCS failsafe using mission planner SITL? Is there any way to simulate lost telemetry?

Disconnect and connect to the SITL again from MP after some time (more than FS time). You should see the mode changed to RTL.