Turbo
Purpose: This add-on is intended for you to change the behavior of controls so that holding a button triggers a fast series of separate button presses.
Turbo Mode is enabled/disabled on individual buttons by holding an input and then pressing the Turbo Button. This results in the input being repeatedly sent in rapid succession (according to the Turbo Shot Count
set in the Web Configurator).
Turbo Mode is limited to non-directional inputs on the game pad.
Web Configurator Options
General Options
Turbo Pin
- The GPIO pin used for the Turbo button, which toggles Turbo Mode on a button.Turbo Pin LED
- The GPIO pin used for the Turbo LED.Turbo Shot Count
- The number of of presses per second that the Turbo will activate at. (Default: 15, Range: 0-30)Turbo Dial (ADC ONLY)
- The GPIO pin used for the Turbo dial.
Turbo Dial (ADC ONLY)
must be set as one of the ADC pins (GPIO 26-29) on the RP2040 board.
Turbo - SHMUP MODE
Turbo Always On 1-4
- These gamepad inputs will always send Turbo inputs (rapid, distinct button presses) even when Turbo mode is not enabled.Charge Button 1-4 Pin
- These GPIO pins used for an additional button that can be held down and send one sustained input regardless of Turbo status.Charge Button 1-4 Assignment
- These inputs that are associated with their respectiveCharge Button 1-4
buttons.Simultaneous Priority Mode
- Which of the two modes below should take priority.Turbo Priority
- When a Charge Button and a gamepad input with Turbo Mode are pressed simultaneously, apply Turbo Mode behavior.Charge Priority
- When a Charge Button and a gamepad input with Turbo Mode are pressed simultaneously, only send the input being held as a Charge Shot.
- In order for these options to work, the
Turbo Pin
must be set to some GPIO pin and not disabled (-1). Charge Button 1-4 Pin
must be set to GPIO pins that are not currently assigned to any other inputs.
Some of the options above uses the following GP2040 input labels for input mapping from controller to GP2040-CE.
GP2040-CE | XInput Xbox One | Switch | PS4 | PS3 | DirectInput | Arcade | RP2040 Advanced Breakout Board |
---|---|---|---|---|---|---|---|
B1 | A | B | Cross | Cross | 2 | K1 | K1 |
B2 | B | A | Circle | Circle | 3 | K2 | K2 |
B3 | X | Y | Square | Square | 1 | P1 | P1 |
B4 | Y | X | Triangle | Triangle | 4 | P2 | P2 |
L1 | LB | L | L1 | L1 | 5 | P4 | P4 |
R1 | RB | R | R1 | R1 | 6 | P3 | P3 |
L2 | LT | ZL | L2 | L2 | 7 | K4 | K4 |
R2 | RT | ZR | R2 | R2 | 8 | K3 | K3 |
S1 | Back | Minus | Share | Select | 9 | Coin | S1 |
S2 | Start | Plus | Options | Start | 10 | Start | S2 |
L3 | LS | LS | L3 | L3 | 11 | LS | L3 |
R3 | RS | RS | R3 | R3 | 12 | RS | R3 |
A1 | Guide | Home | PS | PS | 13 | Home | A1 |
A2 | - | Capture | Touchpad | - | 14 | - | A2 |
Requirements
Additional buttons are required for the Turbo Button as well as each of the additional Charge Buttons desired for a minimum of one button and a maximum of 4 buttons.
If a Turbo LED is desired, an 3.3V non-addressable non-RGB LED is required. This type of LED should only have 2 conductors, power and ground.
The LED is using power from GPIO pin, which can only supply +3.3V. Verify that the forward voltage of the LED is below 3.3V, otherwise the LED will not turn on.
Installation
For each button, connect one side of the button to their respective GPIO pin as assigned in the Web Configurator. Connect the other side of the buttons to GND.
For the Turbo LED, connect one side of the LED to the GPIO pin assigned in the Web Configurator. Connect the other side of the LED to GND.
Miscellaneous Notes
When using an OLED display, buttons that have Turbo enabled will have an additional, internal ring or square to indicate that when pressed, the input mapped to that button will repeatedly be sent by the controller.