2016-08-24 2 views
0

Ich benutze Pyserial (+ Python 2.7), um die Eye-Tracking-Koordinaten eines Eye-Trackers einzulesen (CRS Live-Track als serieller Port). Mit dem folgenden Code kann ich den Tracker erfolgreich starten, eine Koordinatenlinie lesen/speichern, den Tracker anhalten und schließen. Mein Problem ist, dass ich ständig die Koordinaten einlesen muss, während ich andere Aufgaben wie die Anzeige von Stimuli ausführe. So wie es aussieht, kann ich nichts tun, während ich Daten einlese ('trial1 = ser.readline'). Ich muss warten, bis ich die Daten eingelesen habe, bevor ich fortfahre. Gibt es eine Möglichkeit, die Daten von der seriellen Schnittstelle kontinuierlich einzulesen, während ich Stimuli zeige/Antworten sammle etc.?Pyserial/Eye-tracker: Lesen von der seriellen Schnittstelle während der Anzeige von Stimuli

Ich muss den Tracker einschalten, die Daten für die Dauer des Versuchs sammeln und dann Tracker aus.

import serial, time 

ser = serial.Serial(
    port='COM3', 
    baudrate=9600, 
    parity=serial.PARITY_ODD, 
    stopbits=serial.STOPBITS_TWO, 
    bytesize=serial.SEVENBITS, 
) 

x = ser.is_open #check port is open 
if x: 
    print "port is open" 

print "port name is: %s" %(ser.name) #check which port 

ser.flushInput() 
ser.flushOutput() 

running = True 
while running: 

    ser.write('$Raw\r')     #start eye-tracker 
    trial1 = ser.readline()    #read a line 

    ###i need to do stuff here### 

    ser.write('$Stop\r')    #stop eye-tracker 

    running = False 

ser.flushInput() 
ser.flushOutput() 

print trial1       #print coordinates output 

ser.close() 

Prost, Steve

Antwort

1

Eine weitere Option Threads zu versuchen wäre. Sie könnten Ihren Eyetracker in einen Thread und den Rest Ihres Codes in einen anderen setzen. Es gibt einen Stack-Überlauf answer über Multithreading (nicht mit Psychopy und Eye-Tracker) von 2010. Wenn Sie nach unten scrollen, werden Sie sehen, dass jemand auf einen Blog-Eintrag über eine aktualisierte approach verweist, die sie für einfacher halten.

Verwandte Themen