Issues with Picade joystick


#1

Hi there,

I bought my Picade cabinet few days ago and built it together.
First issue I had was the display wouldn’t work , but I found my way around changing the config.text .
Now the Picade Joystick and buttons only work in the Retropie menu and refuse to work in Retroarch menu and in all emulators.
Basically I can’t play any games. I spent all day reading the forum and tried to update the pcb board’s firmware through running the updater in Picade-Sketch (and chosen the recommended option) etc. etc., but I can’t see any changes. When updating controls in Retropie ,the Picade is still recognised as keyboard, not joypad. I then read about rebinding Picade controls and using Picade.py(?) , how do I do that? Please explain all steps, as I am new to this.
What else do I have to do to fix this ?


#2

Sorry your post has gone unanswered for so long- I was hoping one of the Picade gurus on this forum would pick it up, since I don’t get much time to play with a Picade/RetroPie so my expertise is very limited!

You could try whipping up a quick python script to switch your Picade PCB into Gamepad mode.

Try running sudo nano setuppicade.py and filling the file with this content:

import serial
picade = serial.Serial('/dev/ttyACM0',9600,timeout=1.0)
picade.write("g")
print(picade.readline().strip())
picade.write("s")
print(picade.readline().strip())

Save by pressing Ctrl+X, then Y, and enter to confirm.

And then run with sudo python setuppicade.py


#3

Hello Gadgetoid,

thanks for your reply.
I have run the code and now the joystick and buttons are recognised as gamepad.
Now in Retropie’s options I have configured the controls and they do work properly in menus.Once I am in the emulators, all controls are all over the place.
I then went into Retroarch to try and configure controls bindings from there, but once done ,they still are all wrong in all emulators.
Am I missing something here…? do we need to configure Retroarch cfg in another way. ?
I am still lost with this setting up…

Thanks,
Maurizio


#4

From what I understand, RetroPi should handle passing the button configuration to emulators, and it should “Just work”. It’s a pretty big and complicated tangle web of configuration files, so when it goes awry it’s a nuisance to sort out. It might be worth re-imaging your card, if you’ve not spent too much time preparing it, and starting from scratch.

I could have sworn I saw people with similar problems on these forums before, but I can’t seem to dig up the old threads!


#5

I found this in the forum and it is exactly what I am experiencing :

Under the udev input driver, when Emulationstation binds the buttons, the configuration that is passed to Retroarch is wrong. The buttons behave as they should in Emulationtation, but once any of the emulator cores launches, the button mapping is wonky. The joystick is correct, but the configuration in Retroarch assumes that the button layout in udev mode is as follows:

1 (Y button) = 0
2 (X button) = 1
3 (L button) = 2
4 (B button) = 3
5 (A button) = 4
6 (R button) = 5
Select/Coin = 6
Start = 7

In actuality, the Picade buttons ACTUALLY send the following inputs when using the udev driver:

1 (Y button) = 6
2 (X button) = 7
3 (L button) = 8
4 (B button) = 9
5 (A button) = 10
6 (R button) = 11
Select/Coin = 12
Start = 13

So the fix for getting the Picade working in udev mode is to manually edit the Retroarch joypad config file, /opt/retropie/configs/all/retroarch-joypads/ArduinoLLCArduinoLeonardo.cfg, and then manually changing the button mappings to use the above numbering.

Now I am using udev input driver and I tried to manually change the cfg file to what it says ,but still no good results…
Any suggestions ?… at the moment I still can’t play any games.