Sfoglia il codice sorgente

遥控器停止拍摄

rambo 7 mesi fa
parent
commit
7793ae4543

+ 3 - 0
python/mcu/DeviceControl.py

@@ -49,6 +49,7 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
         self.p_list = []
         self.temp_ports_dict = {}
         self.is_running = False
+        self.is_runn_action = False
         self.is_stop_action = False
         self.connect_state = False
         self.device_name_dict = {
@@ -1416,6 +1417,7 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
             )
             self.controlDevice("laser_position", 0)
             self.msg_type = "mcu"
+            self.is_runn_action = True
             for index, action in enumerate(config_list):
                 await asyncio.sleep(0.1)
                 if self.is_stop_action == True:
@@ -1470,6 +1472,7 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
                     pass
                 # self.action_state = 2
             self.action_state = 2
+            self.is_runn_action = False
             self.msg_type = "photo_take_finish"
             self.sendSocketMessage(
                 code=0,

+ 7 - 0
python/mcu/RemoteControlV2.py

@@ -356,6 +356,13 @@ class RemoteControlV2(BaseClass):
                 _data = {"type": self.msg_type,"data":None}
                 self.sendSocketMessage(0, "处理单拍消息", data=_data, device_status=-1)
                 self.msg_type = "blue_tooth"
+            if button_value in [9]:
+                # 处理停止
+                self.msg_type = "stop_action"
+                # 0 闲置;1进行中;2已完成;
+                _data = {"type": self.msg_type, "data": None}
+                self.sendSocketMessage(0, "处理单拍消息", data=_data, device_status=-1)
+                self.msg_type = "blue_tooth"
             self.sendSocketMessage(code=0, msg="", data=message, device_status=2)
             if settings.IS_DEBUG == "true":
                 print("收到按键", button_value)

+ 2 - 1
python/sockets/message_handler.py

@@ -65,7 +65,8 @@ async def handlerSend(
             device_ctrl.controlDevice(device_name, value)
         case "stop_action":
             device_ctrl = DeviceControl(websocket_manager=manager)
-            device_ctrl.is_stop_action = True
+            if device_ctrl.is_runn_action == True:
+                device_ctrl.is_stop_action = True
         case "run_mcu":
             msg_type = "run_mcu"
             action_info = data.get("action", "执行左脚程序")