Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 67 additions & 0 deletions docs/add-ons/hall-effect-trigger.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
---
title: Hall-Effect Trigger
# tags:
# -
pagination_next: null
pagination_prev: null
description: "Add-on to use hall-effect trigger buttons with GP2040-CE"
---

# Hall-Effect Trigger

Purpose: This add-on is intended for the use of hall-effect buttons either on their own or through the use of a multiplexer breakout board.

![GP2040-CE Configurator - Add-Ons Analog](../assets/images/gpc-add-ons-hall-effect-trigger.png)

## Web Configurator Options

- `Channels Per Multiplexer` - The number of channels on your multiplexer or multiplexers. Please note that if you are using multiple they must all be the same. If using no multiplexers and connecting direction select `Direct (No Mux)`
- `Select Pin 0` - The GPIO pin used for the select pin on your multiplexer or multiplexers.
- `Select Pin 1` - The GPIO pin used for the select pin on your multiplexer or multiplexers.
- `Select Pin 2` - The GPIO pin used for the select pin on your multiplexer or multiplexers.
- `Select Pin 3` - The GPIO pin used for the select pin on your multiplexer or multiplexers.
- `ADC Pin 0` - The ADC GPIO pin used for the first multiplexer or individual hall-effect switch.
- `ADC Pin 1` - The ADC GPIO pin used for the second multiplexer or individual hall-effect switch.
- `ADC Pin 2` - The ADC GPIO pin used for the third multiplexer or individual hall-effect switch.
- `ADC Pin 3` - The ADC GPIO pin used for the fourth multiplexer or individual hall-effect switch.
- `Analog Smoothing` - Enabled analog smoothing which may be useful if you are getting noisy readings.
- `Smoothing Factor` - An EMA value between 1 and 99. A value of 1 is the most smoothing and a value of 99 is the least smoothing.

## Calibrating

![GP2040-CE Configurator - Add-Ons Analog](../assets/images/gpc-add-ons-hall-effect-trigger-calibrate.png)

### How to calibrate hall-effect switches

All connected hall-effect switches will need to be calibrated either individually or all at once. In most cases it is recommended to calibrate all hall-effect buttons at the same time unless you are using different types of hall-effect switches.

1 - Press the `Calibrate All` button or press the magnet button for any one individual multiplexer channel.
2 - With the button not pressed wait for the `Idle Voltage Reading` to settle.
3 - Press the `Calibrate Idle` button
4 - Full press the hall-effect switch. While still holding the switch fully pressed press the `Calibrate Pressed` button.

![GP2040-CE Configurator - Add-Ons Analog](../assets/images/gpc-add-ons-hall-effect-trigger-calibrate-advanced.png)

Advanced calibration can also be done manually by pressing the `Manual Adjustments` button.

Inside advanced calibration the following options are available:
- `Idle Voltage` - The voltage of the switch at idle.
- `Activation Voltage` - The voltage of the switch at the activation point you would like to set.
- `Pressed Voltage` - The voltage of the switch at the maximum pressed value.
- `Flip Polarity` - Not yet supported.

The `Activation Point Reading` section will give you a live view of your hall-effect switch as you press it.

If you are in the `Calibrate All` section you will see an `Overwrite All Triggers` button that will allow you to overwrite all preiously saved settings.

## Hall-Effect Voltage Table

![GP2040-CE Configurator - Add-Ons Analog](../assets/images/gpc-add-ons-hall-effect-trigger-voltage-table.png)

The hall-effect voltage table will give you a summary of all current settings for your hall-effect switches.

:::note

Please ensure you click on the `Save Trigger Values` before navigating to another page in web-config or rebooting to controller mode or your changes will not be saved.

