GP2040
GP2040 copied to clipboard
Better support for analog inputs
GP2040 supports sending analog values in the USB reports, however there is no specific implementation around the use/handling of those analog inputs.
The RP2040 MCU supports 4 ADC channels, with the Pi Pico only making 3 available. Having 4 channels is enough for 2 full joysticks, and there are a few RP2040 boards out there that make all 4 channels available, such as the Sparkfun RP2040 Thing Plus. The Arduino Nano RP2040 Connect actually supports up to 8 ADC channels, which is enough for a full analog XInput implementation.
Need to add features such as options for enabling, deadzone calibration, and possibly some kind of auto calibration to avoid drift.
This may be better suited to the MPG library.
maybe use analogue multiplexer to sample multiple analogue inputs with only 1 or 2 ADCs
Hello, GP2040 is an amazing project! Thanks for all your work. Maybe multiplexer could have an impact on performance but it should work at all for no-fighting games. It would be perfect to get analog input to use analog joysticks. Even one for 2D games could be nice.
I have practically zero experience codin and my syntax is likely all wrong, so everything needs to be rewritten. But nevertheless, could this be a simple deadzone check in analog read after setting a shifted mean point of origin?
define Xy(x,y):
define Xy_deadzonecheck():
x = 0
y = ROOT(X(shift)^2 + y(shift)^2)
if deadzonecheck[x,y] =< 500:
x = 0
y = 0
elif deadzonecheck[x,y] > 500:
I hope the meaning gets through. Kind regards Jonas Olesen