From 8e01b24dacf22f1ac06b1568184362a3786f25fe Mon Sep 17 00:00:00 2001 From: jinggaoyang-68 Date: Tue, 7 Jan 2025 13:35:29 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=94=B5=E5=AE=B9?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E9=87=87=E9=9B=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cap_read.py | 3 +++ class_sensorcmd.py | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/cap_read.py b/cap_read.py index 11a9b51..3b93560 100644 --- a/cap_read.py +++ b/cap_read.py @@ -166,6 +166,9 @@ class ClassCapRead: if connectedSensorCnt > 1 and (time.time() - self.syncTimer) > DEF_CDC_SYNC_MS: self.syncTimer = time.time() self.set_sensor_enable(connectedSensorChan) + for fingerIndex in range(0, len(self.fingers)): + if self.fingers[fingerIndex].connect is True: + self.fingers[fingerIndex].snsCmd.setSensorSync(0) if self.connectStatus == EnumCh341ConnectStatus.CH341_CONNECT_CHECK: capReadTime = time.time() diff --git a/class_sensorcmd.py b/class_sensorcmd.py index 818fd55..d71a97e 100644 --- a/class_sensorcmd.py +++ b/class_sensorcmd.py @@ -250,6 +250,24 @@ class ClassSensorCmd: #print(f"time={time.time()},len(buf) = {len(buf)}, tarLen={tarLen}, buf[0]={buf[0]}, buf[1]={buf[1]}, sum={checkSum}") pass return False + + # 设置采集同步 + # addr:传感器地址 + def setSensorSync(self, addr): + _pack = list() + _pack.append(0xAA) + _pack.append(0x55) + _pack.append(0x03) + _pack.append(self.CMD_SET_SENSOR_CDC_SYNC) + _pack.append(0x00) + _pack.append(0x00) + _pack.append(0x00) + _pack.append(0x00) + _pack.append(0x00) + self.calcSum(_pack) + self._ch341.write(addr, _pack) + + return True From a5895c41b025eac06eb80a231c248501aa049ec2 Mon Sep 17 00:00:00 2001 From: jinggaoyang-68 Date: Tue, 7 Jan 2025 13:40:17 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cap_read.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cap_read.py b/cap_read.py index 3b93560..01946a9 100644 --- a/cap_read.py +++ b/cap_read.py @@ -12,7 +12,7 @@ DEF_CDC_SYNC_MS = 1000 #电容同步间隔 DEF_GET_CAP_MS = (30) #读取电容间隔 DEF_PRO_CYC = 100 -DEF_MAX_FINGER_NUM = 2 # 需要连接的手指数量,最大5个 +DEF_MAX_FINGER_NUM = 5 # 需要连接的手指数量,最大5个 # 定义一个全局的队列,用于线程间通信 capReadQueue = queue.Queue() @@ -169,6 +169,7 @@ class ClassCapRead: for fingerIndex in range(0, len(self.fingers)): if self.fingers[fingerIndex].connect is True: self.fingers[fingerIndex].snsCmd.setSensorSync(0) + break if self.connectStatus == EnumCh341ConnectStatus.CH341_CONNECT_CHECK: capReadTime = time.time()