:::
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/gpc-home.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/gpc-settings-input-mode.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/gpc-settings-ps4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/gpc-settings-ps5-host-usb.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/gpc-settings-ps5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
33 changes: 1 addition & 32 deletions docs/faq/faq-console-compatibility.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -205,41 +205,10 @@ For Xbox 360 compatibility, you will need to use the [XInput](../web-configurato

### What is the Xbox 360 Input Mode?

:::caution Additional Hardware Required

- [USB Host Port](../controller-build/usb-host.mdx)
- Xbox 360 Authentication Device

:::

Xbox 360 Mode through XInput grants GP2040-CE compatibility with the Xbox 360 by using a dongle to answer authentication
Xbox 360 Mode through XInput grants GP2040-CE compatibility with the Xbox 360.

For more information, refer to [Xbox 360 Input Mode](../web-configurator/menu-pages/01-settings.mdx) in the `Web Configurator - Add-ons` section of the documentation.

### What dongle do I use for Xbox 360 Input Mode?

Currently there is only one dongle that will work for Xbox 360 input mode:

- [MagicBoots FPS Adapter Joystick Converter for Xbox 360](https://www.mayflash.com/product/MAG360.html)

Because your experience and purchased products may vary, GP2040-CE will not provide additional specific recommendations beyond these known working devices.

:::caution Xbox 360 Controllers

Xbox 360 Wireless Controllers, Xbox 360 Wired Controllers, and other licensed Xbox 360 controllers will not work with this add-on.

:::

### How do I know the Xbox 360 Input Mode add-on is working?

Because of the numerous devices to be used for passthrough authentication, there is not just one way to verify that the input mode is working without plugging the controller into a console and attempting to use it.

For the MagicBoots Adapter listed above, there is an indicator light on the dongle that should flash on boot and then become solid after a moment. If the indicator light is on and solid, your controllers _should_ be compatible and you may use your controller as intended.

### Can I remove the Xbox 360 authentication device once I have plugged in my controller?

Xbox 360 consoles only perform the authentication process once when the controller is plugged into the console. Once this occurs, the passthrough authentication device can be removed. However, it is still recommended to keep the device plugged in.

## Xbox One, Xbox Series S, and Xbox Series X

### How do I get my GP2040-CE unit to work on a Xbox One, Xbox Series S, or Xbox Series X?
Expand Down
6 changes: 4 additions & 2 deletions docs/faq/faq-general.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,16 @@ description: "General FAQ related to the GP2040-CE project"
This will depend on the platform you will be playing on:

- Use `XInput Mode` as the preferred mode for compatibility with PC games and 3rd party console adapters
- Use `PS4 Mode` on PS4, and on PS4 games on PS5 systems
- Use `Xbox One` on an Xbox One S/X or Series X/S (requires the use of an authentication device)
- Use `PS3 Mode` on PS3, and on PS4 with games that support legacy controllers
- Use `PS4 Mode` on PS4, and on PS4 games on PS5 systems
- Use `PS5 Mode` on PS5 for games that support legacy controllers (requires the use of an authentication device)
- Use `Switch Mode` on Nintendo Switch
- Use `Keyboard Mode` for MAME cabinets, PC rhythm games, etc.

If you have a configured USB Host port, Passthrough enabled, and an appropriate authentication device, you can use a GP2040-CE controller in the following situations.

- Use [`PS4 Input Mode`](../web-configurator/menu-pages/01-settings.mdx#additional-ps4-settings) on PS5 games on PS5 systems that support "categorized" controller (e.g. arcade stick, racing wheel, flight sim joystick, etc.)
- Use [`PS5 Input Mode`](../web-configurator/menu-pages/01-settings.mdx#additional-ps4-settings) on PS5 games on PS5 systems that support "categorized" controller (e.g. arcade stick, racing wheel, flight sim joystick, etc.)
- Use [`Xbox One Input Mode`](../web-configurator/menu-pages/01-settings.mdx#additional-xbox-one-settings) on Xbox One, Xbox Series X, and Xbox Series S.

If you are using a Classic or Mini console, there are additional USB input modes to use with these emulated consoles.
Expand Down
23 changes: 15 additions & 8 deletions docs/getting-help-support.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,23 @@ description: "How to get help on issues with GP2040-CE"

## Discord

If you need help with something, the best place to get quick support is our [Discord Server](https://discord.gg/k2pxhke7q8). Once you've read the [pinned post](https://discord.com/channels/1049366310389289001/1132450634243772519), create a post in the [support channel](https://discord.com/channels/1049366310389289001/1132447732662018089) with the following information.
If you need help with something, the best place to get quick support may be our [Discord Server](https://discord.gg/k2pxhke7q8).

1. What is the name of the device are you using?
2. Where did you buy it? Provide a link to sales page.
3. What version of the firmware are you currently running? Check this via the Web Configurator (e.g. 0.4.3, 0.5.0, 0.7.4, etc.)
4. Which distribution of the firmware are you currently running? Provide the exact file name (e.g. GP2040-CE_X.X.X_Pico.uf2).
5. What is the problem that you are having?
6. What troubleshooting steps have you already done?
Please note that we do not offer support for commercial products that have been purchased from most sellers. In these cases please reach out to the seller for help and support first.

If this is a custom device, a hardware issue or you believe the firmware issue may be caused by hardware include any images .
Once you've read the [pinned post](https://discord.com/channels/1049366310389289001/1132450634243772519), create a post in the [support channel](https://discord.com/channels/1049366310389289001/1132447732662018089) with the following information.

1 - Are you a vendor?
2 - What device are you using?
3 - Where did you buy it? (post link to sales page)
4 - Have you reached out to the vendor with this support question already? (please give a summary of the conversation)
5 - What version and distribution of the firmware are you currently running? (check this via web-config)
6 - What is the problem that you are having?
7 - What trouble shooting steps have you already done?

Please also include a picture of the front and back of the device in question along with at least one image of the controller board if the device is a full stick or has a case. Please also include images of your web-config pages if required.

Any support posts that do not have this information filled out and pictures included will not be answered.

## Github Issues

Expand Down
2 changes: 1 addition & 1 deletion docs/hotkeys.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ This hotkey will prevent non-cardinal directions from registering. When a second

This hotkey will alter the behavior of the directional buttons mapped with the [Dual Direction Input](./add-ons/dual-direction-input.mdx) add-on to prevent non-cardinal directions from registering. When a second cardinal direction input is received, the gamepad direction will change to the newest cardinal direction, similar to [SOCD Last Win](#socd-last-win).

## Load Profile #1-4
## Load Profile #1-6

This hotkey will load various input to GPIO pin mapping profiles set in [Profile Settings](./web-configurator/menu-pages/02-gpio-pin-mapping.mdx#profiles) in the Web Configurator.

Expand Down
9 changes: 6 additions & 3 deletions docs/web-configurator/menu-pages/00-home.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,12 @@ description: "Home page for the GP2040-CE Web Configurator"
Here you can see the system stats for your device.

## Version
`Device Name` - This will tell you the name of the device as well as the name of the UF2 that was placed onto the unit.
`Current` - The current version of the firmware that is running on the device
`Latest` - The latest available version of the firmware in our release section
`Device Name` - This will tell you the name of the device as well as the name of the UF2 that was placed onto the unit.<br/>
`Current` - The current version of the firmware that is running on the device.<br/>
`Latest` - The latest available version of the firmware in our release section.<br/>
`Architecture` - The architecture of the current build.<br/>
`Build Type` - This will tell you what kind of build this is.<br/>
`Build` - This will tell you the commit that this build came from.<br/>

## Memory
This section shows various stats about your flash memory module.
Expand Down
2 changes: 2 additions & 0 deletions docs/web-configurator/menu-pages/01-settings.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import TabItem from "@theme/TabItem";
![GP2040-CE Configurator - Input Mode Settings](../../assets/images/gpc-settings-input-mode.png)

- `Current Input Mode` - Choose the main input mode (XINPUT, DINPUT, Switch, PS4, HID-Keyboard, etc.) this connected device will boot into when powered on. This selection will persist through unplug and plugging back in the controller.
- `Input Mode Controller Type` - Choose the subtype for this controller (please note this is experimental beyond `Gamepad`)
- `Authentication Settings` - Choose a method of authentication if needed for the mode.

:::note
Expand Down Expand Up @@ -56,6 +57,7 @@ Here you can remap the GP2040-CE buttons to different keyboard keycodes that wil

![GP2040-CE Configurator - Additional PS4 Settings](../../assets/images/gpc-settings-ps4.png)

- `Input Mode Controller Type` - Choose the subtype for this controller (please note this is experimental beyond `Gamepad`)
- `Switch Touchpad and Share` - Share will now be mapped to A2 rather than S1, Touchpad will be now mapped to S1 rather than A2
- `Identification Mode` is an option to allow for situations where a true DualShock 4 would be required. This doesn't make it a real DS4 for technical reasons, but it does make the firmware behave more like one.
- `Console` - This is what everyone is used to. It works on PS4/PS5 with the same restrictions you would expect for authorization.
Expand Down
13 changes: 7 additions & 6 deletions docs/web-configurator/menu-pages/02-gpio-pin-mapping.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,11 @@ The following options are available for assignment to each GPIO Pin.
- [Macro](./09-macros.mdx)
- Function
- Extras
- Analog directions (Analog max vlaue input X[-/+] and Y[-/+])
- Mini-menu interaction and navigation
- Tilt
- Focus Mode enable
- Toggle 4-Way joystick mode

:::note
- Multiple [Buttons](../../usage.mdx#buttons) can be assigned to a single GPIO pin (SOCD Cleaning, [Hotkeys](../../hotkeys.mdx), can both be activated).
Expand All @@ -53,7 +58,7 @@ If you do not know what pins are mapped to which button on your device, there is

You can configure profiles that will change the GPIO to GP2040-CE button mappings based on what profile number you have set. This means that you can have button layouts for different use cases and change between them without the need to enter the Web Configurator and remap GPIO pins.

The profile number can be changed by either using the Web Configurator on the [Settings page](../../web-configurator/menu-pages/01-settings.mdx) or using a [hotkey shortcut](../../hotkeys.mdx#load-profile-1-4). There is not a default input combination associated with these `Load Profile #1-4`, `Next Profile`, or `Previous Profile` hotkey shortcuts so you will likely need to set them up in the Settings page under [Hotkey Settings](../../web-configurator/menu-pages/01-settings.mdx#hotkey-settings). The default is profile #1 on first boot, but will remember the last set profile between boots.
The profile number can be changed by either using the Web Configurator on the [Settings page](../../web-configurator/menu-pages/01-settings.mdx) or using a [hotkey shortcut](../../hotkeys.mdx#load-profile-1-4). There is not a default input combination associated with these `Load Profile #1-6`, `Next Profile`, or `Previous Profile` hotkey shortcuts so you will likely need to set them up in the Settings page under [Hotkey Settings](../../web-configurator/menu-pages/01-settings.mdx#hotkey-settings). The default is profile #1 on first boot, but will remember the last set profile between boots.

### Profile Name
Profile name can be set to help identify what the profile is used for. This is especially useful if you have multiple profiles set up for different use cases.
Expand All @@ -78,8 +83,4 @@ At this time, profiles are limited to changing GPIO pin assignment and cannot be
- Focus Mode
- Keyboard Host Button-to-Key mapping

:::

## Custom builds

How to wire buttons to GPIO pins is described in the [Wiring section](../../controller-build/wiring.mdx).
:::
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ Going from left to right, the display elements are
- [Input Mode](../../usage.mdx#input-modes) - Displays the current input mode
- `XINPUT` - XInput
- `SWITCH` - Nintendo Switch
- `SWPRO` - Nintendo Switch Pro Controller
- `DINPUT` - PS3/DirectInput
- `HID-KB` - Keyboard
- `PS4` - Controller Mode set as `Controller`, will change to `PS4:AS` on successful authentication
Expand Down