try except with parsing status message

This commit is contained in:
Sem van der Hoeven
2023-06-05 21:12:08 +02:00
parent 49be78f16c
commit a725c593ff

View File

@@ -130,6 +130,7 @@ class ApiListener(Node):
Args: Args:
msg (DroneStatus): The received message msg (DroneStatus): The received message
""" """
try:
self.status_data_received = True self.status_data_received = True
self.status_data['battery_percentage'] = msg.battery_percentage self.status_data['battery_percentage'] = msg.battery_percentage
self.status_data['cpu_usage'] = msg.cpu_usage self.status_data['cpu_usage'] = msg.cpu_usage
@@ -137,11 +138,12 @@ class ApiListener(Node):
self.armed = msg.armed self.armed = msg.armed
self.status_data['control_mode'] = msg.control_mode self.status_data['control_mode'] = msg.control_mode
self.status_data['route_setpoint'] = msg.route_setpoint self.status_data['route_setpoint'] = msg.route_setpoint
self.status_data['velocity'] = msg.velocity self.status_data['velocity'] = [msg.velocity[0], msg.velocity[1], msg.velocity[2]]
self.status_data['position'] = msg.position self.status_data['position'] = [msg.position[0], msg.position[1], msg.position[2]]
self.status_data['failsafe'] = msg.failsafe self.status_data['failsafe'] = msg.failsafe
self.status_data['velocity'] = msg.velocity except Exception as e:
self.status_data['position'] = msg.position self.get_logger().error(
f'Error while parsing drone status message: {e}')
def failsafe_callback(self, msg): def failsafe_callback(self, msg):
"""Callback for when the failsafe gets enabled. Queues a FAILSAFE message to the client """Callback for when the failsafe gets enabled. Queues a FAILSAFE message to the client
@@ -190,6 +192,9 @@ class ApiListener(Node):
if len(self.message_queue) > 0 and self.websocket is not None: if len(self.message_queue) > 0 and self.websocket is not None:
self.get_logger().info("sending message") self.get_logger().info("sending message")
asyncio.run(self.publish_message(self.message_queue.pop(0))) asyncio.run(self.publish_message(self.message_queue.pop(0)))
else:
if self.websocket is None:
self.get_logger().error("No websocket connection")
def start_api_thread(self): def start_api_thread(self):
"""Starts the API thread""" """Starts the API thread"""