FeralAI / GP2040

Gamepad firmware for Raspberry Pi Pico and other RP2040 microcontrollers supporting Nintendo Switch, XInput and DirectInput
https://gp2040.info
MIT License
558 stars 124 forks source link

Layout overhaul and initial splashscreen support #58

Open UntrustedRoot opened 2 years ago

UntrustedRoot commented 2 years ago

This PR add several new layouts and includes initial support for a splash screen.

This was originally planned as a smaller PR that spiralled out of control.

Let me know about anything you need changed, scrapped, or added. I could use a little bit of help testing these changes against different setups.

Problems with this PR

Layouts changes

Layouts can be set using BUTTON_LAYOUT and BUTTON_LAYOUT_RIGHT in BoardConfig.h, check enums.h

Splash screen addition

Splash modes can be set using SPLASH_MODE in BoardConfig.h.

UntrustedRoot commented 2 years ago

Just adding a few things I forgot to put in the PR post.

The above issues are really cosmetic and do not affect the function of this PR. The second issue needs to be corrected before I can test against smaller and larger screens. Any testing on the PR as is would be appreciated as my setup doesn't reflect most GP2040 users.

TheTrainGoes commented 1 year ago

Hi @UntrustedRoot,

We are looking to keep the GP2040 project alive over on the Community Edition of GP2040: https://github.com/OpenStickFoundation/GP2040-CE

I tried to compile your changes but am getting an error on SPLASH_MODE.

Would love to chat further about this as your changes are fantastic!

TheTrainGoes commented 1 year ago

Update - Got it compiled. For those that might be looking at this there is no included BoardConfig.h so you will need to add something for SPLASH_MODE and BUTTON_LAYOUT_RIGHT into the normal PicoFightingBoard config file.

Example:

define SPLASH_MODE CLOSEINCUSTOM

define BUTTON_LAYOUT_RIGHT BUTTON_LAYOUT_ARCADEB

UntrustedRoot commented 1 year ago

Hey @TheTrainGoes, I have a few issues with my PR I'd like to discuss, it's a lack of experience issue and I don't want to be a bother. I also have something else I'd like to talk to you about that I cannot put here (it's a secret. shhhhh....)

Do you mind if I PM you on Discord to discuss? I don't like just showing up in your PMs unannounced.

TheTrainGoes commented 1 year ago

Hey @UntrustedRoot , please do!

TheTrainGoes commented 1 year ago

Hey @UntrustedRoot not sure if you sent anything but I have not gotten a request on Discord. I am listed there as TheTrain#6755

UntrustedRoot commented 1 year ago

I will be porting/rebuilding this PR for GP2040-CE over here: https://github.com/FBUFS/GP2040-CE/tree/oled-CE GitHub doesn't let you fork a fork that you've forked before so I had to make an org to keep these side by side. Once the new PR is merged into GP2040-CE I'll nuke both forks and start fresh.