Merge branch 'jgy-dev-readme-2024-12-11' into 'main'

修改readme文件;添加手指数量宏定义;修改打印书写错误

See merge request tactilesensor/fingersensorsdk/finger/python!6
This commit is contained in:
gaoyang jing
2024-12-11 05:32:52 +00:00
4 changed files with 53 additions and 2 deletions

View File

@ -36,3 +36,52 @@ idVendor和idProduct是CH341设备的供应商和产品ID可以通过lsusb命
sudo udevadm control --reload-rules sudo udevadm control --reload-rules
sudo udevadm trigger sudo udevadm trigger
``` ```
# 运行示例
## 上电
传感器不同版本的固件上电时间存在差异建议在传感器上电3s后再运行读取程序
## demo根目录下运行如下命令执行程序
```
python cap_read.py
```
程序运行结果:
```
capChannelDat=[3020838, 3006548, 2986382, 2929380, 2995152, 2992100, 2988970, 2996232, 2904946, 2947736, 2895000, 2842188, 2999608, 2922258, 2776718, 7950022]
nf[0] = 0.0
tf[0] = 0.0
tfDir[0] = 0
nf[1] = 0.0
tf[1] = 0.0
tfDir[1] = 0
sProxCapData[0] = 0
sProxCapData[1] = 0
mProxCapData[0] = 0
```
* capChannelDat为电容通道原始值
* nf、tf、tfDir分别为一组三维力的法向力、切向力和切向力方向
* sProxCapData为自电容接近值
* mProxCapData为互电容接近值
## 连接手指数量设定
手指连接板最大支持5个传感器连接不足5个传感器连接会影响读取频率可以修改如下宏定义配置连接数量
```
DEF_MAX_FINGER_NUM = 2 # 需要连接的手指数量最大5个
```
## iic接口顺序和iic地址定义
此demo中的iic地址和插入转接板的接口位置是固定对应关系iic地址和iic接口顺序对照关系如下
![图片说明](./传感器iic地址和转接板位置定义.png)
如果插入的传感器和对应接口的iic地址不同在初始化阶段会强制将传感器的iic地址设置为图中对应的地址
```
def checkSensor(self):
# 广播的方式读取当前传感器地址并默认将iic地址配置为和pca相同的地址
addrRead = self.snsCmd.getAddr(0)
if addrRead != self.pcaIdx:
if self.pcaIdx != self.snsCmd.setAddr(addrRead, self.pcaIdx):
print(f"set addr false, setaddr={self.pcaIdx}")
return False
else:
addrRead = self.pcaIdx
print(f"update iic addr, new addr ={addrRead}")
```

View File

@ -12,6 +12,8 @@ DEF_CDC_SYNC_MS = 1000 #电容同步间隔
DEF_GET_CAP_MS = (30) #读取电容间隔 DEF_GET_CAP_MS = (30) #读取电容间隔
DEF_PRO_CYC = 100 DEF_PRO_CYC = 100
DEF_MAX_FINGER_NUM = 2 # 需要连接的手指数量最大5个
# 定义一个全局的队列,用于线程间通信 # 定义一个全局的队列,用于线程间通信
capReadQueue = queue.Queue() capReadQueue = queue.Queue()
@ -30,7 +32,7 @@ class ClassCapRead:
# 最大连接5个手指 # 最大连接5个手指
self.fingers = list() # 传感器列表 self.fingers = list() # 传感器列表
for i in range(2): for i in range(DEF_MAX_FINGER_NUM):
self.fingers.append(ClassFinger(2+i, self.ch341)) self.fingers.append(ClassFinger(2+i, self.ch341))
self.currCh341State = 0 # 当前ch341连接状态 self.currCh341State = 0 # 当前ch341连接状态

View File

@ -173,7 +173,7 @@ class ClassFinger:
for i in range(self.projectPara.s_prox_num): for i in range(self.projectPara.s_prox_num):
print(f"sProxCapData[{i}] = {self.readData.sProxCapData[i]}") print(f"sProxCapData[{i}] = {self.readData.sProxCapData[i]}")
for i in range(self.projectPara.m_prox_num): for i in range(self.projectPara.m_prox_num):
print(f"sProxCapData[{i}] = {self.readData.mProxCapData[i]}") print(f"mProxCapData[{i}] = {self.readData.mProxCapData[i]}")
break break
else: else:

Binary file not shown.

After

Width:  |  Height:  |  Size: 659 KiB