Commit Graph

293 Commits

Author SHA1 Message Date
Travis Nickles
49d24fce7d Testing new output report copying thread for USB and SONYWA 2018-10-26 20:58:43 -05:00
Travis Nickles
e3ed777682 Removed unnecessary array copy for USB and SONYWA connections 2018-10-26 01:37:51 -05:00
Travis Nickles
32605524ff Added flag to allow skipping a lock when applicable 2018-10-25 02:51:50 -05:00
Travis Nickles
ce78793dea Removed old unused field 2018-10-25 01:37:26 -05:00
Travis Nickles
60a0f3fda0 Fixed device event queueing 2018-10-15 03:01:13 -05:00
Travis Nickles
af4425763d Added some optimizations 2018-10-11 03:38:52 -05:00
Travis Nickles
1019499612 Resolve name collision with Log class and Diagnostics namespace
Makes app snappier
2018-09-29 04:42:22 -05:00
Travis Nickles
13005458f1 Increase timeout for exclusive attempt process 2018-09-18 03:39:59 -05:00
Travis Nickles
ac360c426d Fixed issue with SONYWA connections having invalid calibration data 2018-08-20 13:14:34 -05:00
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