Merge branch 'jgy-dev-readme-2024-12-11' into 'main'
修改readme文件;添加手指数量宏定义;修改打印书写错误 See merge request tactilesensor/fingersensorsdk/finger/python!6
This commit is contained in:
49
README.md
49
README.md
@ -36,3 +36,52 @@ idVendor和idProduct是CH341设备的供应商和产品ID,可以通过lsusb命
|
||||
sudo udevadm control --reload-rules
|
||||
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地址不同,在初始化阶段会强制将传感器的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}")
|
||||
```
|
||||
|
||||
@ -12,6 +12,8 @@ DEF_CDC_SYNC_MS = 1000 #电容同步间隔
|
||||
DEF_GET_CAP_MS = (30) #读取电容间隔
|
||||
DEF_PRO_CYC = 100
|
||||
|
||||
DEF_MAX_FINGER_NUM = 2 # 需要连接的手指数量,最大5个
|
||||
|
||||
# 定义一个全局的队列,用于线程间通信
|
||||
capReadQueue = queue.Queue()
|
||||
|
||||
@ -30,7 +32,7 @@ class ClassCapRead:
|
||||
|
||||
# 最大连接5个手指
|
||||
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.currCh341State = 0 # 当前ch341连接状态
|
||||
|
||||
@ -173,7 +173,7 @@ class ClassFinger:
|
||||
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]}")
|
||||
print(f"mProxCapData[{i}] = {self.readData.mProxCapData[i]}")
|
||||
|
||||
break
|
||||
else:
|
||||
|
||||
BIN
传感器iic地址和转接板位置定义.png
Normal file
BIN
传感器iic地址和转接板位置定义.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 659 KiB |
Reference in New Issue
Block a user