mirror of
https://github.com/okalachev/flix.git
synced 2026-09-06 00:10:58 +00:00
Move mavlink commands handlers to a separated function
It's more convenient to handle error that way.
This commit is contained in:
@@ -1 +1 @@
|
||||
from .flix import Flix
|
||||
from .flix import Flix, mavlink
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user