Travis Nickles
40c0a58ab1
Change how abort clause is handled for unhandled input thread exceptions
2020-03-24 17:06:42 -05:00
Travis Nickles
529adf9f27
Added more proper logging of background thread exceptions
2020-03-23 22:10:47 -05:00
Travis Nickles
4ec4eb830f
Display input delay as a double
2020-03-23 14:14:38 -05:00
Travis Nickles
08018d27a1
Added wait event to use for refreshing controller readings
...
Only display state change when device is waiting for new report
2020-03-14 15:34:59 -05:00
Travis Nickles
c312155f00
Log actual exception that occurs when interpreting the Touchpad
2020-03-05 06:26:55 -06:00
Travis Nickles
9f7bb20139
Removed old Quick Charge check if clause in DS4Device
...
Routine is now handled in ControlService class
2020-02-24 16:24:39 -06:00
Travis Nickles
653b7424ee
Added DS4 feedback event workaround for lightbar color
2020-02-22 18:40:14 -06:00
Travis Nickles
9890fc7cdf
Removed some outdated Stopwatch usage code
2020-02-12 13:20:11 -06:00
Travis Nickles
af5d06c42b
Opt to use high resolution counter
2020-02-12 12:38:07 -06:00
Travis Nickles
3177530ccd
Check for presence of PS button in idle check
2020-02-10 19:31:04 -06:00
mika-n
77e713e7b9
User configurable (profile) max time in seconds for a rumble effect. The rumble watchdog timer used to be fixed 2 secs, but now it is possible to disable this watchdog timer (0 secs value) or set the max time in profile editor.
2020-01-05 22:11:44 +02:00
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