Prevent RTL to be a default mode when turn on

A few times after crash(due to my faults), I discovered that plane’s servos were broken(burned off). My assumption is that it was due to RTL mode(default one after turn on) and impossibility to move ailerons(due to some obstructions like a branch from a tree, etc).

Usually after strong hit my batteries are disconnected for a short period of time and FC is rebooted.

So, I’d like to make Manual mode as default one after reboot, even if there is no connection from GCS or RC.
Anyway, RTL in this case(after reboot) is useless because FC is not armed. No possibility to make a real RTL in this case(even if reboot happened in the air).

Set INITIAL_MODE in parameters to MANUAL mode.

1 Like

Manual will still send PWM signal to control surfaces. It will be either TRIM or received value. Only safety switch can reliably prevent Ardupilot from sending signals to servos after startup.

By some reason, initial mode is still RTL even if INITIAL_MODE=MANUAL

Ok, Ardipilot uses INITIAL_MODE at the beginning then after few seconds the one it gets from FC and then after few seconds RTL is used.

Thanks for the hint.
Agree, looks like it is a reliable approach.
I’d like to have it in my RC(assigned to some free sticks).
Is it possible to have it on RC free stiks assigned an trigger it via some free channel? Looks like my Matek 405-WTE does not have any hardware safety switch pins.

IIRC Matek boards are by default configured not to use the safety switch. You should be able to use button connected to one of servo channels configured as GPIO as a safety switch button.

You will have to build a custom firmware with a modified hwdef to add safety switch.
There are two options of toggling the safety switch

  • Hardware button
  • MAVLink command (need GCS)

Something is triggering RTL. Set LOG_DISARMED=1 and provide the resulting log showing the behavior.

Here is a log-file.
They are big, take a look at first minutes.

54 01.01.1980 2-00-00.bin (356 KB)

This one is better

Ok, looks like RTL is turned on is because of GCS
“MSG, 14149635, GCS Failsafe On: RTL”

Ok, looks like it is because of GCS. From logs:
“MSG, 14149635, GCS Failsafe On: RTL”

Correct - you have FS_GCS_ENABLE=1 and FS_LONG_ACTN=1 (RTL).

Hm… is it possible to ignore FS with GCS connection(MAVLink connection), but FailSafe on connection loss with RC(ExpressLRS) ?

Of course it is:

https://ardupilot.org/plane/docs/apms-failsafe-function.html

1 Like

Got it, thanks!

@Yuri_Rage
@LupusTheCanine

Thanks guys for your help.
I appreciate it!