Provided by: linuxcnc-uspace_2.9.0~pre0+git20220402.2500863908-4build1_amd64 bug

NAME

       shuttle - control HAL pins with the ShuttleXpress, ShuttlePRO, and ShuttlePRO2 device made
       by Contour Design

SYNOPSIS

       loadusr shuttle [DEVICE ...]

DESCRIPTION

       shuttle is a non-realtime HAL component that interfaces  Contour  Design's  ShuttleXpress,
       ShuttlePRO, and ShuttlePRO2 devices with LinuxCNC's HAL.

       If  the  driver  is started without command-line arguments, it will probe all /dev/hidraw*
       device files for Shuttle devices, and use all  devices  found.   If  it  is  started  with
       command-line arguments, it will only probe the devices specified.

       The  ShuttleXpress  has  five  momentary  buttons,  a  10 counts/revolution jog wheel with
       detents, and a 15-position spring-loaded outer wheel that returns to center when released.

       The ShuttlePRO has 13 momentary buttons, a 10 counts/revolution jog  wheel  with  detents,
       and a 15-position spring-loaded outer wheel that returns to center when released.

       The  ShuttlePRO2  has 15 momentary buttons, a 10 counts/revolution jog wheel with detents,
       and a 15-position spring-loaded outer wheel that returns to center when released.

UDEV

       The shuttle driver needs read permission  to  the  Shuttle  devices'  /dev/hidraw*  device
       files.  This can be accomplished by adding a file /etc/udev/rules.d/99-shuttle.rules, with
       the following contents:

       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"

       The LinuxCNC Debian package installs an appropriate udev file automatically,  but  if  you
       are  building  LinuxCNC from source and are not using the Debian packaging, you'll need to
       install this file by hand.  If you install the file by hand you'll need to  tell  udev  to
       reload its rules files by running `udevadm control --reload-rules`.

A warning about the Jog Wheel

       The  Shuttle  devices  have  an internal 8-bit counter for the current jog-wheel position.
       The shuttle driver can not know this value until the Shuttle device sends its first event.
       When  the  first  event  comes into the driver, the driver uses the device's reported jog-
       wheel position to initialize counts to 0.

       This means that if the first event is generated by a jog-wheel move, that first move  will
       be lost.

       Any  user interaction with the Shuttle device will generate an event, informing the driver
       of the jog-wheel position.  So if you (for example) push one of the  buttons  at  startup,
       the jog-wheel will work fine and notice the first click.

Pins

       All  HAL  pin  names  are prefixed with `shuttle` followed by the index of the device (the
       order in which the driver found them), for example "shuttle.0" or "shuttle.2".

       (bit out) (prefix).button-(number)

       (bit out) (prefix).button-(number)-not

                  The momentary buttons.  "(number)" identifies which button corresponds
                  to the HAL pin.  The "button-(number)" pins are True when the button
                  is pushed, the "button-(number)-not" pins are True when the button
                  is not pushed.

       (s32 out) (prefix).counts

                  Accumulated counts from the jog wheel (the inner wheel).

       (s32 out) (prefix).spring-wheel-s32

                  The current deflection of the spring-wheel (the outer wheel).
                  It's 0 at rest, and ranges from -7 at the counter-clockwise
                  extreme to +7 at the clockwise extreme.

       (float out) (prefix).spring-wheel-f

                  The current deflection of the spring-wheel (the outer wheel).
                  It's 0.0 at rest, -1.0 at the counter-clockwise extreme, and +1.0 at
                  the clockwise extreme.  (The Shuttle devices report the spring-wheel
                  position as an integer from -7 to +7, so this pin reports only 15
                  discrete values in its range.)