Recently
StanfordRoboticsClub shared on Github a collection of methods using a
DualShock 4 PS4 Controller with
UDPComms, which is a Python library to enable communication between different processes over a network using
UDP (User Datagram Protocol) for developers.
Download:
JoystickUDP-master.zip /
GIT
According to the
README.md it currently works in Python, but should be relatively simple to extend to C to run on embedded devices like Arduino.
Rover
The library also comes with the rover command that can be used to interact with the messages manually.
| rover peek port |
print messages sent on port port |
| rover poke port rate |
send messages to port once every rate milliseconds. Type message in json format and press return |
There are more commands used for starting and stopping services described in
THIS repo.
Known issues:
Macs have issues sending large messages. They are fine receiving them. I think it is related to
THIS issue. I wonder does it work on Linux by chance (as the packets happen to be in order) but so far we didn't have issues.
this set of files should produce the necessary keys for the GP2040-CE PS4 Mode. You can quickly find it via google search but i've decided to put it here for you to use. This will make the device be able to skip 8 minute timeout
- ds4-master-custom-lJArAqXq.zip (789.79 KB - includes ds4sig.bin, jedi_crypto.py, jedi_crypto-mod.py, jedi_flash-Aug_3_2013.bin, jedi_flash, Aug_3_2013.idc, jedi_tool.py and ps4nonce.bin via GodzIvan)
emulating ps4 controller without 8...