Skip to content

Service Menu

dogtopus edited this page Jun 3, 2019 · 12 revisions

The firmware features a service menu that allows various configurations and maintenance tasks to be done directly on the controller side, without the need of a PC. It can be entered by pressing the knob down while plugging the USB cable into the USB output port.

This page documents the entries and functionalities presented in the service menu.

Navigation

Moving the cursor: Turning the knob clockwise increments the cursor. Ditto counter-clockwise decrements ditto.

Select menu item: Press and release the knob quickly

Back to previous menu/exit: Press, hold and release the knob for >0.5 second.

Menu items

I/O Test...

Contains tests for input/output devices.

Button Test

When selected, the LCD displayes the current button presses with an X mark.

TP test

When selected, the LCD displayes at least the coordinates of the touches on the touchpad (slider). Value format may differ across different slider implementations.

Resistive slider

Four values are displayed (from left to right): Left Position|Right Position|Left ADC Value|Right ADC value. Position value 255 indicates that no touch has been detected for this point (float).

Button Conf...

Controls button assignments.

ID

Selects the target button ID.

Assignment

Assign the target button ID selected in ID option to a button on PS4 controller.

TP Conf...

Non-hardware-specific configurations for touchpad/slider.

TP Mode

Sets the default mode of operation for slider. Note that turning the control knob at runtime can override the mode of operation set here temporarily.

See here for a list of modes.

ATRF Hold

Default: 24 scans

Sets the holding time, in number of scans, for analog sticks when the slider inputs map to analog stick tilts. When the firmware detects the direction of swiping, the firmware sets the direction of analog stick tilts accordingly and releases when no further swipes are detected by the firmware and the holding time is exceeded.

Currently used in ATRF mode only.

ATRF MaxSeg

Default: 20 segments

Controls the maximum chain slide segments the slider can possibly fill. Value ranges between 1 and 20. Only works when the silder maps to the PS4 controller touchpad (i.e. only applies to chain slides).

The actual number of filled chain slide segments may vary slightly due to input noises, delays and other factors.

Used in both ATRF and TTRF modes.

ATRF SegMult

Default: 2

Controls how many parallel points the firmware should use for the PS4 controller touchpad when the silder maps to the touchpad. Value is either single (1) or double (2) since the touchpad on the PS4 controller only supports two simultaneous touch points.

When set this to 2, the maximum fillable chain slide segments doubles. For example, when ATRF MaxSeg is 16 and ATRF SegMult is 2, a swipe from one end of the slider to the opposite end fills 16 * 2 = 32 segments.

Used in both ATRF and TTRF modes.

TP SysConf...

Hardware-specific configurations for touchpad/slider.

Entries vary among different slider hardware.

(TODO: more details)

DS4 Redir.

Default: N

When enabled, the donor controller used for authentication can also be used to control the PS4.

(WARNING: WIP feature, may break inputs from the main controller.)

Show PerfCtr.

Default: N

When enabled, the firmware displays the number of output frames per second (left), number of scans per second (middle) and number of microseconds the firmware used to perform a single scan (right) at the top line of the LCD at runtime.

Clear EEPROM

Clear the contents stored in EEPROM and resets all settings to default.

Reboot...

Reboot the controller.

Main System

Boot into controller mode.

Bootloader

Boot into Teensy Loader mode (on Teensy boards).