Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DualShock 4 only showing Accelerometer. #34

Open
MatharuG opened this issue Mar 23, 2021 · 4 comments
Open

DualShock 4 only showing Accelerometer. #34

MatharuG opened this issue Mar 23, 2021 · 4 comments

Comments

@MatharuG
Copy link

Hi. I discovered this program when watching this.
I'm trying to show the gyro of the controller, but it only shows the accel part of it.
I don't know if there's any way to "catch" that information and translate it to VSCView.

@Nielk1
Copy link
Owner

Nielk1 commented Mar 23, 2021

It's actually only the gyroscope's raw angular acceleration. The liner acceleration of the DS4 from its accelerometer could be made available, but I haven't done that yet. I know what you mean though.

The issue is that I am cheating when it comes to the Steam Controller's orientation as the controller provides that information directly. What I need to do is write my own sensor fusion (or more accurately implement a well known solution) and start tracking the DS4's orientation manually by knowing its angular acceleration with time. I can start by referencing JoyShockMapper/JoyShockLibrary to see how they handle the DS4's motion to try to write a more universal motion handler. The great thing about JSM/JSL is it's on the MIT License like VSCView, so there's no issue digging in there for help. The one issue I have is if I should track the orientation continuously and thus apply any drift correction (or reset for not moving the controller at all for a time) after the fact, or build the correction into the tracked orientation. I am leaning toward adding the correction after the fact since that is how it works now with the Steam Controller's internal orientation tracking, where I apply a fix on-top.

A final question is what order to handle this in. I could try to fix the orientation/motion system now, or I could wait till after I work on a new render system to allow 3D models and thus better display the orientation/motion information.

@MatharuG
Copy link
Author

MatharuG commented Mar 25, 2021

I don't know much about programming and how difficult it is to implement it, but I do know that DS4Windows uses the DSU Server to transmit gyro and accel data to other programs. An example is Dolphin (Wii emulator) and Cemu (Wii U emulator).

@F4CTUAL
Copy link

F4CTUAL commented May 13, 2022

VSVView Is the closest thing we gyro player have to a true virtual controller cam, well besides the unreleased "JoyShockOverlay" by Jibb Smart. Despite only using the angular acceleration it does a great a job showing how gyro works however that's not enough to properly showcase the full capabilities of gyro, a great step in the right direction though. If I knew anything about coding I definitely would try to figure this out myself. With Gyro already being an obsolete feature in gaming I can understand why there's no solution already for this problem but I just know there's a community of gyro players out there waiting on a gyro controller cam.
Me personally I think Gyro is the bridge between controller and M&K and once were able to properly showcase that, gyro will take off.

@Nielk1
Copy link
Owner

Nielk1 commented May 13, 2022

This is on my fix list, it's just that I have a lot going on.
I personally think gyro has the ability to match if not surpass M&KB even if I only occasionally use gyro myself. VSCView morphed into a larger project for remapping controller input in a way kind of like JSM mixed with SteamInput, but it's a long way away. InDev builds of VSCView use this new library and the work going into that new library is why there's not a lot of VSCView updates. An area I still need to work on is Sensor Fusion, which is what is needed to both have proper motion data handling and fix this VSCView issue.

Rest assured this issue is critical to that work so this is not forgotten, there's just a lot of work left to do.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants