Files
speedypotato_Pico-Game-Cont…/README.md
T

3.2 KiB

Pico-Game-Controller

This branch was developed with Speedy Lab's custom pocket IIDX in mind. Capable of handling 11 buttons, 11 LEDs, 1 WS2812B RGB strip, and 1 encoder. Note: 12 buttons/LEDs are reported but B8 should probably not be used (https://github.com/veroxzik/arduino-konami-spoof)

Demo of this firmware running on Pocket SDVX Pico v4, purchasable at https://discord.gg/MmuKd73XbY

Pocket SDVX Pico

Important!! Please edit pico-sdk\src\rp2_common\hardware_xosc\include\hardware\xosc.h in your pico-sdk folder and set #define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64

Currently working/fixed:

  • Gamepad mode - default boot mode
  • NKRO Keyboard & Mouse Mode - hold first button(gpio4) to enter kb mode
  • HID LEDs with Reactive LED fallback
  • ws2812b rgb on second core
  • 2 ws2812b hid descriptor zones
  • sdvx/iidx spoof - Tested on EAC - checkout branches release/pocket-sdvx-pico or release/pocket-iidx
  • 1000hz polling
  • Reversable Encoders with debouncing
  • Switch debouncing
  • Switch and LED pins are now staggered for easier wiring
  • Fix 0-~71% encoder rollover in gamepad mode, uint32 max val isn't divisible evenly by ppr*4 for joystick - thanks friends
  • HID LEDs now have labels, thanks CrazyRedMachine
  • refactor ws2812b into a seperate file for cleaner code & implement more RGB modes (added turbocharger mode) - hold second button (gpio 6) to swap to turbocharger mode; hold 9th button (gpio 20) to turn off RGB
  • refactor debouncing algorithms into separate files for cleaner code

TODO:

How to Use:

  • For basic flashing, see README in build_uf2
  • Otherwise, setup the C++ environment for the Pi Pico as per https://datasheets.raspberrypi.org/pico/getting-started-with-pico.pdf
  • Build pico-examples directory once to ensure all the tinyusb and other libraries are there. You might have to move the pico-sdk folder into pico-examples/build for it to play nice.
  • Move pico-sdk back outside to the same level directory as Pico-Game-Controller.
  • Open Pico-Game-Controller in VSCode(assuming this is setup for the Pi Pico) and see if everything builds.
  • Tweakable parameters are in controller_config.h

Thanks to: