Commit Graph

203 Commits

Author SHA1 Message Date
Travis Nickles
12b2466111 Minor tweak for VS 2019-12-28 13:38:16 -06:00
mika-n
a3946dc7e9 Workaround to inverted YAW gyro axis issue in some DS4 v1 gamepads.
Also fixed compile time warning about bezierCurve.ToString hiding a base method (override keyword missing).
2019-12-22 23:04:02 +02:00
Travis Nickles
906946a7ea Import DS4WindowsWPF code 2019-12-18 15:33:23 -06:00
mika-n
e97c767560 Tweaked "runCalib=false" check for Nacon gamepads. Nowadays there are Nacon gamepads with full PS4 compatible gyro, so by default run calibration by default. Skip the gyro calib only for the couple old supported Nacon gamepads for which this "skip runcalib check" was supposed to be here (not sure if this check is required at all) 2019-12-15 20:21:55 +02:00
Travis Nickles
e89c8b6c3a Added identifier name to meta info
Related to issue #816
2019-09-07 08:29:25 -05:00
Travis Nickles
114b07699a Create CRC table in ControlService 2019-09-06 09:41:55 -05:00
Travis Nickles
78dcbe666c Added Razer Raiju Tournament Edition support
Related to issue #580
2019-04-29 22:17:15 -05:00
mika-n
746587ebbd Brute force timer fix to the "stuck rumble motor" bug in ViGem virtual gamepad driver. This rumble autostop timer should be removed when a signed ViGem driver has a fix to this issue. Existing autostop timer is 2 secs, so this assumes that game keeps on updating a rumble values at least once in 2 secs. If rumble-0 event is lost or game doesn't send a new rumble value within 2 secs then rumble motor is automagically stopped (=assumed it is stuck). Usually games keep on sending rumble values as long an effect needs it, so this autostop timer works reasonable good in most games. 2019-04-06 15:04:21 +03:00
Travis Nickles
b536ca3a83 Fixed SonyWA disconnect on Windows 7
Was broken since 1.6.4 with change to sending
output packets
2019-03-13 18:41:10 -05:00
Travis Nickles
2497ced5d5 Change main report routine to use custom delegate.
Remove the need to box and unbox data every gamepad poll.
Seems to help with performance.
2019-02-24 15:03:12 -06:00
mika-n
7da6b3434a Merge branch 'jay' of https://github.com/Ryochan7/DS4Windows into jay 2019-02-19 15:09:00 +02:00
mika-n
8d087b01ff merge conflicts with base branch 2019-02-19 15:00:17 +02:00
Travis Nickles
f828eb888c Use struct reference rather than copy 2019-02-19 03:16:42 -06:00
Travis Nickles
ec71282ce3 Changed DS4Color to use IEquatable interface
Allows for faster Equals method than the previous
implementation
2019-01-16 05:07:19 -06:00
Travis Nickles
df1ec44f1c Fixed volume updating when sending timeout output reports 2019-01-16 04:08:51 -06:00
mika-n
13607ebc7c Merge branch 'jay' of https://github.com/Ryochan7/DS4Windows into jay 2019-01-13 21:26:50 +02:00
Travis Nickles
2fe34afe2f More removal of old haptic related items 2019-01-10 19:07:49 -06:00
Travis Nickles
f887f334df Remove some unused fields and methods 2019-01-10 18:37:39 -06:00
Travis Nickles
2c471e6eff Change how haptic state changes happen 2019-01-10 18:15:14 -06:00
Travis Nickles
eb45a6c06c Minor tweak 2019-01-09 23:57:22 -06:00
Travis Nickles
a253daa95d Minimize influence of stopwatch 2019-01-09 19:30:05 -06:00
Travis Nickles
18c27b7f10 Corrections to output packet changes 2019-01-09 05:41:20 -06:00
Travis Nickles
bc9a7c3e65 Change priority of output threads 2019-01-09 04:24:29 -06:00
Travis Nickles
cceaa31404 Send output packet at least once every 4 seconds
Best attempt at resolving issue #399.
2019-01-09 03:45:39 -06:00
mika-n
94d5f83db1 Added config options of sixaxis steering wheel emulation and calibration btn to config GUI form (Options). If controller is calibrated via this config screen then there is no need to define "calibrate" special action key. Improved >360 turn range calculation. Added possibility to map SA steering values to L2+R2 trigger axis (Z-axis). For example in ETS2/ATS game controller settings it is possible to use that axis for steering if triggers are not used for throttling and braking (this would leave all axis of L and R thumbstick available for other purposes). 2018-12-07 00:09:09 +02:00
mika-n
1eed418022 Added support for 180/360/720/900/1440 turn range (or any other turn range between 90-3240 degrees). New SASteeringWheelEmulationRange profile option with int32 value (default 360). 2018-12-04 00:50:37 +02: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
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
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