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.
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
From the included README.md:
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.
Command | Description |
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 |
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)
From the included README.md:
Code:
# ds4
Tools for working with DualShock 4
With fw of controller, it is possible to do interesting things like:
* flash custom fw to controller
* learn how all aspects of controller works
* implement native pairing on other host devices
* present custom hardware as "official" DS4 to PS4
- GodzIvan -
Working ????