nefarius / DsHidMini

Virtual HID Mini-user-mode-driver for Sony DualShock 3 Controllers
https://docs.nefarius.at/projects/DsHidMini/
BSD 3-Clause "New" or "Revised" License
1.27k stars 55 forks source link

Default output report LED effects are incorrect #365

Open nefarius opened 6 months ago

nefarius commented 6 months ago

This is still working fine for official Sony hardware, however quite a bit of aftermarket devices in my recently acquired stash display a weirdly mangled charging effect like shown below:

https://github.com/nefarius/DsHidMini/assets/286631/fad0fd49-f0dd-4adc-a421-a30dc8102e11

With the following output report example...

{
  "Instructions": [
    {
      "OutputReport": "000000010000000000FF77000002000000000000000000000000000000FF00010001000000000000000000000000000000",
      "SendXTimes": 1,
      "RepeatDelay": 1,
      "WaitPeriodMs": 1000
    },
    {
      "OutputReport": "000000010000000000FF7700000400000000000000000000FF000100010000000000000000000000000000000000000000",
      "SendXTimes": 1,
      "RepeatDelay": 1000,
      "WaitPeriodMs": 1000
    },
    {
      "OutputReport": "000000010000000000FF770000080000000000FF0001000100000000000000000000000000000000000000000000000000",
      "SendXTimes": 1,
      "RepeatDelay": 1000,
      "WaitPeriodMs": 1000
    },
    {
      "OutputReport": "000000010000000000FF77000010FF00010001000000000000000000000000000000000000000000000000000000000000",
      "SendXTimes": 1,
      "RepeatDelay": 1000,
      "WaitPeriodMs": 1000
    }
  ]
}

...the effects are displayed properly:

https://github.com/nefarius/DsHidMini/assets/286631/e2216a18-5694-47f4-a725-ce1501af8b4a

Fixed example provided by @Kanuan

Details of the controller under test can be found here.

nefarius commented 5 months ago

Users reported that the CECHZCE A1 can be affected (and fixed) as well:

image