问题描述
我正在尝试通过蓝牙和USB线连接ps4控制器来操作我的机器人,并使用socat通道进行数据传输。
2020/10/02 15:43:41 socat[10007] N PTY is /dev/pts/1
2020/10/02 15:43:41 socat[10007] N PTY is /dev/pts/2
2020/10/02 15:43:41 socat[10007] N starting data transfer loop with FDs [5,5] and [7,7]
with open("/dev/pts/2","rb",buffering=0) as term:
while True:
if:
if os.path.exists("/dev/input/js0"): #bluetooth path
pygame.joystick.init()
controller.init()
else:
str_buffer = read_socat(term) #usb
dec = json.loads(str_buffer)
我已将蓝牙放在第一位,然后将USB放在第二位。即 如果没有连接蓝牙,则它通过USB连接。当USB和蓝牙都连接时,只有蓝牙有效。
但是当蓝牙被连接并且我通过usb连接控制器时,存在数据缓冲(从控制器到电机的数据传输存在延迟)。仅对于第二优先级变量(在这种情况下为usb连接)会发生这种情况。 如果我将USB放在第一位,将蓝牙放在第二位,则蓝牙会发生数据缓冲。 第一个优先级变量总是很不错,但是第二个变量有很多数据滞后。 如何消除数据缓冲?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)