From b502c5b285896474e224d80dbf324b6adcece669 Mon Sep 17 00:00:00 2001 From: Sem van der Hoeven Date: Mon, 29 May 2023 18:36:02 +0200 Subject: [PATCH] add try except for sending move request --- api/index.js | 1 + api/views/index.ejs | 1 + .../api_communication/api_listener.py | 28 +++++++++++-------- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/api/index.js b/api/index.js index 8d788d80..cf7d9ffd 100644 --- a/api/index.js +++ b/api/index.js @@ -53,6 +53,7 @@ app.get("/image", function (req, res) { var request = JSON.stringify({ command: 5 }); + console.log("sending picture request") ws.send(request); while (received_picture == false) { } res.status(200).send(last_image); diff --git a/api/views/index.ejs b/api/views/index.ejs index 3590638d..6269bfce 100644 --- a/api/views/index.ejs +++ b/api/views/index.ejs @@ -135,6 +135,7 @@ const img = req.response; document.getElementById("picture").src = "data:image/png;base64," + img; } + console.log("sending picture request") xhr.send(); } diff --git a/src/api_communication/api_communication/api_listener.py b/src/api_communication/api_communication/api_listener.py index fe23a81b..0d98ebcb 100644 --- a/src/api_communication/api_communication/api_listener.py +++ b/src/api_communication/api_communication/api_listener.py @@ -137,18 +137,22 @@ class ApiListener(Node): self.get_logger().info(f'Calling move position service with request: {str(self.move_position_request)}') - self.future = self.move_position_client.call_async(self.move_position_request) - rclpy.spin_until_future_complete(self, self.future) - result = self.future.result() - message_result = {} - message_result['type'] = ResponseMessage.MOVE_DIRECTION_RESULT.name - if result.success == True: - self.get_logger().info('Move position service call success') - message_result['success'] = True - else: - self.get_logger().error('Move position service call failed') - message_result['success'] = False - self.message_queue.append(json.dumps(message_result)) + try: + self.future = self.move_position_client.call_async(self.move_position_request) + rclpy.spin_until_future_complete(self, self.future) + result = self.future.result() + message_result = {} + message_result['type'] = ResponseMessage.MOVE_DIRECTION_RESULT.name + if result.success == True: + self.get_logger().info('Move position service call success') + message_result['success'] = True + else: + self.get_logger().error('Move position service call failed') + message_result['success'] = False + self.message_queue.append(json.dumps(message_result)) + except Exception as e: + self.get_logger().error('Something went wrong while sending a move position request!\n' + str(e)) + def consume_message(self, message):