I found that, in its default configuration, Mission Planner does not show as “disconnected” even if it is receiving no heartbeats, as long as the TCP connection is alive (using TCP).
In a situation where there is a companion computer that just forwards mavlink packets, this could fool the user into thinking the flight controller is still communicating with Mission Planner, even if the flight controller is off.
Is there a way to have Mission Planner show as “disconnected” after a certain time if no heartbeats are received?