Skip to content
This repository has been archived by the owner on Feb 8, 2023. It is now read-only.

OLED layout overhaul and initial splashscreen support #44

Merged
merged 4 commits into from
Aug 15, 2022

Conversation

UntrustedRoot
Copy link

This was initially pushed here: FeralAI#58
Ported everything to community editions changes. This PR is at feature parity to the previous PR (plus a little surprise.)

Original PR text below:

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

  • Nothing here has been tested with the WebUI. I only built using pico-fighting-board and tested on a breadboard.
  • This might break leds.cpp and led support. I'm not setup to test this at this time. See lines 203-205 in leds.cpp
  • This might not respect your current settings if you used the ARCADE layout before
  • I have no business codding in C++, and I thank you for allowing me to contribute 😄

Layouts changes

  • Split the layouts into two halves, allowing for mix-and-match button and stick layouts.
  • Renamed ARCADE layout to UDLR
  • Removed buttons from ARCADE, HITBOX, and WASDB. Created ARCADEB, HITBOXB, and WASDB from removed button layouts
  • Replaced ARCADE with an 'animated' arcade stick.
  • Added the following layouts:
    • MIXBOX: WASD, but with keyboard style buttons
    • MAME: Keyboard style layout. More of a cosmetic layout for the display. 6 buttons.
    • VEWLIX
    • CAPCOM
    • CAPCOM6: CAPCOM, but 6 buttons
    • SEGA2P
    • NOIR8

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

Splash screen addition

  • Initial support, works but needs work
  • All splashes are hard coded to 7500ms
  • No WebUI support
  • Added the following splash modes:
    • STATICSPLASH: Display custom bitmap if it exists, GP2040 logo if it does not. Default to show off.
    • CLOSEIN: 'Animated' GP2040 logo
    • CLOSEINCUSTOM: CLOSEIN, but it shows the custom bitmap, if it exists.
    • NOSPLASH: No splash, no delay, all action.
  • Adds additional header file called bitmaps.h

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

Feature parity work: left and right layouts are working. splash is not setup yet.
Feature parity looks complete now. Needs more testing on all layouts.
BUTTON_LAYOUT_DANCEPADA and BUTTON_LAYOUT_DANCEPADB are back!
@arntsonl arntsonl merged commit 397e3cb into OpenStickFoundation:main Aug 15, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants