Move mavlink commands handlers to a separated function

It's more convenient to handle error that way.
This commit is contained in:
Oleg Kalachev
2026-08-28 22:36:40 +03:00
parent 119d1d82ac
commit 0dae0a3e7e
5 changed files with 38 additions and 28 deletions
+3 -1
View File
@@ -262,7 +262,9 @@ class Flix:
try:
logger.debug(f'Send command {command} with params {params} (attempt #{attempt + 1})')
self.mavlink.command_long_send(self.system_id, 0, command, 0, *params) # type: ignore
self.wait('mavlink.COMMAND_ACK', value=lambda msg: msg.command == command and msg.result == mavlink.MAV_RESULT_ACCEPTED, timeout=0.1)
ack = self.wait('mavlink.COMMAND_ACK', value=lambda msg: msg.command == command, timeout=0.1)
if ack.result != mavlink.MAV_RESULT_ACCEPTED:
raise RuntimeError(f'Command {command} failed with result {ack.result}')
return
except TimeoutError:
continue