Commit Graph

284 Commits

Author SHA1 Message Date
Travis Nickles
6f5b17ac37 Remove ui thread from unplug routine
Hotplug routine was starting before removal routine
was being started. No blocking was happening anyway
2018-08-20 04:35:41 -05:00
Travis Nickles
5a4ed6c440 Merge branch 'jay' into udpserver 2018-07-23 00:06:16 -05:00
Travis Nickles
a6e6b5279c Added unsafe back to sixaxis method 2018-07-22 02:52:42 -05:00
Travis Nickles
d1f124870f Revert "Use unsafe for accessing gyro and accel arrays"
This reverts commit e99e0afe17.
2018-07-22 01:23:16 -05:00
Travis Nickles
e6ac109616 Revert "Removed extra fixed block. Moved method call"
This reverts commit f906178b5b.
2018-07-22 01:22:42 -05:00
Travis Nickles
5c9aec9bd1 Revert "Lower latency buffer to 10 items"
This reverts commit 11c7f03244.
2018-07-22 01:22:13 -05:00
Travis Nickles
11c7f03244 Lower latency buffer to 10 items 2018-07-21 00:55:16 -05:00
Travis Nickles
f906178b5b Removed extra fixed block. Moved method call 2018-07-20 05:05:20 -05:00
Travis Nickles
e99e0afe17 Use unsafe for accessing gyro and accel arrays 2018-07-20 04:52:45 -05:00
Travis Nickles
239b9bceba Merge branch 'jay' into udpserver 2018-07-17 23:53:14 -05:00
Travis Nickles
f44cc21688 Minor tweak 2018-07-10 01:18:27 -05:00
Travis Nickles
1171a56a6b Make sure calib routine can be skipped on update serial routine
Might not be needed
2018-07-10 00:57:55 -05:00
Travis Nickles
cfa2bea4be Minor tweak for skipping calibration that .NET likes better
Related to issue #330.
2018-07-10 00:46:25 -05:00
Travis Nickles
8d4c7d0c57 Merge branch 'jay' into udpserver 2018-06-24 21:04:20 -05:00
Yuki-nyan
3ae386cb7c Add support for the Nacon Revolution Pro Controller 2 & disable SixAxis calibrations for Nacon controllers as a preliminary fix for broken support. 2018-06-23 22:04:29 +01:00
Travis Nickles
8989333cdc Add device info for a generic DS4 gamepad
Related to issue #312
2018-06-10 17:25:53 -05:00
Travis Nickles
25b2adc8e5 Corrected stick angles and stick dir unit values 2018-06-05 16:12:11 -05:00
Travis Nickles
a855e67b1a Use rs angle used for RY 2018-06-05 15:46:33 -05:00
Travis Nickles
b596d82573 Merge branch 'jay' into udpserver 2018-06-04 14:08:57 -05:00
Travis Nickles
3d5909a0e4 Change lookup device name for DS4 v2 audio device 2018-05-29 23:51:06 -05:00
Travis Nickles
5cd84ecb5a Added some const 2018-05-28 15:06:48 -05:00
Travis Nickles
d3fafbb32a Fix issue with USB sending constant output reports. Only copy relevant output bytes for BT.
Related to issue #290.
2018-05-28 03:09:55 -05:00
Travis Nickles
f11095fb5e Merge branch 'jay' into udpserver 2018-05-24 14:40:15 -05:00
Travis Nickles
a6b9fb0f4e Re-added unneeded call.
.NET causes performance degradation without it
2018-05-07 01:59:11 -05:00
Travis Nickles
d4ba92b5db Merge branch 'jay' of https://github.com/jdfeng/DS4Windows into jdfeng-jay 2018-05-07 00:06:05 -05:00
Travis Nickles
2f526fa60d Remove unneeded call 2018-05-06 21:31:18 -05:00
Travis Nickles
d925452ed8 Initial commit with UdpServer change 2018-05-06 02:10:49 -05:00
Travis Nickles
1c1a3f747c Fixed timeout disconnect 2018-05-06 01:59:45 -05:00
Travis Nickles
3137983b9c Removed sending output report when charging status changes for SONYWA
Another Windows 7 only bug. Old workaround might not
be needed anymore due to recent changes.
Related to issue #262
2018-04-22 01:47:40 -05:00
jdfeng
565c7b7ea4 Add VID + PID for Hori PS4 Mini 2018-04-21 19:52:46 -07:00
Travis Nickles
bfdb81edd0 Trim USB output report generation. Only grab audio volume when output report data changes.
Possibly related to issue #261
2018-04-21 16:44:49 -05:00
Travis Nickles
87182d3b60 Make sure to use sync write for SONYWA 2018-04-16 05:20:48 -05:00
Travis Nickles
dad4606558 Use synchronous write operations for USB and SONYWA connections again
Threaded version caused random device disconnects on Windows 7.
Related to issue #244
2018-04-16 05:03:47 -05:00
Travis Nickles
a9348d1488 Send output report to SONYWA controller when charging status changes 2018-04-13 05:33:59 -05:00
Travis Nickles
33aef3a4c6 Change sync output report method to add extra lock for recent changes 2018-04-01 00:36:33 -05:00
Travis Nickles
a1d0836091 Tweaks to improve hotplug detection
Check status of first output report before adding
device to the list
2018-03-25 23:36:46 -05:00
Travis Nickles
0410a27f51 Only copy touchpad packet data when changed 2018-03-18 18:32:47 -05:00
Travis Nickles
ace46f1011 Make sure to use profile lightbar color when syncing controller to Sony adapter
Related to issue #238
2018-03-17 03:10:39 -05:00
Travis Nickles
1b85b9bf6d Make sure to start imu data copying from proper offset 2018-03-07 00:16:55 -06:00
Travis Nickles
c56f1a7235 Fix accel data copying 2018-03-06 23:54:37 -06:00
Travis Nickles
37bb576aa6 Use unsafe memory pointers for copying imu data 2018-03-06 23:20:26 -06:00
Travis Nickles
60847ee54e Minor tweak 2018-03-06 18:01:57 -06:00
Travis Nickles
cc4bc7f05c Use output thread for USB connections again 2018-03-06 17:41:16 -06:00
Travis Nickles
63688885cd Use unsafe memory pointers for BT output report 2018-03-06 17:16:46 -06:00
Travis Nickles
f3a019742d Use unsafe memory pointers for detecting output report changes 2018-03-06 17:01:18 -06:00
Travis Nickles
895539c787 Minor tweak 2018-03-06 16:21:24 -06:00
Travis Nickles
c228b4348c Removed use of rectangular array for CRC32
Now use one dimensional array instead
2018-03-06 11:47:24 -06:00
Travis Nickles
59dbe6f956 Comment out failed message for now 2018-03-05 18:14:50 -06:00
Travis Nickles
efaafeb235 More pointer usage in CRC32 routine 2018-03-05 17:13:27 -06:00
Travis Nickles
564df12b94 Give attribution to Crc32 project 2018-03-05 16:07:59 -06:00
Travis Nickles
92c7b50d6d Re-add delay on device disable 2018-03-05 15:53:40 -06:00
Travis Nickles
8be2f9f271 Use unsafe blocks in project
Memory pointer access is needed to improve performance
with basic input report copying as well as CRC32
validation
2018-03-05 08:57:30 -06:00
Travis Nickles
f5f6002cdc Removed another loop for known array size in CRC32 method 2018-03-05 05:52:59 -06:00
Travis Nickles
a8b6213c0c Minor tweak for CRC32 method 2018-03-05 02:25:39 -06:00
Travis Nickles
284acc128a Added CRC32 check when obtaining gyro calibration data 2018-03-04 22:43:49 -06:00
Travis Nickles
c7f7537f25 Experimental CRC32 validation
Needs more work but I don't want to lose progress made
so far. Related to issue #228.
2018-03-04 14:37:47 -06:00
Travis Nickles
531b79dcc3 Changed when delay is performed for exclusive mode routine
Keep an eye on this
2018-02-28 15:09:29 -06:00
Travis Nickles
fece01e9e5 Explicitly close HID device when stopping service
Do not wait for runtime to close the HID device
2018-02-21 12:46:08 -06:00
Travis Nickles
4c0bbb5bf8 Take off portion of device name that is susceptible to localization 2018-01-15 17:42:47 -06:00
Travis Nickles
be10ab29b2 Minor tweak 2018-01-15 01:12:12 -06:00
Travis Nickles
b9bc51e873 Changed headphone volume curve to more closely resemble control outside of program
Related to issue #168.
2018-01-15 00:06:28 -06:00
Travis Nickles
b71b3ec820 Comment out exception throw when device fails to disable
Seems to be necessary so DS4 does not get permanently disabled.
Experienced while running Broforce. Related to issue #172.
2018-01-10 15:27:39 -06:00
Travis Nickles
f906554743 Use proper delta time for trackball mode
It had been using the previous poll delta time instead
2018-01-03 03:55:40 -06:00
Travis Nickles
09e5d20bb0 Reuse Touch instances for DS4Touchpad rather than creating new instances 2017-12-22 02:31:14 -06:00
Travis Nickles
e6bab70de2 Break out of TouchUnchanged case more quickly 2017-12-14 20:54:32 -06:00
Travis Nickles
41fa8cac82 Use delegate method of grabbing struct reference
Might replace the delegate with a class method later
but this method works pretty well as is
2017-12-11 03:57:48 -06:00
Travis Nickles
05def00614 Add lock usage for USB again
The version without it seems a bit wonky
2017-12-11 00:33:38 -06:00
Travis Nickles
619b73d40b Clear up naming issue for IDE. Use only one output array for USB and SONYWA 2017-12-10 06:16:40 -06:00
Travis Nickles
567aa393ae Changes to how output reports are sent. Mainly affects USB and SONYWA 2017-12-10 05:09:15 -06:00
Travis Nickles
132d411b24 Use event callback to get audio endpoint volume 2017-12-10 02:05:56 -06:00
Travis Nickles
852a9fe524 Lower latency queue to hold 20 items 2017-12-07 17:18:57 -06:00
Travis Nickles
dd6e2edadf Minor tweak 2017-12-01 21:31:05 -06:00
Travis Nickles
12aedd3724 Minor change to sync output report 2017-11-21 03:29:46 -06:00
Travis Nickles
500c870647 Minor change in pending count 2017-11-18 15:01:00 -06:00
Travis Nickles
45c0b9945c Fix output report updating 2017-11-18 13:15:15 -06:00
Travis Nickles
0d10004624 Output thread tweaks 2017-11-15 19:57:58 -06:00
Travis Nickles
a894179c98 Restart pending output report count when a change is detected 2017-11-15 02:58:16 -06:00
Travis Nickles
9045d18092 Add additional lock to use when writing output reports 2017-11-15 02:14:20 -06:00
Travis Nickles
2f6498a37b Remove unused lock statement 2017-11-11 22:52:17 -06:00
Yuki-nyan
a9eefa9079 Resolved merge conflict by implementing Ryochan7's changes 2017-11-05 15:20:10 +00:00
Travis Nickles
bf11a6d297 Change device enumeration routine 2017-10-28 20:34:04 -05:00
Travis Nickles
c75cb3ba7b Added Razer Raiju VID and PID combination. Moved arrays.
Related to issue #136.
2017-10-28 20:03:55 -05:00
Travis Nickles
076b1d0839 Use array to specify compatible vids 2017-10-28 19:58:23 -05:00
Travis Nickles
677191e8b4 Change to keep lightbar from sticking in some situations
Hopefully resolves issue #126.
2017-10-27 02:09:42 -05:00
Travis Nickles
e07f902751 Only load profiles as needed rather than at program startup 2017-10-19 03:21:33 -05:00
Travis Nickles
036cfcb34d Use refresh calibration method when creating DS4Device instance 2017-10-11 18:57:11 -05:00
Travis Nickles
0df84e1fba Refresh calibration data when pairing to or disconnecting a device from the Sony dongle 2017-10-11 18:55:15 -05:00
Travis Nickles
3a09132805 Fix reading calibration report values. Take connection type into account 2017-10-11 18:48:52 -05:00
Travis Nickles
d1e0be33de Fix calibration report id for BT 2017-10-11 18:24:14 -05:00
Travis Nickles
320c3ee6f6 Make sure to add device serial to HashSet when DS4Device instance is created
Make sure USB charging does not create second DS4Device instance
2017-10-11 18:07:34 -05:00
Travis Nickles
73450834bc Remove unused field 2017-10-10 21:42:49 -05:00
Travis Nickles
b1cd3a76e9 First acceptable version of gyro calibration support
Related to issue #103.
2017-10-10 17:45:42 -05:00
Travis Nickles
957ad3b1d5 Tweak updating of pending output report 2017-10-07 00:55:14 -05:00
Travis Nickles
16f6f5be32 Change main device list to be dependent on device path rather than mac address
Should resolve issue #71.
2017-10-05 00:24:53 -05:00
Travis Nickles
22912dff50 Add headphone volume support for DS4 v2 controllers 2017-10-02 03:16:57 -05:00
Travis Nickles
39d0579f09 Change SixAxis routines
Hopefully I won't regret this later
2017-09-20 11:34:53 -05:00
Travis Nickles
ec3ebb73b5 Minor tweaks 2017-09-05 03:34:49 -05:00
Travis Nickles
699436565c Reduce latency queue capacity 2017-08-22 05:20:23 -05:00
Travis Nickles
5df34b8378 Trim event handler method. Add name for timeout threads.
Decent performance boost with this change
2017-08-21 05:25:18 -05:00
Travis Nickles
dce5c811f2 Raise timeout interval 2017-08-20 22:02:49 -05:00