Verify Kill Switch

Hello,
Other than verifying if the switch with Emergency Stop function has been pressed, is there a way to verify if the emergency stop is active through mavlink messages? I did find two commands two force a disarm, MAV_CMD_DO_FLIGHTTERMINATION and MAV_CMD_COMPONENT_ARM_DISARM, but couldn’t find , with assurance, a message that specifically shows the emergency stop function is active

see status text messages.

1 Like

So I tried to add a listener to STATUSTEXT the way I normally do for other messages, but it doesn’t work, is this one of those messages I need to request?

mensg="bla"
@vehicle.on_message('STATUSTEXT')
def statustext_listener(self, name, m):
    global mensg
    mensg=m.text

while True:
    print(mensg)

I see the text in mavros console. but maybe it is a mavros output and not a direct ardupilot status_text, sorry.

so take a look on how mavros does it.

I solved, I just need to request it

Today I found a case that statustext doesn’t do too well. If you press the kill switch, you instantly see a reaction in the messages, but if other state changes, like if I pressed the safety switch again, the message that would be displayed is about the safety switch, even if the kill switch is still pressed. While this method does allow to detect the start of a emergency stop, it is not guaranteed that you would be able to monitor this state continuously.

Are there any other ways? I also tried

SYS_STATUS parameters onboard_control_sensors_X

, with x being present,enabled and health,and

HEARTBEAT parameter system_status

The emergency stop switch doesn’t affects any of them.