From f37841d7bbf511dab7a9d833f9f3351dd33659ca Mon Sep 17 00:00:00 2001 From: Alex Davies Date: Fri, 8 Nov 2024 09:41:34 -0400 Subject: [PATCH] Run ui start in thread --- guiTools/spiri_sdk_guitools/sim_drone.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/guiTools/spiri_sdk_guitools/sim_drone.py b/guiTools/spiri_sdk_guitools/sim_drone.py index 3cc29b9..23584dd 100644 --- a/guiTools/spiri_sdk_guitools/sim_drone.py +++ b/guiTools/spiri_sdk_guitools/sim_drone.py @@ -141,7 +141,7 @@ class Robot: with self.robot_ui: ui.label(f"{self.robot_type} {self.sysid}").classes("text-2xl") ui.label(f"""Sysid: {self.sysid}""") - ui.button("Start", on_click=self.start).classes("m-2") + ui.button("Start", on_click=self.async_start).classes("m-2") ui.button("Stop", on_click=self.async_stop).classes("m-2") self.video_button = EnableStreamingButton(sysid=self.sysid).classes( "m-2" @@ -187,6 +187,9 @@ class Robot: all=True, filters={"name": f"robot-sim-{self.robot_type}-{self.sysid}"} ) + async def async_start(self): + return await run.io_bound(self.start) + def start(self): """Starts the simulated drone with a given sysid, each drone must have it's own unique ID.