2015-10-06 98 views
0

我對python和python3很綠。我的大部分背景都來自微處理器工作,如arduinos和基本郵票。Python3閱讀USB操縱桿

因此,我正在寫一些能夠從操縱桿控制IP攝像機的東西。計劃是使用像Pi這樣的代碼來運行代碼。該程序將讀取USB控制桿並將其轉換爲相機API的URL。我有這麼遠,但有一個問題。

的代碼對Linux操作系統上運行proberly Ubuntu或者raspbian

到目前爲止,我還得到了和似乎從我所遇到的與碼位我使用的一個障礙分開運作良好閱讀操縱桿。

這僅僅是一個代碼的其餘部分的片段

import sys 

pipe = open('/dev/input/js0', 'rb') #open joystick 
action = [] 
while True: 
    StickValue = readStik(pipe) 
    print ("StickValue") 

    def readStick(pipe): 
     action = [] 
     while stop == 1: 
      for character in pipe.read(1): 
       action += [int(character)] 
       if len(action) == 8: 
        StickValue = action 
        action = [] 
        stop = 2 
        ##when joystick is stationary code hangs here. 
        return StickValue 


#do some more stuff here while waiting for new joystick inputs apposed to hanging 

我明白爲什麼直到所有8個字節已經停止while循環之前被讀出,但我在努力工作如何搞得暈頭轉向作爲其等待我可以繞過它,或者有更好的閱讀操縱桿的方法。我一直在尋找pygame,但意味着重新編寫其餘代碼。

由於

回答

0

嘗試通過添加buffering=0open呼叫關掉緩衝。