Provided by: linuxcnc-uspace_2.9.4-2ubuntu1_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.)

LinuxCNC Documentation                             2011-01-13                                         SHUTTLE(1)