forked from OpenStickCommunity/GP2040-CE
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add RP2040 Mini Breakout Board USB Passthrough (OpenStickCommunity#1261)
Add RP2040 Mini Breakout Board USB Passthrough board
- Loading branch information
1 parent
eaef4ea
commit 7a50cfa
Showing
5 changed files
with
208 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
89 changes: 89 additions & 0 deletions
89
configs/RP2040MiniBreakoutBoardUSBPassthrough/BoardConfig.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
/* | ||
* SPDX-License-Identifier: MIT | ||
* SPDX-FileCopyrightText: Copyright (c) 2024 OpenStickCommunity (gp2040-ce.info) | ||
*/ | ||
|
||
#ifndef PICO_BOARD_CONFIG_H_ | ||
#define PICO_BOARD_CONFIG_H_ | ||
|
||
#include "enums.pb.h" | ||
#include "class/hid/hid.h" | ||
|
||
#define BOARD_CONFIG_LABEL "RP2040 Mini Breakout Board USB Passthrough" | ||
|
||
// Main pin mapping Configuration | ||
// // GP2040 | Xinput | Switch | PS3/4/5 | Dinput | Arcade | | ||
#define GPIO_PIN_15 GpioAction::BUTTON_PRESS_UP // UP | UP | UP | UP | UP | UP | | ||
#define GPIO_PIN_14 GpioAction::BUTTON_PRESS_DOWN // DOWN | DOWN | DOWN | DOWN | DOWN | DOWN | | ||
#define GPIO_PIN_13 GpioAction::BUTTON_PRESS_RIGHT // RIGHT | RIGHT | RIGHT | RIGHT | RIGHT | RIGHT | | ||
#define GPIO_PIN_12 GpioAction::BUTTON_PRESS_LEFT // LEFT | LEFT | LEFT | LEFT | LEFT | LEFT | | ||
#define GPIO_PIN_03 GpioAction::BUTTON_PRESS_B1 // B1 | A | B | Cross | 2 | K1 | | ||
#define GPIO_PIN_02 GpioAction::BUTTON_PRESS_B2 // B2 | B | A | Circle | 3 | K2 | | ||
#define GPIO_PIN_00 GpioAction::BUTTON_PRESS_R2 // R2 | RT | ZR | R2 | 8 | K3 | | ||
#define GPIO_PIN_01 GpioAction::BUTTON_PRESS_L2 // L2 | LT | ZL | L2 | 7 | K4 | | ||
#define GPIO_PIN_08 GpioAction::BUTTON_PRESS_B3 // B3 | X | Y | Square | 1 | P1 | | ||
#define GPIO_PIN_06 GpioAction::BUTTON_PRESS_B4 // B4 | Y | X | Triangle | 4 | P2 | | ||
#define GPIO_PIN_05 GpioAction::BUTTON_PRESS_R1 // R1 | RB | R | R1 | 6 | P3 | | ||
#define GPIO_PIN_04 GpioAction::BUTTON_PRESS_L1 // L1 | LB | L | L1 | 5 | P4 | | ||
#define GPIO_PIN_11 GpioAction::BUTTON_PRESS_S1 // S1 | Back | Minus | Select | 9 | Coin | | ||
#define GPIO_PIN_09 GpioAction::BUTTON_PRESS_S2 // S2 | Start | Plus | Start | 10 | Start | | ||
#define GPIO_PIN_28 GpioAction::BUTTON_PRESS_L3 // L3 | LS | LS | L3 | 11 | LS | | ||
#define GPIO_PIN_29 GpioAction::BUTTON_PRESS_R3 // R3 | RS | RS | R3 | 12 | RS | | ||
#define GPIO_PIN_10 GpioAction::BUTTON_PRESS_A1 // A1 | Guide | Home | PS | 13 | ~ | | ||
#define GPIO_PIN_27 GpioAction::BUTTON_PRESS_A2 // A2 | ~ | Capture | ~ | 14 | ~ | | ||
|
||
// Setting GPIO pins to assigned by add-on | ||
// | ||
#define GPIO_PIN_16 GpioAction::ASSIGNED_TO_ADDON | ||
#define GPIO_PIN_18 GpioAction::ASSIGNED_TO_ADDON | ||
#define GPIO_PIN_19 GpioAction::ASSIGNED_TO_ADDON | ||
|
||
// Keyboard Mapping Configuration | ||
// // GP2040 | Xinput | Switch | PS3/4/5 | Dinput | Arcade | | ||
#define KEY_DPAD_UP HID_KEY_ARROW_UP // UP | UP | UP | UP | UP | UP | | ||
#define KEY_DPAD_DOWN HID_KEY_ARROW_DOWN // DOWN | DOWN | DOWN | DOWN | DOWN | DOWN | | ||
#define KEY_DPAD_RIGHT HID_KEY_ARROW_RIGHT // RIGHT | RIGHT | RIGHT | RIGHT | RIGHT | RIGHT | | ||
#define KEY_DPAD_LEFT HID_KEY_ARROW_LEFT // LEFT | LEFT | LEFT | LEFT | LEFT | LEFT | | ||
#define KEY_BUTTON_B1 HID_KEY_SHIFT_LEFT // B1 | A | B | Cross | 2 | K1 | | ||
#define KEY_BUTTON_B2 HID_KEY_Z // B2 | B | A | Circle | 3 | K2 | | ||
#define KEY_BUTTON_R2 HID_KEY_X // R2 | RT | ZR | R2 | 8 | K3 | | ||
#define KEY_BUTTON_L2 HID_KEY_V // L2 | LT | ZL | L2 | 7 | K4 | | ||
#define KEY_BUTTON_B3 HID_KEY_CONTROL_LEFT // B3 | X | Y | Square | 1 | P1 | | ||
#define KEY_BUTTON_B4 HID_KEY_ALT_LEFT // B4 | Y | X | Triangle | 4 | P2 | | ||
#define KEY_BUTTON_R1 HID_KEY_SPACE // R1 | RB | R | R1 | 6 | P3 | | ||
#define KEY_BUTTON_L1 HID_KEY_C // L1 | LB | L | L1 | 5 | P4 | | ||
#define KEY_BUTTON_S1 HID_KEY_5 // S1 | Back | Minus | Select | 9 | Coin | | ||
#define KEY_BUTTON_S2 HID_KEY_1 // S2 | Start | Plus | Start | 10 | Start | | ||
#define KEY_BUTTON_L3 HID_KEY_EQUAL // L3 | LS | LS | L3 | 11 | LS | | ||
#define KEY_BUTTON_R3 HID_KEY_MINUS // R3 | RS | RS | R3 | 12 | RS | | ||
#define KEY_BUTTON_A1 HID_KEY_9 // A1 | Guide | Home | PS | 13 | ~ | | ||
#define KEY_BUTTON_A2 HID_KEY_F2 // A2 | ~ | Capture | ~ | 14 | ~ | | ||
#define KEY_BUTTON_FN -1 // Hotkey Function | | ||
|
||
#define BOARD_LEDS_PIN 16 | ||
|
||
#define USB_PERIPHERAL_ENABLED 1 | ||
|
||
#define USB_PERIPHERAL_PIN_DPLUS 18 | ||
#define USB_PERIPHERAL_PIN_ORDER 0 | ||
|
||
#define DEFAULT_INPUT_MODE_R1 INPUT_MODE_XBONE | ||
#define DEFAULT_INPUT_MODE_B4 INPUT_MODE_PS5 | ||
#define DEFAULT_PS5AUTHENTICATION_TYPE INPUT_MODE_AUTH_TYPE_USB | ||
|
||
#define LED_BRIGHTNESS_MAXIMUM 100 | ||
|
||
#define LEDS_DPAD_LEFT 0 | ||
#define LEDS_DPAD_DOWN 1 | ||
#define LEDS_DPAD_RIGHT 2 | ||
#define LEDS_DPAD_UP 3 | ||
#define LEDS_BUTTON_B3 4 | ||
#define LEDS_BUTTON_B4 5 | ||
#define LEDS_BUTTON_R1 6 | ||
#define LEDS_BUTTON_L1 7 | ||
#define LEDS_BUTTON_B1 8 | ||
#define LEDS_BUTTON_B2 9 | ||
#define LEDS_BUTTON_R2 10 | ||
#define LEDS_BUTTON_L2 11 | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
# GP2040 Configuration for the RP2040 Mini Breakout Board USB Passthrough | ||
|
||
![RP2040 RP2040 Mini Breakout Board USB Passthrough](assets/RP2040MiniBreakoutBoardUSBPassthrough.jpeg) | ||
|
||
## Main Pin Mapping Configuration | ||
|
||
| RP2040 Pin | Action | GP2040 | Xinput | Switch | PS3/4/5 | Dinput | Arcade | | ||
|------------|-------------------------------|--------|--------|--------|----------|--------|--------| | ||
| GPIO_PIN_15| GpioAction::BUTTON_PRESS_UP | UP | UP | UP | UP | UP | UP | | ||
| GPIO_PIN_14| GpioAction::BUTTON_PRESS_DOWN | DOWN | DOWN | DOWN | DOWN | DOWN | DOWN | | ||
| GPIO_PIN_13| GpioAction::BUTTON_PRESS_RIGHT| RIGHT | RIGHT | RIGHT | RIGHT | RIGHT | RIGHT | | ||
| GPIO_PIN_12| GpioAction::BUTTON_PRESS_LEFT | LEFT | LEFT | LEFT | LEFT | LEFT | LEFT | | ||
| GPIO_PIN_03| GpioAction::BUTTON_PRESS_B1 | B1 | A | B | Cross | 2 | K1 | | ||
| GPIO_PIN_02| GpioAction::BUTTON_PRESS_B2 | B2 | B | A | Circle | 3 | K2 | | ||
| GPIO_PIN_00| GpioAction::BUTTON_PRESS_R2 | R2 | RT | ZR | R2 | 8 | K3 | | ||
| GPIO_PIN_01| GpioAction::BUTTON_PRESS_L2 | L2 | LT | ZL | L2 | 7 | K4 | | ||
| GPIO_PIN_08| GpioAction::BUTTON_PRESS_B3 | B3 | X | Y | Square | 1 | P1 | | ||
| GPIO_PIN_06| GpioAction::BUTTON_PRESS_B4 | B4 | Y | X | Triangle| 4 | P2 | | ||
| GPIO_PIN_05| GpioAction::BUTTON_PRESS_R1 | R1 | RB | R | R1 | 6 | P3 | | ||
| GPIO_PIN_04| GpioAction::BUTTON_PRESS_L1 | L1 | LB | L | L1 | 5 | P4 | | ||
| GPIO_PIN_11| GpioAction::BUTTON_PRESS_S1 | S1 | Back | Minus | Select | 9 | Coin | | ||
| GPIO_PIN_09| GpioAction::BUTTON_PRESS_S2 | S2 | Start | Plus | Start | 10 | Start | | ||
| GPIO_PIN_28| GpioAction::BUTTON_PRESS_L3 | L3 | LS | LS | L3 | 11 | LS | | ||
| GPIO_PIN_29| GpioAction::BUTTON_PRESS_R3 | R3 | RS | RS | R3 | 12 | RS | | ||
| GPIO_PIN_10| GpioAction::BUTTON_PRESS_A1 | A1 | Guide | Home | PS | 13 | ~ | | ||
| GPIO_PIN_27| GpioAction::BUTTON_PRESS_A2 | A2 | ~ | Capture | ~ | 14 | ~ | |
48 changes: 48 additions & 0 deletions
48
configs/RP2040MiniBreakoutBoardUSBPassthrough/RP2040MiniBreakoutBoard.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
/* | ||
* Copyright (c) 2020 Raspberry Pi (Trading) Ltd. | ||
* | ||
* SPDX-License-Identifier: BSD-3-Clause | ||
*/ | ||
|
||
// ----------------------------------------------------- | ||
// NOTE: THIS HEADER IS ALSO INCLUDED BY ASSEMBLER SO | ||
// SHOULD ONLY CONSIST OF PREPROCESSOR DIRECTIVES | ||
// ----------------------------------------------------- | ||
|
||
|
||
#ifndef _BOARDS_RP2040MINIBREAKOUTBOARDUSBPASSTHROUGH_H | ||
#define _BOARDS_RP2040MINIBREAKOUTBOARDUSBPASSTHROUGH_H | ||
|
||
// For board detection | ||
#define RP2040MINIBREAKOUTBOARD | ||
|
||
//For crappy crystal | ||
#ifndef PICO_XOSC_STARTUP_DELAY_MULTIPLIER | ||
#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64 | ||
#endif | ||
|
||
// --- LED --- | ||
#ifndef PICO_DEFAULT_LED_PIN | ||
#define PICO_DEFAULT_LED_PIN 25 | ||
#endif | ||
// no PICO_DEFAULT_WS2812_PIN | ||
|
||
// --- FLASH --- | ||
#define PICO_BOOT_STAGE2_CHOOSE_W25Q080 1 | ||
|
||
#ifndef PICO_FLASH_SPI_CLKDIV | ||
#define PICO_FLASH_SPI_CLKDIV 2 | ||
#endif | ||
|
||
#ifndef PICO_FLASH_SIZE_BYTES | ||
#define PICO_FLASH_SIZE_BYTES (2 * 1024 * 1024) | ||
#endif | ||
|
||
// Drive high to force power supply into PWM mode (lower ripple on 3V3 at light loads) | ||
#define PICO_SMPS_MODE_PIN 23 | ||
|
||
#ifndef PICO_RP2040_B0_SUPPORTED | ||
#define PICO_RP2040_B0_SUPPORTED 1 | ||
#endif | ||
|
||
#endif |
Binary file added
BIN
+3.09 MB
...niBreakoutBoardUSBPassthrough/assets/RP2040MiniBreakoutBoardUSBPassthrough.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.