GP2040 Versions Save

Gamepad firmware for Raspberry Pi Pico and other RP2040 microcontrollers supporting Nintendo Switch, XInput and DirectInput

v0.4.3

2 years ago

It's about time for an updated release, don't ya think? Promoting the v0.4.3-beta.1 changes and added a few extras:

  • Added checksum to saved options
  • Added option to toggle D-pad Y-axis inversion (swap Up and Down buttons)
  • Added build for RP2040-powered Flatbox Rev 4
  • Fixed issue with web configurator locking up
  • Fixed rainbow static theme for Hitbox vs normal layouts
  • Reworked some LED themes and added a few more: PlayStation, Guilty Gear Type-B, Guilty Gear Type-C, Guilty Gear Type-E, Street Fighter 2
  • Changed order of LED themes when using LED Parameter Up/Down hotkeys
  • Updated RGB LED default values to show something without initial hotkey use
  • Removed automatic save for pin mapping when using default values

Adding the checksum should help when GP2040 gets into a locked options state from having corrupt data in the emulated EEPROM area of flash. The D-pad Y-axis inversion toggle is intended for Hitbox users that would like to use their controller in a more "normal" way for games like beat'em ups and shmups. The web configurator is more stable now, however there may still be some gremlins in there causing lockups. Please keep us posted if you have issues.

NOTE: The checksum addition will invalidate any current saved settings, and you will need to reconfigure any configuration that has been set via the web configurator after applying this update. Sorry for the inconvenience, but it's required to make the saved options feature more stable going forward.

Enjoy!!!

v0.4.3-beta.1

2 years ago

Testing out some fixes and new LED themes:

  • Fixed issue with web configurator locking up (at least fixed one issue causing it, there may be more)
  • Fixed rainbow static theme for Hitbox vs normal layouts
  • Reworked some LED themes and added a few more: PlayStation, Guilty Gear Type-B, Guilty Gear Type-C, Guilty Gear Type-E, Street Fighter 2
  • Changed order of LED themes when using LED Parameter Up/Down hotkeys

The LED order change may cause the wrong theme to be loaded on startup after updating. This is normal, just change back to the theme you like and it will persist as normal afterward.

v0.4.2

2 years ago

Couple bugfixes and more config options:

  • Fixed RGB LED color format not always being used when using non-default value
  • Fixed lighting of aux buttons when configured as part of the RGB LED chain
  • Added I2C display config page to web configurator

NOTE: There were some issues with saving and loading in v0.4.1. If you're having issues, please try this version.

v0.4.0

2 years ago

Changelog

  • Changed SOCD mode selection hotkey from L3 + R3 to A1 + S2 (a.k.a. HOME + START) for easier use on arcade sticks
  • Updated LEDs to save/load from storage
  • Added support for 128x64 I2C monochrome displays driven by SSH1306, SD1106 or SD1107
  • Updated and expanded the web configurator
    • Added firmware version check on main page (checks Github releases against version in firmware)
    • Added basic settings page (all mode selections)
    • Added LED configuration page (for setting up pin, # of LEDs, etc.)
    • Added a settings reset page
    • Added option to select button labels in the configurator
  • Add basic web configurator documentation

And some of the nerdy details:

  • Ported the OneBitDisplay library for display support
  • Added real HTTP POST support to lwIP webserver, instead of the bastardized CGI stuff from before
  • Integrated ArduinoJson library for some proper client/server data handling in the web configurator
  • Added Formik for client-side validation in the web configurator React app
  • Created a bunch of reusable React components for consistency (and that spiffy drag and drop editor for LED Order)
  • Added mock data server using Node + express for web configurator development without deploying to the MCU

v0.3.1

2 years ago
  • Added support for PWM player LEDs in XInput mode (Pico Fighting Board only)
  • Renamed build from OSFRD v1.5 to Crush Counter

v0.3.0

2 years ago

Added configuration mode that runs from a local webserver over USB. Hold Start (S2) on controller startup, then browse to http://192.168.7.1 from your computer. Only pin remapping and a few resource links are currently available for testing.

Just remember the Peter Parker principle when using the web configurator:

With great power there must also come great responsibility

Also various LED updates:

  • Rework LED handling to better support common fightstick layouts
  • Added options to adjust new LED parameters via hotkey.
  • Added LED change on-press

v0.2.1

2 years ago

Swapped dpad left and right pins on Pico config for easier fightstick lever wiring (#25)

v0.2.0

2 years ago

Updated input mode selection buttons (#24)

v0.1.0-alpha.3

2 years ago
  • Lots of LED backend updates, still more to come
  • Update Raspberry Pi Pico pinout for better fightstick wiring compatibility
  • Add test build for DURAL controller

v0.1.0-alpha.2

2 years ago

Added new build config for Pico Fighting Board.