Page 1 of 1
RS2 Pro psp3000 joystick issues
Posted: Mon 6 Apr 2020 16:48
by jutleys
Hi Pierre firstly great job on the firmware I have a rs2 pro with joystick but i have used the psp3000 joystick as pierre said it was compatible. At first nothing would work for me then i noticed your newer firmware for joystick pro versions released on 3rd april Now in desktop mode it work but up & down axis are reversed left & right are fine but the joystick does not work in anything else when i started the configuration tool in emulation station it will not recognize the joystick movements to configure them. So i can test for you for those who want to use the psp3000 joystick it seems to work but has the issues above then again someone in my discord has the soldered joystick version and he has same problem as me but his up down axis in desktop are fine. Any help would be appreciated to try and get the issues resolved thanks Pierre.
This was the firmware i flashed
http://retrorangepi.download/RetrOrangeP...ick.img.7z
Re: Thread Modes RS2 Pro Joystick issues psp3000 joystick
Posted: Mon 6 Apr 2020 16:49
by jutleys
I hope Pierre can add psp3000 joystick support looks like there is some differences in the drivers .I feel the psp3000 joystick is more comfortable to use sits slightly higher than the standard one its perfect if i can get it to work properly. A huge thanks to Pierre for sending this sample device out very appreciated

Re: RS2 Pro Joystick issues psp3000 joystick
Posted: Mon 6 Apr 2020 17:12
by jutleys
Hi Pierre just a update the joystick does work in games now but the only issue is the up down axis are reversed is there anyway to fix this in settings?
These joystick are quite cheap on ebay link Analog Joystick Control stick PSP 3000 3003 3004 Replacement
https://ebay.us/9QsCiQ via @eBay_UK
Re: RS2 Pro psp3000 joystick issues
Posted: Mon 20 Apr 2020 11:28
by Admin
Yes you can update the gamepad driver script in home/pi/retropiemenu/retrorangepi/gpio/drivers/tz_gpio_controller.py (or something like that I wrote path from memory)
Joystick part is line 313-329
Code: Select all
if (joystick_LR > (VREF/2 + DZONE)) or (joystick_LR < (VREF/2 - DZONE)):
if (joystick_LR > VREF):
if (joystick_LR < JOYOFFVAL):
gamepad.emit(uinput.ABS_X, 0 )
else:
gamepad.emit(uinput.ABS_X, VREF - joystick_LR )
else:#Center the sticks if within deadzone
gamepad.emit(uinput.ABS_X, VREF/2)
if (joystick_UD > (VREF/2 + DZONE)) or (joystick_UD < (VREF/2 - DZONE)):
if (joystick_UD > VREF):
if (joystick_UD < JOYOFFVAL):
gamepad.emit(uinput.ABS_Y, VREF )
else:
gamepad.emit(uinput.ABS_Y, joystick_UD )
else:#Center the sticks if within deadzone
gamepad.emit(uinput.ABS_Y, VREF/2)
To replace up and down axis you can replace this block by this one :
Code: Select all
if (joystick_LR > (VREF/2 + DZONE)) or (joystick_LR < (VREF/2 - DZONE)):
if (joystick_LR > VREF):
if (joystick_LR < JOYOFFVAL):
gamepad.emit(uinput.ABS_X, 0 )
else:
gamepad.emit(uinput.ABS_X, VREF - joystick_LR )
else:#Center the sticks if within deadzone
gamepad.emit(uinput.ABS_X, VREF/2)
if (joystick_UD > (VREF/2 + DZONE)) or (joystick_UD < (VREF/2 - DZONE)):
if (joystick_UD > VREF):
if (joystick_UD < JOYOFFVAL):
gamepad.emit(uinput.ABS_Y, 0 )
else:
gamepad.emit(uinput.ABS_Y, VREF - joystick_UD )
else:#Center the sticks if within deadzone
gamepad.emit(uinput.ABS_Y, VREF/2)