LinuxCNC Documentation

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.)