“This is a customizable HID controller for game panels. The HIDPanel has positions for up to 15 plug in control modules. These modules can be single buttons, button pairs, rotary encoders, rotary potentiometers, slide potentiometers, and dual axis joysticks (PS4 or Xbox One type replacement joysticks).
The device appears as a USB CDC serial port, a USB HID keyboard, and a USB HID gamepad. The actions of each module is configured through the serial port. A command string configures the Keyboard or Gamepad controls to be triggered in response to each action.
The commands are sent via the USB CDC serial port terminated by the enter character. Here are the commands:
Sets the action command string corresponding to the action number for the given module number (1 to 15).
Shows the current command strings for the module number. If the module number is zero, show the action strings for all of the modules.
Writes the current configuration to flash memory to be restored on power up.
Display the help (the list of commands).
Each module has three inputs. Switch 1, which is a digital only input, switch 2, which is digital or analog, and an analog input, which can be used as a digital or analog input.
The action numbers are:
100: Button 1 Pressed (grounded)
101: Button 1 Released (high)
200: Button 2 Pressed (grounded)
201: Button 2 Released (high)
300: Analog axis pressed (grounded)
301: Analog axis released (high)
302: Analog axis moved
311: Analog axis position 1/9 (left most)
312: Analog axis position 2/9
313: Analog axis position 3/9
314: Analog axis position 4/9
315: Analog axis position 5/9 (center)
316: Analog axis position 6/9
317: Analog axis position 7/9
318: Analog axis position 8/9
319: Analog axis position 9/9 (right most)
400: Rotary encoder left
401: Rotary encoder right”