Procházet zdrojové kódy

Merge remote-tracking branch 'origin/master'

panqiuyao před 7 měsíci
rodič
revize
9b40c985e3

+ 1 - 1
python/api.py

@@ -268,7 +268,7 @@ async def handle_detail(request: Request, params: HandlerDetail):
     goods_art_no_array = params.goods_art_no
     handler_result = []
     handler_result_folder = ""
-    if params.excel_path != "" or params.excel_path != None:
+    if params.excel_path != "" and params.excel_path != None:
         return fromExcelHandler(params)
     for goods_art_no in goods_art_no_array:
         try:

+ 21 - 19
python/mcu/DeviceControl.py

@@ -1273,7 +1273,9 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
                 code=1, msg="mcu设备未初始化", device_status=4
             )
             return False
-        _is_debug = 1
+        _is_debug = 1 if settings.IS_DEBUG == "true" else 0
+        is_deviation = 0 if settings.IS_DEBUG == "true" else 1
+        print("控制设备==>_is_debug", _is_debug)
         match device_name:
             case "camera_high_motor":
                 # 相机电机
@@ -1281,11 +1283,11 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
                 self.to_device_move(
                     device_name=device_name,
                     value=float(value),
-                    max_speed=1400,
-                    up_speed=400,
-                    down_speed=100,
-                    _is_debug=_is_debug,
-                    is_deviation=0,
+                    # max_speed=1400,
+                    # up_speed=400,
+                    # down_speed=100,
+                    # _is_debug=_is_debug,
+                    # is_deviation=is_deviation,
                 )
             case "camera_steering":
                 print(device_name, value)
@@ -1293,27 +1295,27 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
                 self.to_device_move(
                     device_name=device_name,
                     value=float(value),
-                    _is_debug=_is_debug,
-                    is_deviation=0,
+                    # _is_debug=_is_debug,
+                    # is_deviation=is_deviation,
                 )
             case "turntable_steering":
                 # 转盘舵机
                 self.to_device_move(
                     device_name=device_name,
                     value=float(value),
-                    _is_debug=_is_debug,
-                    is_deviation=0,
+                    # _is_debug=_is_debug,
+                    # is_deviation=is_deviation,
                 )
             case "turntable_position_motor":
                 # 转盘舵机
                 self.to_device_move(
                     device_name=device_name,
                     value=float(value),
-                    max_speed=1400,
-                    up_speed=400,
-                    down_speed=100,
-                    _is_debug=_is_debug,
-                    is_deviation=0,
+                    # max_speed=1400,
+                    # up_speed=400,
+                    # down_speed=100,
+                    # _is_debug=_is_debug,
+                    # is_deviation=is_deviation,
                 )
             case "overturn_steering":
                 # 翻板舵机中位
@@ -1327,10 +1329,10 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
             case "take_picture":
                 capture_one = DigiCam()
                 try:
-                    camera_is_connect = capture_one.checkCameraConnect()
-                    if camera_is_connect is not True:
-                        self.sendSocketMessage(1,"相机未连接,请检查",device_status=-1)
-                        return
+                    # camera_is_connect = capture_one.checkCameraConnect()
+                    # if camera_is_connect is not True:
+                    #     self.sendSocketMessage(1,"相机未连接,请检查",device_status=-1)
+                    #     return
                     capture_one.getCaptureFolderPath()
                     if value > 0:
                         capture_one.auto_focus()

+ 2 - 1
python/mcu/McuDeviationSet.py

@@ -19,7 +19,8 @@ class McuDeviationSet:
         # self.set_enable_by_mcu()
         # self.show()
         self.last_value = defaultdict(float)
-        self.mcu_debug = McuDebug(mcu, is_debug=True, is_deviation=False)
+        is_debug = True if settings.IS_DEBUG == "true" else False
+        self.mcu_debug = McuDebug(mcu, is_debug=is_debug, is_deviation=False)
         loop = asyncio.get_event_loop()
         loop.create_task(self.get_mcu_deviation(), name="get_mcu_deviation")
         # # 运动到设定位

+ 2 - 1
python/mcu/OtherSet.py

@@ -12,7 +12,8 @@ class OtherSet():
         self.mcu = mcu
         self.get_value_flag = False
         self.last_value = defaultdict(float)
-        self.mcu_debug = McuDebug(mcu, is_debug=True, is_deviation=False)
+        is_debug = True if settings.IS_DEBUG == "true" else False
+        self.mcu_debug = McuDebug(mcu, is_debug=is_debug, is_deviation=False)
         # self.ampy_run = None
         # 自动获取数据
         # QTimer.singleShot(500, self.get_data_from_mcu)

+ 1 - 1
python/mcu/RemoteControlV2.py

@@ -357,7 +357,7 @@ class RemoteControlV2(BaseClass):
                 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:
+            if settings.IS_DEBUG == "true":
                 print("收到按键", button_value)
             return
 

+ 22 - 5
python/mcu/capture/module_watch_dog.py

