diff --git a/api/views/index.ejs b/api/views/index.ejs index 4cb2ebff..a0ddab23 100644 --- a/api/views/index.ejs +++ b/api/views/index.ejs @@ -286,7 +286,7 @@ } function handle_ws_message(data) { - console.log("Handling message " + data); + // console.log("Handling message " + data); if (data.type == "STATUS") { document.getElementById("batterypercentage").innerHTML = "Battery percentage: " + data.data.battery_percentage.toString().substring(0, 4) + "%"; document.getElementById("cpuload").innerHTML = "CPU load: " + data.data.cpu_usage.toString().substring(0, 6).substring(2, 4) + "%"; @@ -318,7 +318,7 @@ ws.addEventListener("message", function message(message) { try { - console.log(message.data) + // console.log(message.data) var msg = JSON.parse(message.data); handle_ws_message(msg); diff --git a/src/camera/camera/camera_controller.py b/src/camera/camera/camera_controller.py index 926121a1..7f8a5d9f 100644 --- a/src/camera/camera/camera_controller.py +++ b/src/camera/camera/camera_controller.py @@ -33,6 +33,9 @@ class CameraController(Node): self.websocket = None self.server = None self.event_loop = None + self.should_exit = False + + self.timer = self.create_timer(1, self.timer_callback) # self.websocket_thread = threading.Thread(target=self.start_listening) # self.websocket_thread.start() @@ -42,6 +45,11 @@ class CameraController(Node): + def timer_callback(self): + if self.should_exit: + self.get_logger().info("Shutting down...") + self.destroy_node() + sys.exit(-1) def take_picture_callback(self, request, response): if (request.input_name == "default"): @@ -98,6 +106,7 @@ class CameraController(Node): error_amount += 1 if error_amount > 20: self.get_logger().error("Too many errors, closing node") + self.should_exit = True sys.exit(-1)