Tethyx User Notes

The Tethyx response device (model number HHSC-JOY-5) provides a continuous x/y output and two buttons. It is a traditional joystick shape so the buttons are positioned under the thumb and in front of the shaft in a 'trigger' location for the index finger. The overall package is smaller than most commercial joysticks for gaming and VR use to help adapt it for use in the MRI setting.

Background: How it works

The X and Y signals are produced by detecting light reflecting from specially curved mirrors. This produces smooth monotonic signals. The analog signals are digitized and converted to USB in the interface unit.

Questions often arise about scaling for those of our devices which enumerate as USB HID game controllers or joysticks. For starters, "HID" is short for "human interface device", and we use it it here to refer to standardized protocols for USB devices.

Understanding USB

The ease of use of USB masks a lot of behind-the-scenes complexity. This is a good thing most of the time, but sometimes you want to know what is actually being sent and received. And this comes down to understanding the USB device descriptor which a device sends to the USB host computer as a kind of self-description of its outputs.

The Tethyx device descriptor tells the host computer that the device has 3 "buttons" and 2 "axes". The Tethyx joystick only has two actual buttons, but the third button function is used to send trigger information (in USB JOYSTICK mode).

These are the common characteristics defined by our joystick descriptor:

Buttons 3, ON/OFF
Axes 2, range: 0 - 1023

Tethyx output range

Tethyx has two physical buttons and a single x,y shaft. The shaft is physically centered at rest and can move in positive or negative directions away from the rest position.

The buttons send simple on/off information. Triggers received by the interface unit are also sent to the host as button on/off information.

The axes are sent as numbers in the 0 to 1023 range, with the center value being 512.

Because the joystick position sensors are essentially analog, the range is a subset of the 0 - 1023 possible range.

These are the raw values sent from the interface unit to the host computer. The host scales these numbers up and applies a calibration, if the users selects this.

Getting started with using Tethyx

Connect the Tethyx device to the interface unit first, either directly or through the long removable bundle. Withe the USB cable connected to a host computer, select the operating mode. Make sure the shaft of the joystick is centered when you choose the mode, and for about 4 seconds after, because that position will be read as the neutral position. When you are trying it out for the first time we recommend choosing the HID JOYSTICK mode, and then checking the x/y signal and buttons using the windows game controller control panel (below).

Using the Windows Game Controllers Control Panel

The windows Game Controllers control panel is a good way to check the function of joysticks and grip force devices (if you are running windows). It looks like this:

game_controller_disp.png

Tethyx Range and Button Function

In the image below the middle button is shown as 'MRI TRIGGER' -- this is how it works in the HID JOYSTICK mode.

properties_def_joystick.png

In the HID JOY COMP mode the trigger is sent as a USB keyboard keypress, rather than as a joystick button press. This is help for some users who may have scripts already written to expect keyboard keypreses for trigger synchronization.

Contrast: HID game controller/joysticks vs HID mice

  Joystick/Gamepad Mouse
Position data Absolute, referenced to a resting center position Incremental, sent when positions change as deltas from the last position
Scope Application-wide: needs to be attached to a program System-wide: position data go whichever window has focus

If you have a program now which reads from a gamepad or joystick then you will probably find it easiest to adapt this to use our joystick.

Advanced Output Modes

PJS Mode - Serial output

An RS-232 serial output mode for the joystick output is available on the rear panel P2 connector through this cable. Although RS-232 is considered a legacy interface, it is possible to use it to good effect from a timing perspective with most operating systems. The big downside to this mode is that it requires custom programming to read the output.

Analog Output

It is possible to read the analog signals directly through the rear panel P2 connector. This requires a special cable, and also a minor modification to the 932 interface board. This form of output is generally only of use for MEG users because MEG systems can record the analog signals directly along with the MEG record using spare channels.

Topic revision: r4 - 22 Nov 2023, BenDugan
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback