Custom Heartbeat sending rate on mission planner?

Hello,

I have a few questions regarding datalink faillure :

  1. Is the HEARTBEAT message rate hardcoded in Mission Planner, or is it configurable in the settings? Can it be set to something like 5Hz?
  2. Would sending GCS HEARTBEAT messages more frequently be a reliable method for fast link failure detection on the aircraft side?
  3. Are there any recommended approaches in ArduPilot for achieving fast failure detection and switching in a dual-datalink setup?

[Background]
I’m working on setup a hybrid dual datalink system for seamless connectivity.
If one datalink fails, the aircraft should detect it and automatically switch to(turn on) the other link within around 300 milliseconds.

To implement this, I need a way to quickly detect datalink failure on the aircraft side.
I’m currently considering two approaches:

  • Using MAVLink PING messages
  • Having the GCS send HEARTBEAT messages more frequently than the default 1Hz rate.

Any insights, suggestions, or experiences you can share would be greatly appreciated!

Thank you.

Seamless or near seamless failover is better implemented lower in the stack. MAVLink and Ardupilot are designed to handle multiple active routes delivering the same messages. Depending on the link hardware used there is no guarante that the link is bidirectional unless the other side of the link tells you so, you should be using link status messages to infer about link status.

1 Like

1sec is hardcoded.
You can send whatever messages you want, but you have to write the detecting and switching logic, most practically in LUA.

1 Like