INITAL_MODE is over-ridden by FLTMODEn when using a 6 position switch

This may be a “feature” more than a “bug” - but for reference, if your transmitter has a 6-position switch on a channel used for flight modes, which ever button position is actively pressed when the transmitter is turned on and the copter boots up, that button position’s mode will over ride what ever mode is set in INITIAL_MODE.

This can be inconvenient if the first (default) button position of the six position switch is set to a flight mode that’s different from the INITIAL_MODE parameter. If they’re both set the same, you’d never know about this.

Add this to your pre-flight checklist procedure:

  • check the RC-transmitter flight mode.

This is something that can only be fixed operation procedures.

1 Like

That really isn’t a solution, user may want to boot in a different mode only needed for preflight checks or initial operation after power up. For example booting a plane into takeoff mode so it can be launched.

By definition, INITIAL_MODE only applies from initial boot until the RC receiver is active…
If you don’t want the mode to change when the RC TX connects, then do as @amilcarlucas suggests.

Thanks @kd0aij - I appreciate the elaboration.

Here’s a bit of commentary for others who come across this thread at a later date:

This issue can depend on what sort of ground equipment is being used.

Even on traditional R/C transmitters the situation can be different. If a two position switch is used to enable a flight mode, then I would expect that if the transmitter switch is in the disabled position, then it wouldn’t have an impact on flight mode. The reason the 6 position switch is different is because it typically is never in an disabled position. (maybe it would be if you didn’t set a flight mode to the default switch position)

The new “smart” controllers like the HereLink and SIYI controllers can both use switch positions and send mavlink command via their apps such as Solex or Qgroundcontrol. If MavLink commands are used for setting flight modes, no flight mode signal is transmitted when the controller starts up. (at least it doesn’t on my HereLink)

This week I’m experimenting with a gamepad. Used with Qgroundcontrol or Mission Planner it seems to function like a smart controller because the gamepad buttons are commanding the ground control application to send mavlink commands.

Things got a little confusing because while having the active control with the gamepad and Mission Planner, I also have my R/C transmitter link active. And my transmitter has a 6 position switch for flight mode.

The wiki page on using a game pad recommends having a transmitter link as a backup if you’re using a gamepad and ground control program. Using a simpler transmitter without a 6 position switch would have been less confusing.

Thanks all for contributing to this thread!

My experience is limited to LOS operations using only an RC transmitter for control…

But I do believe that if a (valid) FLIGHTMODE_CH is assigned, the mode selected by that channel, whether it be mapped to any switch or knob will override INITIAL_MODE. I see it is possible to disable the flightmode channel by setting the parameter to zero (didn’t know that before).
Perhaps by 2-pos switch, you mean using an RC_OPTION assignment to set the flight mode?
That raises the question of which takes priority when a flight mode channel and flight mode RC option are both assigned.

I can answer the priority question:

When flight mode channel and an RC option are both employed, the last one to change will be the assigned mode.

3 Likes