-
Notifications
You must be signed in to change notification settings - Fork 324
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into PXP-Gamepad
- Loading branch information
Showing
62 changed files
with
673 additions
and
378 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
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
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
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,99 @@ | ||
/* | ||
* 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 "OSUMGP-RP2040" | ||
|
||
// Main pin mapping configuration | ||
// // GP2040 | Xinput | Switch | PS3/4/5 | Dinput | Arcade | | ||
#define GPIO_PIN_17 GpioAction::BUTTON_PRESS_UP // UP | UP | UP | UP | UP | UP | | ||
#define GPIO_PIN_13 GpioAction::BUTTON_PRESS_DOWN // DOWN | DOWN | DOWN | DOWN | DOWN | DOWN | | ||
#define GPIO_PIN_14 GpioAction::BUTTON_PRESS_RIGHT // RIGHT | RIGHT | RIGHT | RIGHT | RIGHT | RIGHT | | ||
#define GPIO_PIN_16 GpioAction::BUTTON_PRESS_LEFT // LEFT | LEFT | LEFT | LEFT | LEFT | LEFT | | ||
#define GPIO_PIN_09 GpioAction::BUTTON_PRESS_B1 // B1 | A | B | Cross | 2 | K1 | | ||
#define GPIO_PIN_08 GpioAction::BUTTON_PRESS_B2 // B2 | B | A | Circle | 3 | K2 | | ||
#define GPIO_PIN_07 GpioAction::BUTTON_PRESS_R2 // R2 | RT | ZR | R2 | 8 | K3 | | ||
#define GPIO_PIN_18 GpioAction::BUTTON_PRESS_L2 // L2 | LT | ZL | L2 | 7 | K4 | | ||
#define GPIO_PIN_06 GpioAction::BUTTON_PRESS_B3 // B3 | X | Y | Square | 1 | P1 | | ||
#define GPIO_PIN_05 GpioAction::BUTTON_PRESS_B4 // B4 | Y | X | Triangle | 4 | P2 | | ||
#define GPIO_PIN_03 GpioAction::BUTTON_PRESS_R1 // R1 | RB | R | R1 | 6 | P3 | | ||
#define GPIO_PIN_21 GpioAction::BUTTON_PRESS_L1 // L1 | LB | L | L1 | 5 | P4 | | ||
#define GPIO_PIN_22 GpioAction::BUTTON_PRESS_S1 // S1 | Back | Minus | Select | 9 | Coin | | ||
#define GPIO_PIN_02 GpioAction::BUTTON_PRESS_S2 // S2 | Start | Plus | Start | 10 | Start | | ||
#define GPIO_PIN_19 GpioAction::BUTTON_PRESS_L3 // L3 | LS | LS | L3 | 11 | LS | | ||
#define GPIO_PIN_10 GpioAction::BUTTON_PRESS_R3 // R3 | RS | RS | R3 | 12 | RS | | ||
#define GPIO_PIN_15 GpioAction::BUTTON_PRESS_A1 // A1 | Guide | Home | PS | 13 | ~ | | ||
#define GPIO_PIN_20 GpioAction::BUTTON_PRESS_A2 // A2 | ~ | Capture | ~ | 14 | ~ | | ||
|
||
|
||
// Setting GPIO pins to assigned by add-on | ||
// | ||
#define GPIO_PIN_00 GpioAction::ASSIGNED_TO_ADDON // I2C SDA | ||
#define GPIO_PIN_01 GpioAction::ASSIGNED_TO_ADDON // I2C SCL | ||
#define GPIO_PIN_11 GpioAction::ASSIGNED_TO_ADDON // USB D+ | ||
#define GPIO_PIN_12 GpioAction::ASSIGNED_TO_ADDON // USB D- | ||
#define GPIO_PIN_25 GpioAction::ASSIGNED_TO_ADDON // On-board LED | ||
#define GPIO_PIN_26 GpioAction::ASSIGNED_TO_ADDON // ADC1 X | ||
#define GPIO_PIN_27 GpioAction::ASSIGNED_TO_ADDON // ADC2 X | ||
#define GPIO_PIN_28 GpioAction::ASSIGNED_TO_ADDON // ADC1 Y | ||
#define GPIO_PIN_29 GpioAction::ASSIGNED_TO_ADDON // ADC2 Y | ||
|
||
|
||
// 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 | | ||
|
||
|
||
// J4 - I2C | ||
// SparkFun Micro OLED Breakout recommended | ||
#define HAS_I2C_DISPLAY 1 | ||
#define I2C0_ENABLED 1 | ||
#define DISPLAY_I2C_ADDR 0x3D | ||
#define I2C0_PIN_SDA 0 | ||
#define I2C0_PIN_SCL 1 | ||
|
||
|
||
// J3 - USB Passthrough | ||
#define USB_PERIPHERAL_ENABLED 1 | ||
#define USB_PERIPHERAL_PIN_DPLUS 11 | ||
#define USB_PERIPHERAL_PIN_ORDER 0 | ||
|
||
|
||
// On-board LED settings | ||
#define BOARD_LED_ENABLED 1 | ||
#define BOARD_LED_TYPE ON_BOARD_LED_MODE_MODE_INDICATOR | ||
|
||
|
||
// Analog settings | ||
#define ANALOG_INPUT_ENABLED 1 | ||
#define ANALOG_ADC_1_VRX 26 | ||
#define ANALOG_ADC_1_VRY 28 | ||
#define ANALOG_ADC_2_VRX 27 | ||
#define ANALOG_ADC_2_VRY 29 | ||
|
||
#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,5 @@ | ||
# GP2040 Configuration for the OSUMGP-RP2040 | ||
|
||
![OSUMGP-RP2040](assets/osumgp-rp2040_0.4b-real.jpg) | ||
|
||
Configuration for the [OSUMGP-RP2040](https://github.com/NickGuyver/OSUMGP-RP2040). PCB reference design for building a game pad with an embedded RP2040 running GP2040-CE firmware. |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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
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
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
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
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
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
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,20 @@ | ||
#ifndef _ADS1219DEVICE_H_ | ||
#define _ADS1219DEVICE_H_ | ||
|
||
#include <vector> | ||
|
||
#include "i2cdevicebase.h" | ||
#include "ADS1219.h" | ||
|
||
class ADS1219Device : public ADS1219, public I2CDeviceBase { | ||
public: | ||
// Constructor | ||
ADS1219Device() {} | ||
ADS1219Device(PeripheralI2C *i2cController, uint8_t addr = 0x40) : ADS1219(i2cController, addr) {} | ||
|
||
std::vector<uint8_t> getDeviceAddresses() const override { | ||
return {0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F}; | ||
} | ||
}; | ||
|
||
#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
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
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
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
Oops, something went wrong.