rambo 1 周之前
父節點
當前提交
2c9a2ad95c

+ 9 - 18
python/mcu/DeviceControl.py

@@ -194,24 +194,14 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
         self.to_init_device_origin_point(device_name="mcu", is_force=is_force)
         print("MCU 开始循环~")
         logger.info("MCU 开始循环~")
-        loop = asyncio.get_event_loop()
         while 1:
             await asyncio.sleep(1)
             if not self.serial_ins or not self.connect_state:
                 break
             try:
-                # self.sendSocketMessage(
-                # 0,
-                #     msg="mcu循环监听中",
-                #     data={},
-                #     device_status=2,
-                # )
-                # print("mcu   send_cmd")
-                loop.create_task(self.send_cmd())
-                # time.sleep(0.01)
+                self.send_cmd()
                 if not self.get_basic_info_mcu():
                     pass
-                # self.close_other_window()
             except BaseException as e:
                 print("121231298908", e)
                 logger.info("121231298908", e)
@@ -424,9 +414,8 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
             else:
                 break
 
-    async def send_cmd(self):
+    def send_cmd(self):
         self.lock.acquire()
-        asyncio.sleep(0.01)
         if self.send_data_queue:
             # self.sendSocketMessage(msg="正在发送命令", device_status=1)
             data = self.send_data_queue.pop(0)
@@ -1041,8 +1030,8 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
 
         await asyncio.sleep(0.3)
         receive_data = self.read_cmd(serial_handle)
-        print("尝试接收命令", receive_data)
-        logger.info("尝试接收命令,%s", receive_data)
+        # print("尝试接收命令", receive_data)
+        # logger.info("尝试接收命令,%s", receive_data)
         device_id = 0
 
         if receive_data:
@@ -1086,8 +1075,8 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
             elif device_id == 2:
                 # 有线接收器
                 self.connected_ports_dict[port_name] = "Line_Control"
-                print("device_id", device_id)
-                logger.info("device_id %s", device_id)
+                # print("device_id", device_id)
+                # logger.info("device_id %s", device_id)
                 state = await self.line_control.to_connect_com(port_name)
                 if not state:
                     return False
@@ -1624,6 +1613,7 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
                     image_index=image_index,
                     smart_shooter=smart_shooter,
                     record_id=record_id,
+                    is_get_mcu_state=True,
                 )
                 if self.action_state != 1:
                     # 异常终止
@@ -1699,6 +1689,7 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
                 image_index=image_index,
                 smart_shooter=smart_shooter,
                 record_id=action_id,
+                is_get_mcu_state=False,
             )
             if self.action_state != 1:
                 # 异常终止
@@ -1783,7 +1774,7 @@ async def checkMcuConnection(device_ctrl: DeviceControl):
         ports_dict = device_ctrl.scan_serial_port()
         device_ctrl.temp_ports_dict = ports_dict
         # print("device_ctrl.p_list", device_ctrl.p_list)
-        logger.info("device_ctrl.p_list %s", device_ctrl.p_list)
+        # logger.info("device_ctrl.p_list %s", device_ctrl.p_list)
         if not ports_dict:
             # 全部清空 移除所有串口
             if device_ctrl.p_list:

+ 3 - 1
python/mcu/ProgramItem.py

@@ -22,6 +22,7 @@ class ProgramItem(BaseClass):
         image_index: int = -1,
         record_id: int = -1,
         smart_shooter=None,
+        is_get_mcu_state=True,
     ):
         super().__init__(BaseClass)
         # 1 表示等待中,2表示没有等待
@@ -58,6 +59,7 @@ class ProgramItem(BaseClass):
         self.turntable_position = float(
             self.get_value(action_data, "turntable_position", 0.0)
         )
+        self.is_get_mcu_state = is_get_mcu_state
         self.turntable_angle = float(
             self.get_value(action_data, "turntable_angle", 0.0)
         )
@@ -237,7 +239,7 @@ class ProgramItem(BaseClass):
         # if not self.goods_art_no:  # and self.action_name != "初始化位置"
         #     return False
         start_time = time.time()
-        self.mcu.is_get_mcu_state = False
+        self.mcu.is_get_mcu_state = self.is_get_mcu_state 
         # ============连接MCU 处理步进电机与舵机等
         if settings.IS_MCU:
             if self.mode_type != "其他配置" and await self.check_mcu_move_is_stop() is False:

+ 1 - 1
python/mcu/SerialIns.py

@@ -69,7 +69,7 @@ class SerialIns(object):
             buf.extend([0xFF & ~sum(data)])
             # 55 55 02 5a 01 a4
             print("send buf  {}".format(self.change_hex_to_int(buf)))
-            logger.info("正在发送命令======>>>>> send buf  %s", self.change_hex_to_int(buf))
+            # logger.info("正在发送命令======>>>>> send buf  %s", self.change_hex_to_int(buf))
             try:
                 self.serial_handle.write(buf)
                 return True

+ 1 - 1
python/mcu/capture/smart_shooter_class.py

@@ -396,7 +396,7 @@ class SmartShooter(metaclass=SingletonType):
             context.term()
             return False, "相机未连接或软件未打开"
 
-    async def CameraShooter(self, msg_type="", goods_art_no="", id=0, is_af=False,delay=1.5):
+    async def CameraShooter(self, msg_type="", goods_art_no="", id=0, is_af=False,delay=2.0):
         # 这里延迟一秒钟 等待前置命令完成
         await asyncio.sleep(delay)
         # 对焦混用

+ 2 - 1
python/sockets/message_handler.py

@@ -232,7 +232,8 @@ async def handlerSend(
                 await manager.send_personal_message(data, websocket, msg_type=msg_type)
                 return
             action_list = [dict(device.__dict__) for device in all_devices]
-            print("handl send smart_shooter", smart_shooter)
+            print("执行拍摄 打印动作列表", condtions)
+            # logger.info("执行拍摄 打印动作列表", json.dumps(action_list))
             device_ctrl = DeviceControl(
                 websocket_manager=manager, smart_shooter=smart_shooter
             )