-
Notifications
You must be signed in to change notification settings - Fork 356
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Fortinbra
committed
Jan 13, 2025
1 parent
041c2ab
commit 256c32e
Showing
5 changed files
with
171 additions
and
0 deletions.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,140 @@ | ||
/* | ||
* SPDX-License-Identifier: MIT | ||
* SPDX-FileCopyrightText: Copyright (c) 2024 OpenStickCommunity (gp2040-ce.info) | ||
*/ | ||
|
||
// pico_cmake_set PICO_PLATFORM=rp2350 | ||
// pico_cmake_set PICO_CYW43_SUPPORTED = 1 | ||
|
||
#ifndef PICOPLUS2_BOARD_CONFIG_H_ | ||
#define PICOPLUS2_BOARD_CONFIG_H_ | ||
|
||
#include "enums.pb.h" | ||
#include "class/hid/hid.h" | ||
|
||
#define BOARD_CONFIG_LABEL "PicoPlus2" | ||
|
||
#ifndef PICO_FLASH_SIZE_BYTES | ||
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024) | ||
#endif | ||
#ifndef PICO_RP2350_A2_SUPPORTED | ||
#define PICO_RP2350_A2_SUPPORTED 1 | ||
#endif | ||
// gpio pin to power up the cyw43 chip | ||
#ifndef CYW43_DEFAULT_PIN_WL_REG_ON | ||
#define CYW43_DEFAULT_PIN_WL_REG_ON 32 | ||
#endif | ||
|
||
// gpio pin for spi data out to the cyw43 chip | ||
#ifndef CYW43_DEFAULT_PIN_WL_DATA_OUT | ||
#define CYW43_DEFAULT_PIN_WL_DATA_OUT 35 | ||
#endif | ||
|
||
// gpio pin for spi data in from the cyw43 chip | ||
#ifndef CYW43_DEFAULT_PIN_WL_DATA_IN | ||
#define CYW43_DEFAULT_PIN_WL_DATA_IN 35 | ||
#endif | ||
|
||
// gpio (irq) pin for the irq line from the cyw43 chip | ||
#ifndef CYW43_DEFAULT_PIN_WL_HOST_WAKE | ||
#define CYW43_DEFAULT_PIN_WL_HOST_WAKE 35 | ||
#endif | ||
|
||
// gpio pin for the spi clock line to the cyw43 chip | ||
#ifndef CYW43_DEFAULT_PIN_WL_CLOCK | ||
#define CYW43_DEFAULT_PIN_WL_CLOCK 34 | ||
#endif | ||
|
||
// gpio pin for the spi chip select to the cyw43 chip | ||
#ifndef CYW43_DEFAULT_PIN_WL_CS | ||
#define CYW43_DEFAULT_PIN_WL_CS 33 | ||
#endif | ||
|
||
#ifndef CYW43_WL_GPIO_COUNT | ||
#define CYW43_WL_GPIO_COUNT 3 | ||
#endif | ||
// Main pin mapping Configuration | ||
// // GP2040 | Xinput | Switch | PS3/4/5 | Dinput | Arcade | | ||
#define GPIO_PIN_02 GpioAction::BUTTON_PRESS_UP // UP | UP | UP | UP | UP | UP | | ||
#define GPIO_PIN_03 GpioAction::BUTTON_PRESS_DOWN // DOWN | DOWN | DOWN | DOWN | DOWN | DOWN | | ||
#define GPIO_PIN_04 GpioAction::BUTTON_PRESS_RIGHT // RIGHT | RIGHT | RIGHT | RIGHT | RIGHT | RIGHT | | ||
#define GPIO_PIN_05 GpioAction::BUTTON_PRESS_LEFT // LEFT | LEFT | LEFT | LEFT | LEFT | LEFT | | ||
#define GPIO_PIN_06 GpioAction::BUTTON_PRESS_B1 // B1 | A | B | Cross | 2 | K1 | | ||
#define GPIO_PIN_07 GpioAction::BUTTON_PRESS_B2 // B2 | B | A | Circle | 3 | K2 | | ||
#define GPIO_PIN_08 GpioAction::BUTTON_PRESS_R2 // R2 | RT | ZR | R2 | 8 | K3 | | ||
#define GPIO_PIN_09 GpioAction::BUTTON_PRESS_L2 // L2 | LT | ZL | L2 | 7 | K4 | | ||
#define GPIO_PIN_10 GpioAction::BUTTON_PRESS_B3 // B3 | X | Y | Square | 1 | P1 | | ||
#define GPIO_PIN_11 GpioAction::BUTTON_PRESS_B4 // B4 | Y | X | Triangle | 4 | P2 | | ||
#define GPIO_PIN_12 GpioAction::BUTTON_PRESS_R1 // R1 | RB | R | R1 | 6 | P3 | | ||
#define GPIO_PIN_13 GpioAction::BUTTON_PRESS_L1 // L1 | LB | L | L1 | 5 | P4 | | ||
#define GPIO_PIN_16 GpioAction::BUTTON_PRESS_S1 // S1 | Back | Minus | Select | 9 | Coin | | ||
#define GPIO_PIN_17 GpioAction::BUTTON_PRESS_S2 // S2 | Start | Plus | Start | 10 | Start | | ||
#define GPIO_PIN_18 GpioAction::BUTTON_PRESS_L3 // L3 | LS | LS | L3 | 11 | LS | | ||
#define GPIO_PIN_19 GpioAction::BUTTON_PRESS_R3 // R3 | RS | RS | R3 | 12 | RS | | ||
#define GPIO_PIN_20 GpioAction::BUTTON_PRESS_A1 // A1 | Guide | Home | PS | 13 | ~ | | ||
#define GPIO_PIN_21 GpioAction::BUTTON_PRESS_A2 // A2 | ~ | Capture | ~ | 14 | ~ | | ||
|
||
// Setting GPIO pins to assigned by add-on | ||
// | ||
#define GPIO_PIN_00 GpioAction::ASSIGNED_TO_ADDON | ||
#define GPIO_PIN_01 GpioAction::ASSIGNED_TO_ADDON | ||
#define GPIO_PIN_15 GpioAction::ASSIGNED_TO_ADDON | ||
#define GPIO_PIN_28 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 TURBO_ENABLED 1 | ||
#define GPIO_PIN_14 GpioAction::BUTTON_PRESS_TURBO | ||
#define TURBO_LED_PIN 15 | ||
|
||
#define BOARD_LEDS_PIN 28 | ||
#define LED_BRIGHTNESS_MAXIMUM 100 | ||
#define LED_BRIGHTNESS_STEPS 5 | ||
#define LED_FORMAT LED_FORMAT_GRB | ||
#define LEDS_PER_PIXEL 1 | ||
|
||
#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 | ||
#define LEDS_BUTTON_A1 12 | ||
#define LEDS_BUTTON_L3 13 | ||
#define LEDS_BUTTON_R3 14 | ||
#define LEDS_BUTTON_A2 15 | ||
|
||
#define HAS_I2C_DISPLAY 1 | ||
#define I2C0_ENABLED 1 | ||
#define I2C0_PIN_SDA 0 | ||
#define I2C0_PIN_SCL 1 | ||
#define BUTTON_LAYOUT BUTTON_LAYOUT_STICKLESS | ||
#define BUTTON_LAYOUT_RIGHT BUTTON_LAYOUT_STICKLESSB | ||
|
||
#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,3 @@ | ||
#add_executable(Pico | ||
#${CMAKE_SOURCE_DIR}/src/main.cpp) | ||
#link_libraries(${PROJECT_NAME}) |
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,28 @@ | ||
# GP2040 Configuration for Raspberry Pi Pico | ||
|
||
![Pin Mapping](assets/PinMapping.png) | ||
|
||
Basic pin setup for a stock Raspberry Pi Pico. Combine with a simple GPIO breakout/screw terminal board for an easy DIY arcade stick. | ||
|
||
## Main Pin Mapping Configuration | ||
|
||
| RP2040 Pin | Action | GP2040 | Xinput | Switch | PS3/4/5 | Dinput | Arcade | | ||
|------------|-------------------------------|--------|--------|--------|----------|--------|--------| | ||
| GPIO_PIN_02| GpioAction::BUTTON_PRESS_UP | UP | UP | UP | UP | UP | UP | | ||
| GPIO_PIN_03| GpioAction::BUTTON_PRESS_DOWN | DOWN | DOWN | DOWN | DOWN | DOWN | DOWN | | ||
| GPIO_PIN_04| GpioAction::BUTTON_PRESS_RIGHT| RIGHT | RIGHT | RIGHT | RIGHT | RIGHT | RIGHT | | ||
| GPIO_PIN_05| GpioAction::BUTTON_PRESS_LEFT | LEFT | LEFT | LEFT | LEFT | LEFT | LEFT | | ||
| GPIO_PIN_06| GpioAction::BUTTON_PRESS_B1 | B1 | A | B | Cross | 2 | K1 | | ||
| GPIO_PIN_07| GpioAction::BUTTON_PRESS_B2 | B2 | B | A | Circle | 3 | K2 | | ||
| GPIO_PIN_08| GpioAction::BUTTON_PRESS_R2 | R2 | RT | ZR | R2 | 8 | K3 | | ||
| GPIO_PIN_09| GpioAction::BUTTON_PRESS_L2 | L2 | LT | ZL | L2 | 7 | K4 | | ||
| GPIO_PIN_10| GpioAction::BUTTON_PRESS_B3 | B3 | X | Y | Square | 1 | P1 | | ||
| GPIO_PIN_11| GpioAction::BUTTON_PRESS_B4 | B4 | Y | X | Triangle | 4 | P2 | | ||
| GPIO_PIN_12| GpioAction::BUTTON_PRESS_R1 | R1 | RB | R | R1 | 6 | P3 | | ||
| GPIO_PIN_13| GpioAction::BUTTON_PRESS_L1 | L1 | LB | L | L1 | 5 | P4 | | ||
| GPIO_PIN_16| GpioAction::BUTTON_PRESS_S1 | S1 | Back | Minus | Select | 9 | Coin | | ||
| GPIO_PIN_17| GpioAction::BUTTON_PRESS_S2 | S2 | Start | Plus | Start | 10 | Start | | ||
| GPIO_PIN_18| GpioAction::BUTTON_PRESS_L3 | L3 | LS | LS | L3 | 11 | LS | | ||
| GPIO_PIN_19| GpioAction::BUTTON_PRESS_R3 | R3 | RS | RS | R3 | 12 | RS | | ||
| GPIO_PIN_20| GpioAction::BUTTON_PRESS_A1 | A1 | Guide | Home | PS | 13 | ~ | | ||
| GPIO_PIN_21| GpioAction::BUTTON_PRESS_A2 | A2 | ~ | Capture| ~ | 14 | ~ | |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.