Ik dacht iets leuks te doen voor de kinderen. Ik heb een RPI4 over en 2 PS2 controllers (werkend, van een werkende PS2). Dus dacht ik; leuk een retropi voor de kinderen, met die ps2 controllers, papa is een held!!
Helaas had deze held z'n sokken klaarblijkelijk nog aan, want wat ik ook doe, ik krijg het niet werkende
Voor de duidelijkheid; ik zoek geen USB convertors. Ik wil de PS2 controllers rechtstreeks op de GPIO van de PI4 aansluiten, dit zou volgens de documentatie moeten kunnen.
Eerst de RPI4 geinstalleerd, retropi erop, dat werkt allemaal prima. Via het retropie-setup script de gamecon_gpio_rpi driver geinstalleerd. Deze wordt ook gezien door retropi; emulationstation meld '1 gamepad detected'.
So far so good. Nu de hardware. In principe kun je dit met simpele jumperkabels tussen controller en pi aansluiten. Ik heb de pinout voor de RPI4 en de pinout voor de PS2 controller gebruikt:

De documentatie van de driver zegt dit:
e.e.a. aangesloten zoals hoort, in /etc/modprobe.d/gamecon.conf de juiste config gezet, en de module proben. Dat werkt, en dan geeft Emulationstation ook aan een gamepad gevonden te hebben, echter deze werkt (dus) niet.
Ik heb de data pin op verschillende mogelijkeden geprobeert, niets werkt.
Modprobe zegt bv dit:
Ik heb het als volgt aangesloten:
Deze PS/2 controllers heb ik:

Ofwel, de dualshock PS2 controller. Deze hebben ook 'rumble' ,dat zou met deze aansluiting niet werken zo, dat is mij bekend, want die heeft 7v nodig op pin 3. Zonder dat zou het echter ook moeten werken.
Wat doe ik fout? is er iemand die dit werkende heeft?
Oh, op de pi heb ik SPI, I2C, serial en one-wire uitgezet.
Helaas had deze held z'n sokken klaarblijkelijk nog aan, want wat ik ook doe, ik krijg het niet werkende
Voor de duidelijkheid; ik zoek geen USB convertors. Ik wil de PS2 controllers rechtstreeks op de GPIO van de PI4 aansluiten, dit zou volgens de documentatie moeten kunnen.
Eerst de RPI4 geinstalleerd, retropi erop, dat werkt allemaal prima. Via het retropie-setup script de gamecon_gpio_rpi driver geinstalleerd. Deze wordt ook gezien door retropi; emulationstation meld '1 gamepad detected'.
So far so good. Nu de hardware. In principe kun je dit met simpele jumperkabels tussen controller en pi aansluiten. Ik heb de pinout voor de RPI4 en de pinout voor de PS2 controller gebruikt:

De documentatie van de driver zegt dit:
Verder maakt de documentatie gewag van een pull-up resistor. Ondanks dat de documentatie suggereert dat dat maar bij 2 mogelijk te gebruiken pinnen nodig is, haal ik uit googlen dat de data pin altijd een pulup naar 3.3v nodig heeft.3.4 PSX/PS2 pads
Rpi pin PSX controller pin
P1-01 (3.3V) ==== 5 (power/3.3V)
GPIO14 ---> 2 (command)
GPIO15 ---> 6 (select)
GPIO18 ---> 7 (clock)
GPIOXX <--- 1 (data)
P1-06 (GND) ==== 4 (ground)
GPIOXX is the independent data pin. See section 4 on how to select the correct
GPIO.
[..]
4.1 Configure pads
# modprobe gamecon_gpio_rpi map=<pad1/GPIO0>,<pad2/GPIO1>,<pad3/GPIO4>, \
# <pad4/GPIO7>,<pad5/GPIO2>,<pad6/GPIO3>
e.e.a. aangesloten zoals hoort, in /etc/modprobe.d/gamecon.conf de juiste config gezet, en de module proben. Dat werkt, en dan geeft Emulationstation ook aan een gamepad gevonden te hebben, echter deze werkt (dus) niet.
Ik heb de data pin op verschillende mogelijkeden geprobeert, niets werkt.
Modprobe zegt bv dit:
Maar als ik daarna jstest gebruik, ziet die niets aan activiteit.[ 2555.789211] input: PSX controller as /devices/virtual/input/input13
[ 2555.790710] GPIO4 configured for PSX controller data pin
Ik heb het als volgt aangesloten:
code:
1
2
3
4
5
6
7
| PS2 PI pin 5 (VCC) ---> 3.3v pin 4 (GND) --> GND pin 1 (DATA) --> GPIO4 (met 4.7k pullup naar 3.3v) pin 2(CMD) --> GPO14 pin 6(SEL) --> GPIO15 pin 7 (CLK) --> GPIO18 |
Deze PS/2 controllers heb ik:

Ofwel, de dualshock PS2 controller. Deze hebben ook 'rumble' ,dat zou met deze aansluiting niet werken zo, dat is mij bekend, want die heeft 7v nodig op pin 3. Zonder dat zou het echter ook moeten werken.
Wat doe ik fout? is er iemand die dit werkende heeft?
Oh, op de pi heb ik SPI, I2C, serial en one-wire uitgezet.