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.
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.