FAQ

Die LED auf dem Arcaze USB-Interface leuchtet nicht mehr. Ist es nun defekt?

Die LED zeigt (derzeit noch) den Keyboard-Numlock-Status an. Wird an einer am PC angeschlossenen Tastatur also Numlock ausgeschaltet, dann ist auch die LED aus. Drücken Sie testhalber Numlock an Ihrer Tastatur, dann sollte die LED wieder eingeschaltet werden, wie an allen anderen am PC angeschlossenen Tastaturen auch. Sollte das nicht funktionieren, dann lesen Sie im folgenden Punkt weiter. Diese Funktionalität hat historische Gründe. Da das Verwirrung stiftet, wird das Verhalten in nächster Zeit durch eine “Enumeration ok”-LED ersetzt werden.

Mein Arcaze USB-Interface reagiert nicht mehr und im Config Tool wird es nicht mehr erkannt

Der wahrscheinlichste Grund ist, dass Windows das Device beim letzten Powerup falsch gecached hat und/oder dieser Cache-Eintrag nicht mehr mit dem aktuellen Device zusammenpasst.

Windows schreibt die Eigenschaften aller angemeldeten USB-Geräte in einen Zwischenspeicher (Cache), damit der nächste Start schneller geht. Wenn z.B. nach einem Firmware-Update oder einer Umkonfiguration das Gerät mehr, weniger oder andere USB-Devices enthält, als im in Windows gecacheten Abbild, dann passt der Cache-Eintrag nicht mehr zum tatsächlichen Device. Normalerweise aktualisiert Windows dieses Abbild, aber manchmal blickt es nicht mehr durch und dann schlägt die
Enumeration fehl. In diesem Fall können Sie den USB Device Cache leeren und so erzwingen, dass die Arcaze-Devices nach erneutem Einstecken neu gecached werden.

Dafür gibt es ein kleines Skript, mit dem die Arcaze-Einträge aus dem Windows-Cache entfernt werden können, um den Rechner zu zwingen, die Geräte noch mal auszulesen.

Den USB Device Cache löschen Sie mit: “Start -> Arcaze USB-Interface -> Clean USB Device Cache”:

Wichtig ist, dass das mit Admin-Rechten ausgeführt wird!

Also nicht mit linker Maustaste anklicken, sondern mit rechter Maustaste und dann “Als Administrator ausführen”, sonst passiert gar nichts.

Danach sollte kurz ein schwarzes Fenster aufgehen, in dem ein paar Zeilen Geräte gelöscht werden. Das sind die Geräte mit der fraglichen Vendor ID. Auf einem schnellen Rechner ist das in Bruchteilen einer Sekunde schon vorbei.

Dann Arcaze neu einstecken und erkennen lassen. Falls das weiter oben noch ein Problem war, dann sollte das Device jetzt problemlos enumerieren.

Sollte das nicht funktionieren, dann melden Sie sich per Mail.

Wie kann ich das Modul in den Auslieferungszustand zurücksetzen?

Wenn gar nichts mehr geht, zum Beispiel weil eine defekte Config geladen wurde, oder eine die den PC blockiert, dann gibt es immer die Möglichkeit, das Arcaze in den Werkszustand zurückzusetzen:

  1. Beim Einstecken des USB-Kabels den kleinen Taster auf dem Board gedrückt halten.
  2. Die LED blinkt nun schnell und das Modul meldet sich nicht mehr als Arcaze USB-Interface an, sondern als Arcaze Bootloader.
  3. Im Config-Tool “USB->Firmware Update” klicken, die jeweils aktuelle Firmware auswählen und das Firmware Update starten.
  4. Danach ist das Modul wieder eine leere Config und verhält sich wie bei der Auslieferung.

Wenn es jetzt immer noch nicht startet, dann melden Sie sich per Mail.

Ein Taster soll nicht dauerhaft als gedrückt erkannt werden, sondern nur ein einzelnes Zeichen beim Niederdrücken ausgeben

Standardmäßig wird eine Taste immer genau so lange als aktiv an den PC übermittelt, wie sie auch tatsächlich gedrückt ist. Dies nennt sich “Repeat Mode”. Es gibt aber noch andere Möglichkeiten, folgende Modes existieren:

  • Repeat
    Taste “gedrückt” so lange Input aktiv
  • Rising Edge
    Nur beim Niederdrücken der Taste wird ein einzelnes Zeichen gesendet
  • Falling Edge
    Nur beim Loslassen der Taste wird ein einzelnes Zeichen gesendet

