def compute(threadname): """ Compute the force """ dev = Device() dev.baudrate = 230400 lastupdate = pg.ptime.time() i = 0 while True: taille = HAPTICDEV.incommingsize() #FIFO.qsize() if taille >= 3: rec = HAPTICDEV.readarray(3)#bytearray(extract(FIFO, 3)) taille = taille - 3 if rec[0] != 5: while rec[0] != 5: rec = HAPTICDEV.readarray(1)#bytearray(extract(FIFO, 1)) taille = taille - 1 rec[1:2] = HAPTICDEV.readarray(2)#bytearray(extract(FIFO, 2)) taille = taille - 2 if rec[0] == 5: i += 1 angle = rec[1] + rec[2] * 256 if angle > 32767: angle -= 65536 degre = angle*360/20000 data = SHARED['data'] data[:-1] = data[1:] data[-1] = degre SHARED['data'] = data indexf = max(min(int((ANGLEMAX+degre)*RESANG), ANGLEMAX*RESANG*2-1), 0) forcenow = FORCE[indexf] forcenow = max(min(forcenow, 130), -130) HAPTICDEV.write(forcenow) SHARED['degre'] = degre SHARED['forcenow'] = forcenow if i >= COUNT: i = 0 now = pg.ptime.time() SHARED['fps'] = COUNT / (now - lastupdate) SHARED['taille'] = taille lastupdate = now
import paho.mqtt.client as mqtt import json from pylibftdi import Device, USB_PID_LIST, USB_VID_LIST from config import MQTT_HOST USB_VID_LIST.append(0x1321) USB_PID_LIST.append(0x1001) dev = Device(mode='t') dev.baudrate = 57600 dev.open() def run_command(cmd): if cmd != '': dev.flush() print('TX: ' + cmd) dev.writelines(cmd + '\r') out = '' while out == '': out = dev.readline() print('RX: ' + out) def to_command(obj): cmds = [] for input in obj: cmd = 'xpgn(' + input + ',*)=' # print('Input: ' + input) # print(obj[input])
#!/usr/bin/env python import pygame from math import floor from pylibftdi import Device # I2C over USB import time # import servo dev = Device(mode="b") dev.baudrate = 9600 # allow multiple joysticks joy = [] def fix(bits): if bits & 0b00100000: return 63 - bits else: return bits # handle joystick event def handleJoyEvent(e): if e.type == pygame.JOYAXISMOTION: axis = "unknown" if e.dict["axis"] == 0: axis = "X" bits = 0b10000000 # Throw away; don't change anything if e.dict["axis"] == 1: axis = "Y"
def midi_ftdi_dev(): from pylibftdi import Device d = Device() d.baudrate = 31250 return d