add camera timer to check if it should exit

This commit is contained in:
Sem van der Hoeven
2023-06-08 11:09:12 +02:00
parent e48efb93e1
commit 8a85857155
2 changed files with 11 additions and 2 deletions

View File

@@ -286,7 +286,7 @@
} }
function handle_ws_message(data) { function handle_ws_message(data) {
console.log("Handling message " + data); // console.log("Handling message " + data);
if (data.type == "STATUS") { if (data.type == "STATUS") {
document.getElementById("batterypercentage").innerHTML = "Battery percentage: " + data.data.battery_percentage.toString().substring(0, 4) + "%"; 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) + "%"; 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) { ws.addEventListener("message", function message(message) {
try { try {
console.log(message.data) // console.log(message.data)
var msg = JSON.parse(message.data); var msg = JSON.parse(message.data);
handle_ws_message(msg); handle_ws_message(msg);

View File

@@ -33,6 +33,9 @@ class CameraController(Node):
self.websocket = None self.websocket = None
self.server = None self.server = None
self.event_loop = 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 = threading.Thread(target=self.start_listening)
# self.websocket_thread.start() # 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): def take_picture_callback(self, request, response):
if (request.input_name == "default"): if (request.input_name == "default"):
@@ -98,6 +106,7 @@ class CameraController(Node):
error_amount += 1 error_amount += 1
if error_amount > 20: if error_amount > 20:
self.get_logger().error("Too many errors, closing node") self.get_logger().error("Too many errors, closing node")
self.should_exit = True
sys.exit(-1) sys.exit(-1)