|
|
@@ -20,7 +20,10 @@ from .LineControl import LineControl
|
|
|
import copy
|
|
|
import logging
|
|
|
from mcu.capture.smart_shooter_class import SmartShooter
|
|
|
+
|
|
|
logger = logging.getLogger(__name__)
|
|
|
+
|
|
|
+
|
|
|
# mcu命令
|
|
|
class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
lock = threading.Lock()
|
|
|
@@ -28,7 +31,9 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
def __init__(
|
|
|
self, websocket_manager: ConnectionManager, smart_shooter: SmartShooter = None
|
|
|
):
|
|
|
- super().__init__(websocket_manager=websocket_manager,smart_shooter=smart_shooter)
|
|
|
+ super().__init__(
|
|
|
+ websocket_manager=websocket_manager, smart_shooter=smart_shooter
|
|
|
+ )
|
|
|
self.msg_type = "mcu"
|
|
|
self.mcu_deviation_set = McuDeviationSet(self)
|
|
|
self.mcu_other_set = OtherSet(self)
|
|
|
@@ -122,14 +127,16 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
100: self.print_mcu_error_data, # 打印下位机的错误内容
|
|
|
}
|
|
|
|
|
|
- async def sendCommand(self,command):
|
|
|
+ async def sendCommand(self, command):
|
|
|
await asyncio.sleep(0.01)
|
|
|
loop = asyncio.get_event_loop()
|
|
|
loop.create_task(self.debug_uart.set(command), name="sendCommand2")
|
|
|
+
|
|
|
async def getMcuOtherInfo(self):
|
|
|
await asyncio.sleep(0.01)
|
|
|
self.get_other_info()
|
|
|
- async def setMcuOtherInfo(self,data):
|
|
|
+
|
|
|
+ async def setMcuOtherInfo(self, data):
|
|
|
await asyncio.sleep(0.01)
|
|
|
for k, v in data.items():
|
|
|
print("k:{},v:{}".format(k, v))
|
|
|
@@ -144,7 +151,7 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
)
|
|
|
self.msg_type = "mcu"
|
|
|
|
|
|
- def setOtherMaxMinValue(self,item, value):
|
|
|
+ def setOtherMaxMinValue(self, item, value):
|
|
|
value = int(value)
|
|
|
parameter_limits = {
|
|
|
"is_auto_send_base_info": (0, 10000),
|
|
|
@@ -170,19 +177,19 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
value = max(min_value, min(max_value, value))
|
|
|
return value
|
|
|
|
|
|
- async def initDevice(self,is_force=False):
|
|
|
+ async def initDevice(self, is_force=False):
|
|
|
if not self.is_running:
|
|
|
self.sendSocketMessage(
|
|
|
code=1, msg="mcu设备未连接,请先连接设备", device_status=0
|
|
|
)
|
|
|
return False
|
|
|
- if self.init_state ==True:
|
|
|
+ if self.init_state == True:
|
|
|
print("已经初始化过,请勿重复初始化")
|
|
|
logger.info("已经初始化过,请勿重复初始化")
|
|
|
self.sendSocketMessage(msg="设备初始化完成", device_status=2)
|
|
|
return False
|
|
|
self.serial_ins.clearn_flush()
|
|
|
- self.to_init_device_origin_point(device_name="mcu",is_force=is_force)
|
|
|
+ self.to_init_device_origin_point(device_name="mcu", is_force=is_force)
|
|
|
print("MCU 开始循环~")
|
|
|
logger.info("MCU 开始循环~")
|
|
|
while 1:
|
|
|
@@ -213,15 +220,15 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
logger.info("MCU 循环退出~")
|
|
|
print("串口未连接,请检查")
|
|
|
logger.info("串口未连接,请检查")
|
|
|
+ self.sendSocketMessage(code=1, msg="MCU串口未连接,请检查", device_status=-1)
|
|
|
+ message = {"_type": "show_info", "plugins_mode": "mcu", "data": "MCU 连接失败"}
|
|
|
self.sendSocketMessage(
|
|
|
- code=1, msg="MCU串口未连接,请检查", device_status=-1
|
|
|
+ code=1, msg="MCU 连接失败", data=message, device_status=-1
|
|
|
)
|
|
|
- message = {"_type": "show_info", "plugins_mode": "mcu", "data": "MCU 连接失败"}
|
|
|
- self.sendSocketMessage(code=1, msg="MCU 连接失败", data=message,device_status=-1)
|
|
|
self.close_connect()
|
|
|
|
|
|
- async def initControlLine(self,serial_handle):
|
|
|
- '''实例化有线控制设备'''
|
|
|
+ async def initControlLine(self, serial_handle):
|
|
|
+ """实例化有线控制设备"""
|
|
|
self.line_control.connect_state = True
|
|
|
self.line_control.serial_ins = serial_handle
|
|
|
await self.line_control.run()
|
|
|
@@ -362,7 +369,7 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
self.add_send_data_queue(data)
|
|
|
# self.controlDevice(device_name, deviation)
|
|
|
|
|
|
- async def set_deviation_cmd(self,value,action_name,type):
|
|
|
+ async def set_deviation_cmd(self, value, action_name, type):
|
|
|
await asyncio.sleep(0.01)
|
|
|
name_sets = [
|
|
|
"相机电机", # min 0 max 400,步长1
|
|
|
@@ -376,7 +383,7 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
]
|
|
|
if action_name not in name_sets:
|
|
|
self.msg_type = f"{type}_deviation"
|
|
|
- self.sendSocketMessage(msg="设置参数有误,请检查", device_status=0,code=1)
|
|
|
+ self.sendSocketMessage(msg="设置参数有误,请检查", device_status=0, code=1)
|
|
|
self.msg_type = "mcu"
|
|
|
return
|
|
|
# 发送获取偏移量
|
|
|
@@ -385,8 +392,9 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
elif type == "set":
|
|
|
self.mcu_deviation_set.set_deviation(action_name)
|
|
|
self.msg_type = f"{type}_deviation"
|
|
|
- self.sendSocketMessage(msg=f"{action_name} 设置成功", device_status=2,code=0)
|
|
|
+ self.sendSocketMessage(msg=f"{action_name} 设置成功", device_status=2, code=0)
|
|
|
self.msg_type = "mcu"
|
|
|
+
|
|
|
def get_other_info(self):
|
|
|
# 发送获取偏移量
|
|
|
data = [self.command["get_other_info"], 1]
|
|
|
@@ -398,9 +406,10 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
self.lock.acquire()
|
|
|
if self.serial_ins:
|
|
|
print("send_data_queue append :{}".format(data))
|
|
|
- logger.info("send_data_queue append %s",data)
|
|
|
+ logger.info("send_data_queue append %s", data)
|
|
|
self.send_data_queue.append(data)
|
|
|
self.lock.release()
|
|
|
+
|
|
|
async def send_all_cmd(self):
|
|
|
await asyncio.sleep(0.001)
|
|
|
while True:
|
|
|
@@ -411,6 +420,7 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
self.sendSocketMessage(msg="命令发送完成", device_status=2)
|
|
|
else:
|
|
|
break
|
|
|
+
|
|
|
def send_cmd(self):
|
|
|
self.lock.acquire()
|
|
|
if self.send_data_queue:
|
|
|
@@ -439,7 +449,7 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
logger.info("115 print_mcu_error_data:%s", data)
|
|
|
except BaseException as e:
|
|
|
print("117 error {}".format(e))
|
|
|
- logger.info("117 error %s",e)
|
|
|
+ logger.info("117 error %s", e)
|
|
|
return
|
|
|
|
|
|
def get_from_mcu_move_respond_data(self, receive_data):
|
|
|
@@ -524,6 +534,7 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
receive_data = self.serial_ins.read_cmd(out_time=1)
|
|
|
if not receive_data:
|
|
|
break
|
|
|
+
|
|
|
def get_basic_info_mcu(self):
|
|
|
receive_data = self.serial_ins.read_cmd(out_time=1)
|
|
|
if receive_data is False:
|
|
|
@@ -675,11 +686,15 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
# 初始化偏移量信息
|
|
|
camera_high_motor_deviation = get_deviation_data["camera_high_motor_deviation"]
|
|
|
camera_steering_deviation = get_deviation_data["camera_steering_deviation"]
|
|
|
- turntable_steering_deviation = get_deviation_data["turntable_steering_deviation"]
|
|
|
- overturn_steering_middle=get_deviation_data["overturn_steering_middle"]
|
|
|
+ turntable_steering_deviation = get_deviation_data[
|
|
|
+ "turntable_steering_deviation"
|
|
|
+ ]
|
|
|
+ overturn_steering_middle = get_deviation_data["overturn_steering_middle"]
|
|
|
overturn_steering_high = get_deviation_data["overturn_steering_high"]
|
|
|
overturn_steering_up_speed = get_deviation_data["overturn_steering_up_speed"]
|
|
|
- overturn_steering_down_speed = get_deviation_data["overturn_steering_down_speed"]
|
|
|
+ overturn_steering_down_speed = get_deviation_data[
|
|
|
+ "overturn_steering_down_speed"
|
|
|
+ ]
|
|
|
self.mcu_deviation_set.last_value["相机电机"] = camera_high_motor_deviation
|
|
|
self.mcu_deviation_set.last_value["相机舵机"] = camera_steering_deviation
|
|
|
self.mcu_deviation_set.last_value["转盘舵机"] = turntable_steering_deviation
|
|
|
@@ -766,7 +781,7 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
self.last_mcu_other_info_data["num"] += 1
|
|
|
for k, v in self.last_mcu_other_info_data["data"].items():
|
|
|
print("k:{},v:{}".format(k, v))
|
|
|
- logger.info("k:%s,v:%s",k, v)
|
|
|
+ logger.info("k:%s,v:%s", k, v)
|
|
|
self.msg_type = "get_mcu_other_info"
|
|
|
self.sendSocketMessage(
|
|
|
code=0,
|
|
|
@@ -869,7 +884,15 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
},
|
|
|
}
|
|
|
# if self.state_camera_motor
|
|
|
- if all(value == 2 for value in [self.state_camera_motor, self.state_camera_steering, self.state_turntable_steering, self.state_overturn_steering]):
|
|
|
+ if all(
|
|
|
+ value == 2
|
|
|
+ for value in [
|
|
|
+ self.state_camera_motor,
|
|
|
+ self.state_camera_steering,
|
|
|
+ self.state_turntable_steering,
|
|
|
+ self.state_overturn_steering,
|
|
|
+ ]
|
|
|
+ ):
|
|
|
self.init_state = True
|
|
|
self.sendSocketMessage(msg="设备初始化完成", device_status=2)
|
|
|
self.sendSocketMessage(msg="获取mcu设备运行状态信息", data=message)
|
|
|
@@ -925,16 +948,26 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
}
|
|
|
self.sendSocketMessage(1, "串口被移除", data)
|
|
|
|
|
|
+ def is_serial_available(self, port):
|
|
|
+ try:
|
|
|
+ ser = serial.Serial(port)
|
|
|
+ ser.close()
|
|
|
+ return True
|
|
|
+ except serial.serialException:
|
|
|
+ return False
|
|
|
+
|
|
|
async def add_port_by_linkage(self, port_name):
|
|
|
# port_value :串口基础信息
|
|
|
# todo 根据prot_value 信息自动进行连接
|
|
|
print("add port_name", port_name)
|
|
|
logger.info("add port_name %s", port_name)
|
|
|
- print("self.port_name",self.port_name)
|
|
|
+ print("self.port_name", self.port_name)
|
|
|
logger.info("self.port_name %s", self.port_name)
|
|
|
- if self.port_name == port_name:
|
|
|
- return False
|
|
|
+ # if self.port_name == port_name:
|
|
|
+ # return True
|
|
|
# 对没有连接的设备进行尝试连接
|
|
|
+ # 如果存在串口被占用则进行断开
|
|
|
+ self.is_serial_available(port_name)
|
|
|
message_data = {
|
|
|
"_type": "show_info",
|
|
|
"plugins_mode": "auto_select_com",
|
|
|
@@ -964,7 +997,9 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
device_status=-1,
|
|
|
)
|
|
|
print("串口:{} 被占用".format(port_name))
|
|
|
- logger.info("串口:%s 被占用",port_name)
|
|
|
+ logger.info("串口:%s 被占用", port_name)
|
|
|
+ if self.serial_ins.serial_handle is not None:
|
|
|
+ self.serial_ins.serial_handle.close()
|
|
|
return False
|
|
|
|
|
|
await asyncio.sleep(2)
|
|
|
@@ -1012,14 +1047,14 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
device_id = receive_data[2]
|
|
|
|
|
|
print("关闭串口:{}".format(port_name))
|
|
|
- logger.info("关闭串口:%s",port_name)
|
|
|
+ logger.info("关闭串口:%s", port_name)
|
|
|
serial_handle.close()
|
|
|
loop = asyncio.get_event_loop()
|
|
|
print("device_id============>>>", device_id)
|
|
|
logger.info("device_id============>>>%s", device_id)
|
|
|
if device_id > 0:
|
|
|
if device_id == 1:
|
|
|
- state,_=self.to_connect_com(port_name)
|
|
|
+ state, _ = self.to_connect_com(port_name)
|
|
|
if not state:
|
|
|
return False
|
|
|
message_data = {
|
|
|
@@ -1083,7 +1118,9 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
logger.info("串口无法识别")
|
|
|
self.sendSocketMessage(
|
|
|
code=1,
|
|
|
- msg="串口无法识别,请重新插拔拍照机USB", data=message_data, device_status=-1
|
|
|
+ msg="串口无法识别,请重新插拔拍照机USB",
|
|
|
+ data=message_data,
|
|
|
+ device_status=-1,
|
|
|
)
|
|
|
return False
|
|
|
# 走其他途径处理
|
|
|
@@ -1092,8 +1129,10 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
# 正常跳过;记录为其他列表
|
|
|
# 不正常进行尝试连接
|
|
|
# 连接不上,记录为其他列表
|
|
|
+
|
|
|
def clearMyInstance(self):
|
|
|
SingletonType.clear_instance()
|
|
|
+
|
|
|
def to_connect_com(self, port_name):
|
|
|
# 关闭串口
|
|
|
print("to_connect_com", port_name)
|
|
|
@@ -1114,7 +1153,7 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
)
|
|
|
self.serial_ins = None
|
|
|
self.connect_state = False
|
|
|
- return False,None
|
|
|
+ return False, None
|
|
|
|
|
|
except:
|
|
|
message_data = {
|
|
|
@@ -1153,7 +1192,7 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
"409 receive_data--90:{}".format(self.change_hex_to_int(receive_data))
|
|
|
)
|
|
|
logger.info(
|
|
|
- "409 receive_data--90:%s",str(self.change_hex_to_int(receive_data))
|
|
|
+ "409 receive_data--90:%s", str(self.change_hex_to_int(receive_data))
|
|
|
)
|
|
|
else:
|
|
|
return False, None
|
|
|
@@ -1169,7 +1208,7 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
except:
|
|
|
mcu_has_been_set = 99 # 未知状态
|
|
|
print("MCU初始化信息{}".format(mcu_has_been_set))
|
|
|
- logger.info("MCU初始化信息%s",str(mcu_has_been_set))
|
|
|
+ logger.info("MCU初始化信息%s", str(mcu_has_been_set))
|
|
|
message_data = {
|
|
|
"_type": "show_info",
|
|
|
"plugins_mode": "mcu",
|
|
|
@@ -1290,8 +1329,8 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
"""
|
|
|
此处输入单位为 毫米,以及度 需要先缩小,再放大
|
|
|
"""
|
|
|
- print("移动",time.time())
|
|
|
- logger.info("移动,%s",time.time())
|
|
|
+ print("移动", time.time())
|
|
|
+ logger.info("移动,%s", time.time())
|
|
|
speed = settings.moveSpeed()
|
|
|
|
|
|
cmd = 1
|
|
|
@@ -1299,8 +1338,8 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
# if device_id != 1:
|
|
|
# print("F非MCU设备,禁止处理")
|
|
|
# return
|
|
|
- print("正在执行",device_name)
|
|
|
- logger.info("正在执行 %s",device_name)
|
|
|
+ print("正在执行", device_name)
|
|
|
+ logger.info("正在执行 %s", device_name)
|
|
|
match device_name:
|
|
|
case "camera_high_motor":
|
|
|
# value 单位毫米
|
|
|
@@ -1367,8 +1406,8 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
_dir = True if value >= 0 else False
|
|
|
|
|
|
value = int(abs(value * 10)) # 此处value赋值后,单位为mm以及0.1度
|
|
|
- print("准备执行",device_name, value)
|
|
|
- logger.info("准备执行,%s %s",device_name, value)
|
|
|
+ print("准备执行", device_name, value)
|
|
|
+ logger.info("准备执行,%s %s", device_name, value)
|
|
|
data = [
|
|
|
cmd,
|
|
|
device_id,
|
|
|
@@ -1411,9 +1450,7 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
if self.state != 2:
|
|
|
print("check_before_action 设备正在运行中~")
|
|
|
logger.info("check_before_action 设备正在运行中~")
|
|
|
- self.sendSocketMessage(
|
|
|
- code=1, msg="设备正在运行中", device_status=1
|
|
|
- )
|
|
|
+ self.sendSocketMessage(code=1, msg="设备正在运行中", device_status=1)
|
|
|
return False
|
|
|
|
|
|
if self.mcu_move_state != 2:
|
|
|
@@ -1424,7 +1461,7 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
return True
|
|
|
|
|
|
async def controlDevice(self, device_name, value):
|
|
|
- '''控制设备移动等'''
|
|
|
+ """控制设备移动等"""
|
|
|
await asyncio.sleep(0.01)
|
|
|
if not self.is_running:
|
|
|
self.sendSocketMessage(
|
|
|
@@ -1432,9 +1469,7 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
)
|
|
|
return False
|
|
|
if not self.init_state:
|
|
|
- self.sendSocketMessage(
|
|
|
- code=1, msg="mcu设备未初始化", device_status=4
|
|
|
- )
|
|
|
+ self.sendSocketMessage(code=1, msg="mcu设备未初始化", device_status=4)
|
|
|
return False
|
|
|
_is_debug = 1 if settings.IS_DEBUG == "true" else 0
|
|
|
is_deviation = 0 if settings.IS_DEBUG == "true" else 1
|
|
|
@@ -1506,6 +1541,7 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
pass
|
|
|
# case "photograph":
|
|
|
# self.photograph(goods_art_no=None)
|
|
|
+
|
|
|
def checkDevice(self):
|
|
|
print("检查设备是否运行中")
|
|
|
logger.info("检查设备是否运行中")
|
|
|
@@ -1556,7 +1592,7 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
image_counts += 1
|
|
|
# 批量插入
|
|
|
image_deal_mode = 0 if action_info == "执行左脚程序" else 1
|
|
|
- state,record_id = await insert_photo_records(
|
|
|
+ state, record_id = await insert_photo_records(
|
|
|
image_deal_mode=image_deal_mode,
|
|
|
goods_art_no=goods_art_no,
|
|
|
image_index=idx,
|
|
|
@@ -1644,7 +1680,7 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
# 最后一个初始化处理
|
|
|
pass
|
|
|
# self.action_state = 2
|
|
|
- if self.is_stop_action==True:
|
|
|
+ if self.is_stop_action == True:
|
|
|
self.msg_type = "run_mcu_stop"
|
|
|
self.sendSocketMessage(
|
|
|
code=0,
|
|
|
@@ -1663,8 +1699,16 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
self.msg_type = "mcu"
|
|
|
await self.controlDevice("laser_position", 1)
|
|
|
|
|
|
- async def run_mcu_config_single(self, config_info, goods_art_no,msg_type="run_mcu_single_finish",image_index=-1,smart_shooter=None,action_id=-1):
|
|
|
- '''独立拍照 仅作测试用'''
|
|
|
+ async def run_mcu_config_single(
|
|
|
+ self,
|
|
|
+ config_info,
|
|
|
+ goods_art_no,
|
|
|
+ msg_type="run_mcu_single_finish",
|
|
|
+ image_index=-1,
|
|
|
+ smart_shooter=None,
|
|
|
+ action_id=-1,
|
|
|
+ ):
|
|
|
+ """独立拍照 仅作测试用"""
|
|
|
await asyncio.sleep(0.01)
|
|
|
if self.checkDevice() == False:
|
|
|
return
|
|
|
@@ -1674,14 +1718,14 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
self.action_state = 1
|
|
|
self.msg_type = "mcu"
|
|
|
program_item = ProgramItem(
|
|
|
- websocket_manager=self.websocket_manager,
|
|
|
- action_data=config_info,
|
|
|
- mcu=self,
|
|
|
- goods_art_no=goods_art_no,
|
|
|
- image_index=image_index,
|
|
|
- smart_shooter=smart_shooter,
|
|
|
- record_id=action_id,
|
|
|
- )
|
|
|
+ websocket_manager=self.websocket_manager,
|
|
|
+ action_data=config_info,
|
|
|
+ mcu=self,
|
|
|
+ goods_art_no=goods_art_no,
|
|
|
+ image_index=image_index,
|
|
|
+ smart_shooter=smart_shooter,
|
|
|
+ record_id=action_id,
|
|
|
+ )
|
|
|
if self.action_state != 1:
|
|
|
# 异常终止
|
|
|
print("action异常终止")
|
|
|
@@ -1700,10 +1744,10 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
self.action_state = 2
|
|
|
self.msg_type = msg_type
|
|
|
self.sendSocketMessage(
|
|
|
- code=0,
|
|
|
- msg=f"执行完成",
|
|
|
- device_status=2,
|
|
|
- )
|
|
|
+ code=0,
|
|
|
+ msg=f"执行完成",
|
|
|
+ device_status=2,
|
|
|
+ )
|
|
|
self.msg_type = "mcu"
|
|
|
else:
|
|
|
self.sendSocketMessage(
|
|
|
@@ -1712,8 +1756,10 @@ class DeviceControl(BaseClass, metaclass=SingletonType):
|
|
|
|
|
|
async def only_take_photo(self, goods_art_no, image_index, record_id):
|
|
|
await asyncio.sleep(0.1)
|
|
|
- print("only_take_photo=====>",goods_art_no, image_index, record_id)
|
|
|
- logger.info("only_take_photo=====> %s %s %s",goods_art_no, image_index, record_id)
|
|
|
+ print("only_take_photo=====>", goods_art_no, image_index, record_id)
|
|
|
+ logger.info(
|
|
|
+ "only_take_photo=====> %s %s %s", goods_art_no, image_index, record_id
|
|
|
+ )
|
|
|
if goods_art_no == "":
|
|
|
print("only_take_photo 数据查询异常")
|
|
|
logger.info("only_take_photo 数据查询异常")
|
|
|
@@ -1743,12 +1789,13 @@ async def checkMcuConnection(device_ctrl: DeviceControl):
|
|
|
device_ctrl.device_status = 2
|
|
|
device_ctrl.sendSocketMessage(code=0, msg="MCU连接成功", data=message)
|
|
|
return
|
|
|
- # if device_ctrl.is_init_while == True:
|
|
|
- # device_ctrl.sendSocketMessage(
|
|
|
- # code=0, msg="MCU<<<---连接成功--->>>,is_init_while", data={}
|
|
|
- # )
|
|
|
- # return
|
|
|
- # device_ctrl.is_init_while = True
|
|
|
+ if device_ctrl.is_init_while == True:
|
|
|
+ logger.info("mcu 初始化循环已创建,请勿重复创建")
|
|
|
+ device_ctrl.sendSocketMessage(
|
|
|
+ code=0, msg="mcu 初始化循环已创建,请勿重复创建", data={}
|
|
|
+ )
|
|
|
+ return
|
|
|
+ device_ctrl.is_init_while = True
|
|
|
"""实时检测串口是否连接"""
|
|
|
while True:
|
|
|
await asyncio.sleep(1)
|
|
|
@@ -1757,7 +1804,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:
|
|
|
@@ -1784,7 +1831,7 @@ async def checkMcuConnection(device_ctrl: DeviceControl):
|
|
|
# device_ctrl.sendSocketMessage(
|
|
|
# code=1, msg="串口未连接,请检查", device_status=-1
|
|
|
# )
|
|
|
- # device_ctrl.is_init_while = False
|
|
|
+ device_ctrl.is_init_while = False
|
|
|
# device_ctrl.p_list = []
|
|
|
# device_ctrl.temp_ports_dict = {}
|
|
|
print("MCU断开连接,已释放")
|