|
|
@@ -211,6 +211,36 @@ class SmartShooter(metaclass=SingletonType):
|
|
|
context.term()
|
|
|
return False, "相机未连接或软件未打开"
|
|
|
|
|
|
+ async def setCameraProperty(self, property="ISO", value=0):
|
|
|
+ # SetProperty
|
|
|
+ camera_states, _ = await self.GetCameraInfo(is_send=False)
|
|
|
+ if not camera_states:
|
|
|
+ return False, "请先连接相机"
|
|
|
+ try:
|
|
|
+ socket, context = self.__create_req()
|
|
|
+ req = {}
|
|
|
+ req["msg_type"] = "Request"
|
|
|
+ req["msg_id"] = "SetProperty"
|
|
|
+ req["msg_seq_num"] = 0
|
|
|
+ req["CameraSelection"] = "All"
|
|
|
+ req["CameraPropertyType"] = str(property)
|
|
|
+ req["CameraPropertyValue"] = str(value)
|
|
|
+ json_msg = self.__send_tcp_message(socket, req)
|
|
|
+ msg_result = json_msg.get("msg_result")
|
|
|
+ if not msg_result:
|
|
|
+ print(f"{property}设置失败", json_msg)
|
|
|
+ return False, f"{property}设置失败"
|
|
|
+ print(f"{property}设置成功", json_msg)
|
|
|
+ return True, f"{property}设置成功"
|
|
|
+ except zmq.Again:
|
|
|
+ print(f"设置{property}超时,继续监听...")
|
|
|
+ except:
|
|
|
+ self.perview_state = False
|
|
|
+ socket.close()
|
|
|
+ context.term()
|
|
|
+ msg_send = "相机未连接或软件未打开"
|
|
|
+ return False, "相机未连接或软件未打开"
|
|
|
+
|
|
|
async def EnableCameraPreview(self, enable_status=True, msg_type=""):
|
|
|
self.msg_type = msg_type
|
|
|
await self.SetCameraFPS(5)
|
|
|
@@ -221,6 +251,10 @@ class SmartShooter(metaclass=SingletonType):
|
|
|
if not camera_states:
|
|
|
return False, "请先连接相机"
|
|
|
try:
|
|
|
+ if enable_status == True:
|
|
|
+ await self.setCameraProperty(property="ISO", value=100)
|
|
|
+ if enable_status == False:
|
|
|
+ await self.setCameraProperty(property="ISO", value=6400)
|
|
|
socket, context = self.__create_req()
|
|
|
req = {}
|
|
|
req["msg_type"] = "Request"
|