@@ -117,15 +117,21 @@ class FileEventHandler(FileSystemEventHandler, metaclass=SingletonType):
         crud = CRUD(PhotoRecord)
         crud.read()
 
-    async def sendCallback(self, file_path):
-        await asyncio.sleep(0.01)
-        self.mcu.msg_type = "run_mcu_single"
-        print("货号不存在,监听不写入", self.mcu.msg_type)
+    async def sendCallback(
+        self, file_path, goods_art_no=None, image_index=-1, msg_type="run_mcu_single"
+    ):
+        await asyncio.sleep(1)
+        self.mcu.msg_type = msg_type
+        # print("货号不存在,监听不写入", self.mcu.msg_type)
         self.mcu.sendSocketMessage(
             code=0,
             msg="主图测试拍摄完成",
             device_status=2,
-            data={"file_path": file_path.replace("\\", "/")},
+            data={
+                "file_path": file_path.replace("\\", "/"),
+                "goods_art_no": goods_art_no,
+                "image_index": image_index,
+            },
         )
         self.msg_type = "mcu"
 
@@ -161,6 +167,17 @@ class FileEventHandler(FileSystemEventHandler, metaclass=SingletonType):
                 updateImageRaw(
                     create_time, file_path, self.goods_art_no, self.image_index
                 )
+                loop = asyncio.new_event_loop()
+                asyncio.set_event_loop(loop)
+                loop.run_until_complete(
+                    self.sendCallback(
+                        file_path,
+                        goods_art_no=self.goods_art_no,
+                        image_index=self.image_index,
+                        msg_type="run_mcu_update",
+                    )
+                )
+                loop.close()
             except BaseException as e:
                 print("获取文件create_time失败", e)
                 self.send_log("获取文件处理失败{}".format(e))

+ 34 - 34
python/sockets/message_handler.py

@@ -65,23 +65,23 @@ async def handlerSend(
             device_ctrl.controlDevice(device_name, value)
         case "run_mcu":
             msg_type = "run_mcu"
-            try:
-                # 判断拍照软件是否初始化
-                digicam = DigiCam()
-                camera_is_connect = digicam.checkCameraConnect()
-                if camera_is_connect is not True:
-                    data = manager.jsonMessage(
-                        code=1, msg="相机未连接,请检查", msg_type=msg_type
-                    )
-                    await manager.send_personal_message(data, websocket)
-                    return
-                digicam.getCaptureFolderPath()
-            except:
-                data = manager.jsonMessage(
-                    code=1, msg="digicam未初始化,请检查", msg_type=msg_type
-                )
-                await manager.send_personal_message(data, websocket)
-                return
+            # try:
+            #     # 判断拍照软件是否初始化
+            #     digicam = DigiCam()
+            #     camera_is_connect = digicam.checkCameraConnect()
+            #     if camera_is_connect is not True:
+            #         data = manager.jsonMessage(
+            #             code=1, msg="相机未连接,请检查", msg_type=msg_type
+            #         )
+            #         await manager.send_personal_message(data, websocket)
+            #         return
+            #     digicam.getCaptureFolderPath()
+            # except:
+            #     data = manager.jsonMessage(
+            #         code=1, msg="digicam未初始化,请检查", msg_type=msg_type
+            #     )
+            #     await manager.send_personal_message(data, websocket)
+            #     return
             action_info = data.get("action", "执行左脚程序")
             goods_art_no = data.get("goods_art_no", None)
             if goods_art_no == None or goods_art_no =="":
@@ -132,23 +132,23 @@ async def handlerSend(
                 name="run_mcu_config",
             )
         case "re_take_picture":#重拍
-            try:
-                # 判断拍照软件是否初始化
-                digicam = DigiCam()
-                camera_is_connect = digicam.checkCameraConnect()
-                if camera_is_connect is not True:
-                    data = manager.jsonMessage(
-                        code=1, msg="相机未连接,请检查", msg_type=msg_type
-                    )
-                    await manager.send_personal_message(data, websocket)
-                    return
-                digicam.getCaptureFolderPath()
-            except:
-                data = manager.jsonMessage(
-                    code=1, msg="digicam未初始化,请检查", msg_type=msg_type
-                )
-                await manager.send_personal_message(data, websocket)
-                return
+            # try:
+            #     # 判断拍照软件是否初始化
+            #     digicam = DigiCam()
+            #     camera_is_connect = digicam.checkCameraConnect()
+            #     if camera_is_connect is not True:
+            #         data = manager.jsonMessage(
+            #             code=1, msg="相机未连接,请检查", msg_type=msg_type
+            #         )
+            #         await manager.send_personal_message(data, websocket)
+            #         return
+            #     digicam.getCaptureFolderPath()
+            # except:
+            #     data = manager.jsonMessage(
+            #         code=1, msg="digicam未初始化,请检查", msg_type=msg_type
+            #     )
+            #     await manager.send_personal_message(data, websocket)
+            #     return
             msg_type = "re_take_picture"
             record_id = data.get("record_id")
             session = SqlQuery()