|
|
@@ -13,6 +13,7 @@ import logging
|
|
|
from databases import SqlQuery, CRUD, SysConfigs
|
|
|
from utils.common import message_queue
|
|
|
from models import SysConfigParams
|
|
|
+
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
|
|
|
@@ -122,7 +123,8 @@ class SmartShooter(metaclass=SingletonType):
|
|
|
context.term()
|
|
|
msg_send = "相机未连接或软件未打开"
|
|
|
return False, msg_send
|
|
|
- def get_iso_range(self,camera_info):
|
|
|
+
|
|
|
+ def get_iso_range(self, camera_info):
|
|
|
"""
|
|
|
从相机数据中获取 ISO 的可调范围
|
|
|
:param camera_data: 相机状态数据列表 (即你提供的那个长列表)
|
|
|
@@ -138,6 +140,7 @@ class SmartShooter(metaclass=SingletonType):
|
|
|
return prop.get('CameraPropertyRange')
|
|
|
|
|
|
return None
|
|
|
+
|
|
|
async def GetCameraInfo(self, is_send=True, msg_type="", CameraKey=None):
|
|
|
await asyncio.sleep(0.001)
|
|
|
# self.msg_type = msg_type
|
|
|
@@ -158,13 +161,13 @@ class SmartShooter(metaclass=SingletonType):
|
|
|
msg_result = json_msg.get("msg_result")
|
|
|
if not msg_result:
|
|
|
self.connect_status = False
|
|
|
- msg_send = f"请检查{CameraKey},相机是否连接" if CameraKey else f"请检查相机是否连接"
|
|
|
+ msg_send = f"请检查{CameraKey},相机是否连接" if CameraKey else f"请检查相机是否连接"
|
|
|
if is_send:
|
|
|
message = {
|
|
|
"code": 1,
|
|
|
"msg": msg_send,
|
|
|
"data": msg_result,
|
|
|
- "CameraKey":CameraKey,
|
|
|
+ "CameraKey": CameraKey,
|
|
|
"msg_type": msg_type,
|
|
|
"device_status": -1,
|
|
|
}
|
|
|
@@ -215,7 +218,7 @@ class SmartShooter(metaclass=SingletonType):
|
|
|
"code": 1,
|
|
|
"msg": msg_send,
|
|
|
"data": msg_result,
|
|
|
- "CameraKey":CameraKey,
|
|
|
+ "CameraKey": CameraKey,
|
|
|
"msg_type": msg_type,
|
|
|
"device_status": -1,
|
|
|
}
|
|
|
@@ -229,7 +232,7 @@ class SmartShooter(metaclass=SingletonType):
|
|
|
"code": 0,
|
|
|
"msg": msg_send,
|
|
|
"data": msg_result,
|
|
|
- "CameraLists":CameraLists,
|
|
|
+ "CameraLists": CameraLists,
|
|
|
"msg_type": msg_type,
|
|
|
"device_status": 2,
|
|
|
}
|
|
|
@@ -243,8 +246,8 @@ class SmartShooter(metaclass=SingletonType):
|
|
|
self.connect_status = False
|
|
|
socket.close()
|
|
|
context.term()
|
|
|
- print("获取相机信息超时,继续监听...",e)
|
|
|
- msg_send = f"请检查{CameraKey},相机是否连接" if CameraKey else f"请检查相机是否连接"
|
|
|
+ print("获取相机信息超时,继续监听...", e)
|
|
|
+ msg_send = f"请检查{CameraKey},相机是否连接" if CameraKey else f"请检查相机是否连接"
|
|
|
return False, msg_send
|
|
|
except Exception as e:
|
|
|
print("相机状态获取异常", e)
|
|
|
@@ -349,7 +352,7 @@ class SmartShooter(metaclass=SingletonType):
|
|
|
high_iso = Itemiso.get("high", 6400)
|
|
|
return low_iso, high_iso
|
|
|
|
|
|
- def initConfigIsoSettings(self, CameraLists=[],isMultCameraMode=False):
|
|
|
+ def initConfigIsoSettings(self, CameraLists=[], isMultCameraMode=False):
|
|
|
if not CameraLists:
|
|
|
return None
|
|
|
"""获取ISO配置信息"""
|
|
|
@@ -367,7 +370,7 @@ class SmartShooter(metaclass=SingletonType):
|
|
|
print("相机无变动。无需自动更改配置")
|
|
|
return None
|
|
|
basic_iso = temp_A_point.get("iso", {"low": 100, "high": 6400})
|
|
|
- print("isMultCameraMode======>>>>",isMultCameraMode)
|
|
|
+ print("isMultCameraMode======>>>>", isMultCameraMode)
|
|
|
if not isMultCameraMode:
|
|
|
points = {"A": {}}
|
|
|
print("相机发生变动。需要更改配置")
|
|
|
@@ -384,10 +387,10 @@ class SmartShooter(metaclass=SingletonType):
|
|
|
settings.sync_sys_configs2Online()
|
|
|
return None
|
|
|
points = {"A": {}, "B": {}, "C": {}}
|
|
|
- for idx,item in enumerate(points):
|
|
|
+ for idx, item in enumerate(points):
|
|
|
low_iso = camera_configs.get("low", 100)
|
|
|
high_iso = camera_configs.get("high", 6400)
|
|
|
- if idx > len(CameraLists) -1:
|
|
|
+ if idx > len(CameraLists) - 1:
|
|
|
points[item] = {
|
|
|
"iso": {"low": low_iso, "high": high_iso},
|
|
|
}
|
|
|
@@ -400,8 +403,9 @@ class SmartShooter(metaclass=SingletonType):
|
|
|
settings.updateSysConfigs(params=sys_iso_config)
|
|
|
# 同步本地到线上
|
|
|
settings.sync_sys_configs2Online()
|
|
|
+
|
|
|
async def EnableCameraPreview(
|
|
|
- self, enable_status=True, msg_type="", CameraKey=None,isMultCameraMode=False
|
|
|
+ self, enable_status=True, msg_type="", CameraKey=None, isMultCameraMode=False
|
|
|
):
|
|
|
print("收到得msg_type====>>>", msg_type)
|
|
|
self.msg_type = msg_type
|
|
|
@@ -429,14 +433,14 @@ class SmartShooter(metaclass=SingletonType):
|
|
|
# 等于auto就不设置
|
|
|
if enable_status == True:
|
|
|
if str(high_iso).lower() != "auto":
|
|
|
- set_state,set_msg = await self.setCameraProperty(
|
|
|
+ set_state, set_msg = await self.setCameraProperty(
|
|
|
property="ISO", value=str(high_iso), CameraKey=CameraKey
|
|
|
)
|
|
|
else:
|
|
|
print("high_iso 等于auto就不设置")
|
|
|
if enable_status == False:
|
|
|
if str(low_iso).lower() != "auto":
|
|
|
- set_state,set_msg = await self.setCameraProperty(
|
|
|
+ set_state, set_msg = await self.setCameraProperty(
|
|
|
property="ISO", value=str(low_iso), CameraKey=CameraKey
|
|
|
)
|
|
|
else:
|
|
|
@@ -532,7 +536,7 @@ class SmartShooter(metaclass=SingletonType):
|
|
|
return False, "相机未连接或软件未打开"
|
|
|
|
|
|
async def CameraShooter(
|
|
|
- self, msg_type="", goods_art_no="", id=0, is_af=False, delay=0.5, CameraKey=None
|
|
|
+ self, msg_type="", goods_art_no="", id=0, is_af=False, delay=0.5, CameraKey=None
|
|
|
):
|
|
|
# 这里延迟一秒钟 等待前置命令完成
|
|
|
await asyncio.sleep(delay)
|
|
|
@@ -622,7 +626,7 @@ class SmartShooter(metaclass=SingletonType):
|
|
|
# await self.sendMessageSocket(message)
|
|
|
return True, "拍照失败"
|
|
|
except Exception as e:
|
|
|
- print("拍照出错",e)
|
|
|
+ print("拍照出错", e)
|
|
|
socket.close()
|
|
|
context.term()
|
|
|
msg_send = "拍照失败"
|