添加二指大包支持

This commit is contained in:
jinggaoyang-68
2024-12-11 11:11:50 +08:00
parent f75d3e7981
commit 4c2a3b05c8
3 changed files with 64 additions and 22 deletions

View File

@ -63,7 +63,7 @@ class ClassFinger:
print(f"setSensorCapOffset err, addr = {addrRead}")
# 实际用户使用中只需要根据使用的传感器来定义参数即可,不需要读取项目号
projectRead = self.snsCmd.getSensorProjectIdex(self.addr)
projectRead = self.snsCmd.getSensorProjectIdex(addrRead)
print(f"project={projectRead}")
findProjectFlg = False
if projectRead > 0:
@ -142,14 +142,38 @@ class ClassFinger:
self.readData.tfDir[i] = instance.tfDir
self.readData.sProxCapData[i] = instance.prox
elif self.projectPara.ydds_type == 4:
pass
struct_size = sizeof(DynamicYddsU16Ts)
for i in range(self.projectPara.ydds_num):
offset = yddsOffset + i * struct_size
struct_data = self.data[offset : offset + struct_size]
print(f"struct={struct_data}")
struct_data = [value & 0xFF for value in struct_data]
struct_data = bytes(struct_data) # 转换为 bytes 类型
instance = DynamicYddsU16Ts.from_buffer_copy(struct_data)
self.readData.nf[i] = instance.nf/1000.0
self.readData.tf[i] = instance.tf/1000.0
self.readData.tfDir[i] = instance.tfDir
sProxOffset = yddsOffset + self.projectPara.ydds_num*struct_size
for i in range(self.projectPara.s_prox_num):
self.readData.sProxCapData[i] = ((self.data[sProxOffset + i*self.projectPara.cap_byte] & 0xFF) +
((self.data[sProxOffset + i*self.projectPara.cap_byte + 1] & 0xFF) << 8) +
((self.data[sProxOffset + i*self.projectPara.cap_byte + 2] & 0xFF) << 16))
mProxOffset = yddsOffset + self.projectPara.ydds_num*struct_size
for i in range(self.projectPara.m_prox_num):
self.readData.mProxCapData[i] = ((self.data[mProxOffset + i*self.projectPara.cap_byte] & 0xFF) +
((self.data[mProxOffset + i*self.projectPara.cap_byte + 1] & 0xFF) << 8) +
((self.data[mProxOffset + i*self.projectPara.cap_byte + 2] & 0xFF) << 16))
print(f"capChannelDat={self.readData.channelCapData}")
for i in range(self.projectPara.ydds_num):
print(f"nf[{i}] = {self.readData.nf[i]}")
print(f"tf[{i}] = {self.readData.tf[i]}")
print(f"tfDir[{i}] = {self.readData.tfDir[i]}")
for i in range(self.projectPara.s_prox_num):
print(f"sProxCapData[{i}] = {self.readData.sProxCapData[i]}")
for i in range(self.projectPara.m_prox_num):
print(f"sProxCapData[{i}] = {self.readData.mProxCapData[i]}")
break
else: