Travis Nickles
c2edbdf946
Increased timeout for tracking second instance exclusive mode workaround
2018-11-17 18:47:13 -06:00
mika-n
a933eae0a9
New "360 degree gyro steering wheel emulation" functionality. This works best if the DS4 controller is mounted on a "DoItYourself steering wheel rig" (ie. controller attached at a tip of a plastic or wooden pipe which acts as a "steering shaft". This way the controller turns around like a steering wheel and gyro sensor values are more consistent).
...
At this point there is no GUI to enable this, so you should edit a profile XML file (fex default.xml profile) with Notepad and add <SASteeringWheelEmulationAxis>LXPos</SASteeringWheelEmulationAxis> entry.
Accepted values are None, LXPos, LYPos, RXPos, RYPos) which indicates which X360 axis is used for steering wheel values (ie. gyro tilt converted as steering wheel turning range values). The normal behaviour of this axis should be set as "unmapped" to avoid conflicting values. If steering wheel axis is LX then LY axis is still available for other purposes.
2018-11-17 01:41:21 +02:00
Travis Nickles
dedb1c9ad9
Manually calculate device latency average
2018-11-16 05:24:47 -06:00
Travis Nickles
db859fb4db
Changed test rumble check to remove implicit data coercion
2018-11-11 04:56:10 -06:00
Travis Nickles
6db6315d72
Added extra calibration check. Might be useful in some cases where people have reported crashes.
2018-11-05 04:49:23 -06:00
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