Im Beispiel wird ein einzelnes “A” gesendet werden, wenn die Taste an A01 gedrückt wird. Egal wie lange sie danach gedrückt bleibt, es kommt kein weiteres Zeichen dazu:

Das ist nicht nur bei Tastern interessant, sondern ganz besonders bei Schaltern. Wenn ein Schalter beim Einschalten eine Taste und beim Ausschalten eine andere Taste senden soll, dann sind einfach 2 verschiedene Makros für diese beiden Funktionen anzulegen, die eine mit “Rising Edge” als Startbedingung und die andere mit “Falling Edge” als Startbedingung.

Welche Einheit haben die Werte in den Spalten Periode und Pulsweite?

Der aktuelle Zustand der Tasten kann nur in bestimmten Zeitabschnitten über USB an den PC geschickt werden. Diese Rate beträgt beim Arcaze immer 10ms (10 Millisekunden = 0,01 Sekunden). In den Spalten Periode und Pulsweite sind Vielfache von diesen 10ms angegeben. Eine 2 heißt also 20ms, eine 10 heißt 100ms bzw. 0,1 Sekunden.

Es können also höchstens 100 mal pro Sekunde aktualisierte Daten an den PC geschickt werden. Es kann aber Sinn machen, das seltener zu tun. Zum Beispiel um so Tasten zu entprellen, weil einfach eine geringere Eingabegeschwindigkeit gewünscht ist, oder weil bei einzelnen Ereignissen (“Rising Edge/Falling Edge”) die Ausgabedauer zu kurz ist, um von der anzusteuernden Applikation überhaupt erkannt zu werden.

Diese Ausgabedauer stellen Sie mit dem Wert Periodendauer (“Periode”) ein. Eine 10 bedeutet hier also, dass eine Taste immer für 0,1s angelegt wird, ehe der nächste Schritt ausgeführt wird. Es werden dann also (maximal) 10 Zeichen/s gesendet,  bei Einstellung 5 werden 20 Zeichen/s gesendet usw.

Allerdings hängt diese Verzögerung nicht ausschließlich vom Modul ab, sondern in hohem Maße auch von Windows und von der PC-Hardware. Denn zwar werden bei der Einstellung Delay=1 durchaus auch wirklich 100 Anschläge pro Sekunde gesendet, aber das Betriebssystem und oft auch die Applikation ist meistens nicht in der Lage, diese hohe Anzahl von Eingaben auch zu verarbeiten. Das tatsächliche Maximum hängt also von PC und Installation ab.

Auf einem Beispiel-Rechner wurde folgender Test gemacht:

Texteditor öffnen und für genau 10 Sekunden im Pulse Mode ein Zeichen senden. (effektiv eine Taste für 10 Sekunden gedrückt halten) Dann die Anzahl der insgesamt im Texteditor angekommenen Zeichen zählen.

Das Ergebnis zeigt, dass das getestete System (aktueller PC mit Windows XP) bei ca. 35 Anschlägen pro Sekunde an seine Grenzen kommt.

Einstellung Delay-SpalteVerzögerung
(in Sekunden)
Zeichen pro Sekunde
theoretischMesswert
10,0110035
20,025035
30,033333
40,042525
50,052020
100,11010
200,255
500,522
100111

Der PC an sich kann natürlich eigentlich viel mehr Daten verarbeiten, aber die Implementierung des USB-Stack in Windows bringt diese Grenze mit sich.

Ein Taster soll nicht dauerhaft als gedrückt erkannt werden, sondern nur ein einzelnes Zeichen beim Niederdrücken ausgeben

Standardmäßig wird eine Taste immer genau so lange als aktiv an den PC übermittelt, wie sie auch tatsächlich gedrückt ist. Dies nennt sich “Repeat Mode”. Es gibt aber noch andere Möglichkeiten, folgende Modes existieren:

  • Repeat
    Taste “gedrückt” so lange Input aktiv
  • Rising Edge
    Nur beim Niederdrücken der Taste wird ein einzelnes Zeichen gesendet
  • Falling Edge
    Nur beim Loslassen der Taste wird ein einzelnes Zeichen gesendet

Im Beispiel wird ein einzelnes “A” gesendet werden, wenn die Taste an A01 gedrückt wird. Egal wie lange sie danach gedrückt bleibt, es kommt kein weiteres Zeichen dazu:

Das ist nicht nur bei Tastern interessant, sondern vor allem bei Schaltern. Wenn ein Schalter beim Einschalten eine Taste und beim Ausschalten eine andere Taste senden soll, dann sind einfach 2 verschiedene Makros für diese beiden Funktionen anzulegen, die eine mit “Rising Edge” als Startbedingung und die andere mit “Falling Edge” als Startbedingung.