Open dwilliss opened 3 weeks ago
mmm...
LED and touch are supported in DualShock4.
And some clones support those features, but others don't.
I think you might have one of those clones that don't support LED and/or touchpad.
But you can try connecting the controller to a Linux (or Windows) machine via Bluetooth. Can you control the mouse from the touchpad ?
I just tried that (Windows). Clicking the "home" button on the controller brings up the Steam client. Windows doesn't see it as a mouse, but the Steam client has a "Test Device Inputs" option. That seems to see the touchpad just fine. There's also an option to change the LED color which does nothing. So that must not be implemented on this one.
If bluepad32 was implemented as an Arduino library, I know I could go into the library folder and insert some debugging print statements to see what's going on. I'm not sure how to do that with this though because it seems to be installed as pre-compiled binaries in the Arduino IDE and I don't know how to build them. If one of your doc files tells how to do that, I can try messing with it this weekend and see what actually comes back.
yes, I thought of decoupling bluepad32 for the "esp32 + bluepad32 boards" for this scenario. I might do it some day.
In the meantime you can play with the esp32 example (requires that you install esp-idf) and you can modify bluepad32 code.
https://github.com/ricardoquesada/bluepad32/tree/main/examples/esp32
alternative, I might be able to look at the controller. Here are the instructions:
https://bluepad32.readthedocs.io/en/latest/FAQ/#could-you-add-support-for-my-unsupported-controller
What happened?
I don't know if this is a bug, or a not-completely implemented feature or if this Dualshock 4 knock-off is just garbage. Probably the latter, but thought I'd ask before I spend money on an official controller.
I can get responses back from everything on the thing except the touch pad. Looking at the code, it looks like it should give me
deltaX()
anddeltaY()
values as well as a button values when clicked, but it doesn't respond. Also, thesetColorLED
doesn't seem to do anything.I'm using Bluepad32 version 4.1.0 which is what it gave me when I dowloaded it from the Arduino IDE yesterday. I don't know if this is meaningful, but the controller reports VendorID 0x054c, Product ID 0x09cc, flags = 0x0005
I also dug through the parser code for ds4 to see why the 2 buttons on the bottom of the controller weren't supported. They're M1 and M2. It turns out they're macro buttons that you can assign to combinations of other buttons.
I have to say though that this package is better than the PS4Controller Arduino library which refused to pair at all, even after following their convoluted instructions to manually set the bluetooth address of the ESP32 on the controller. Yours just pairs the way you'd expect.
Bluepad32 Version
Other
Bluepad32 version custom
Version 4.1.0 which isn't on your dropdown list. This is the version the Arduino IDE gave me when I installed it.
Bluepad32 Platform
Arduino IDE
Platform version
Version: 2.3.3 Date: 2024-09-25T09:41:18.242Z CLI Version: 1.0.4
Controller
A Dualshock 4 clone purchased off Amazon
Microcontroller
ESP32
Microcontroller board
Adafruit ESP32 Feather V2
OS
Windows
Relevant log output
No response
Relevant sketch