UBS Fußtaster Script

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Sebastian R.
User
Beiträge: 3
Registriert: Dienstag 17. Dezember 2013, 11:12

Guten Tag zusammen,

ich habe ein Problem mit einem Fußtaster (3 Tasten) unter Linux Kubuntu 12.04 LTS.
Das Gerät wird ohne Probleme erkannt, nur das Script bleibt irgendwann stehen, leider lässt sich nicht sagen woran( oder besser gesagt ich vermag es nicht).

Ein kleines Testscript das immer nur ausgibt welche Taste gedrückt und losgelassen wird hat das gleiche Problem.
Das Problem tritt an unterschiedlichen Rechnern auf.

Hier mal das Kleine, das Große kann ich gerne auch noch nachreichen.:

Code: Alles auswählen

hidfilename = "/dev/usb/hiddev0"
signal_chars = [4, 12, 20]
WORD_LENGTH = 24

if __name__=="__main__":

	print "Depress pedal to test..."

	try:
		hidfile = open(hidfilename)
	except IOError:
		print "You need permission to access the device.  Type the following:"
		print "sudo chmod a+r /dev/usb/hiddev0"
		exit(1)

	prev_state = [0]*3
	
	while True:

		mystring = hidfile.read(WORD_LENGTH)
		
		buttons = [ord(mystring[i]) for i in signal_chars]		
		
		print "Current state:", buttons, "Previous state:", prev_state
		prev_state = buttons


	hidfile.close()
Würde mich über Unterstützung freuen.

Vielen Dank

Sebastian
Benutzeravatar
sparrow
User
Beiträge: 4600
Registriert: Freitag 17. April 2009, 10:28

Ich könnte mir vorstellen, dass er in Zeile 20 hängt, weil einfach nicht genug Daten kommen um den Buffer zu füllen.
Lass dir die Werte doch einmal ausgeben, die von dort kommen, mit einem Buffer von 1, damit da nichts ungesehen bleibt.
Sebastian R.
User
Beiträge: 3
Registriert: Dienstag 17. Dezember 2013, 11:12

Hey,

ja an der Stelle scheint er sich auf zu hängen und nimmt ab da keinen weiteren Tastendruck an.
BlackJack

@Sebastian R.: Dann ist das kein Python-Problem. Das hätte man mit jeder anderen Programmiersprache auch die die Daten aus der Gerätedatei liest.
Sebastian R.
User
Beiträge: 3
Registriert: Dienstag 17. Dezember 2013, 11:12

Alles klar, dann weiß ich wo ich ansetzen kann.
Vielen Dank für die sehr schnellen Antworten.
Antworten