SYNOPSIS
loadusr shuttle [DEVICE …]
BESCHREIBUNG
Shuttle ist eine Nicht-Echtzeit-HAL-Komponente, die Schnittstellen Contour Design’s ShuttleXpress, ShuttlePRO, und ShuttlePRO2 Geräte mit LinuxCNC’s HAL.
Wenn der Treiber ohne Befehlszeilenargumente gestartet wird, sucht er in allen /dev/hidraw*-Gerätedateien nach Shuttle-Geräten und verwendet alle gefundenen Geräte. Wenn er mit Befehlszeilenargumenten gestartet wird, prüft er nur die angegebenen Geräte.
Das ShuttleXpress verfügt über fünf Taster, ein Jogwheel mit 10 Zählern/Umdrehung und ein federbelastetes Außenrad mit 15 Positionen, das beim Loslassen in die Mitte zurückkehrt.
Das ShuttlePRO verfügt über 13 Tasten, ein Jogwheel mit 10 Zählern/Umdrehung und ein federbelastetes Außenrad mit 15 Positionen, das beim Loslassen in die Mitte zurückkehrt.
Das ShuttlePRO2 verfügt über 15 Drucktasten, ein Jogwheel mit 10 Zählern/Umdrehung und ein federbelastetes Außenrad mit 15 Positionen, das beim Loslassen in die Mitte zurückkehrt.
UDEV
Der Shuttle-Treiber benötigt Leserechte für die Gerätedateien /dev/hidraw* der Shuttle-Geräte. Dies kann durch Hinzufügen einer Datei /etc/udev/rules.d/99-shuttle.rules mit dem folgenden Inhalt erreicht werden:
SUBSYSTEM=="hidraw", ATTRS\{idVendor}=="0b33",
ATTRS\{idProduct}=="0020", MODE="0444"
SUBSYSTEM=="hidraw", ATTRS\{idVendor}=="05f3",
ATTRS\{idProduct}=="0240", MODE="0444"
SUBSYSTEM=="hidraw", ATTRS\{idVendor}=="0b33",
ATTRS\{idProduct}=="0030", MODE="0444"
Das LinuxCNC Debian-Paket installiert eine entsprechende udev-Datei automatisch, aber wenn Sie LinuxCNC aus dem Quellcode bauen und nicht das Debian-Paket verwenden, müssen Sie diese Datei von Hand installieren. Wenn Sie die Datei von Hand installieren, müssen Sie udev anweisen, seine Regeldateien neu zu laden, indem Sie udevadm control --reload-rules ausführen.
Eine Warnung vor dem Jog Wheel
Die Shuttle-Geräte verfügen über einen internen 8-Bit-Zähler für die aktuelle Jog-Wheel-Position. Der Shuttle-Treiber kann diesen Wert nicht kennen, bis das Shuttle-Gerät sein erstes Ereignis sendet. Wenn das erste Ereignis beim Treiber eingeht, verwendet der Treiber die vom Gerät gemeldete Jogwheel-Position, um den Zähler auf 0 zu initialisieren. Dies bedeutet, dass wenn das erste Event durch das Jog-Wheel eines Handgeräts ausgelöst wird, dann diese allererste Bewegung nicht berücksichtig wird.
Jede Benutzerinteraktion mit dem Shuttle-Gerät erzeugt ein Ereignis, das den Fahrer über die Position des Jogwheels informiert. Wenn Sie also (zum Beispiel) beim Start eine der Tasten drücken, funktioniert das Jog-Wheel einwandfrei und bemerkt den ersten Klick.
Pins
Allen HAL-Pin-Namen wird das Präfix "shuttle" vorangestellt, gefolgt vom Index des Geräts (die Reihenfolge, in der sie vom Treiber gefunden wurden), z. B. shuttle.0 oder shuttle.2.
- (prefix).button-(number) (bit out)
- (prefix).button-(number)-not (bit out)
-
Die momentanen (engl. momentary) Tasten. "(Zahl)" gibt an, welche Schaltfläche entspricht zum HAL-Pin. Die "button-(number)" Pins sind True, wenn die Taste gedrückt (engl. pushed) wird, sind die "button-(number)-not"-Pins True, wenn die Taste wird nicht gedrückt ist.
- (prefix).counts (s32 out)
-
Kumulierte Zählungen des Jogwheels (das innere Rad).
- (prefix).spring-wheel-s32 (s32 out)
-
Die aktuelle Auslenkung des Federrads (des äußeren Rads). Im Ruhezustand ist er 0 und reicht von -7 am äußersten Ende gegen den Uhrzeigersinn bis +7 am äußersten Ende im Uhrzeigersinn.
- (prefix).spring-wheel-f (float out)
-
Die aktuelle Auslenkung des Federrads (des äußeren Rads). Sie beträgt 0,0 im Ruhezustand, -1,0 im extremen Gegenuhrzeigersinn und +1,0 im extremen Uhrzeigersinn. (Die Shuttle-Geräte melden die Position des Federrads als Ganzzahl von -7 bis +7, so dass dieser Pin nur 15 diskrete Werte in seinem Bereich meldet.)