Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Game Controller Tester

Test any input device including gamepad, haptic, vibration, mouse, keyboard, touch screen, sensors · By POW Games

Asking tip for analyzing Gyro data to get Gyro drift rate per hour

A topic by ress33 created 58 days ago Views: 123 Replies: 5
Viewing posts 1 to 2

Hi! First of all, thanks for making great app to test game controller.

I have been analyze game controller's gyro drift and bias and its jitter via Steam's console command, "gyro_drift_calibration_debug 1".

and I tried to command also "gyro_raw_deadzone 0".

From there, I have gotten "New Gyro Antidrift value found: ( -0.254136, -0.052945, -1.063534 )" for more than 2 hours and create graph out of it. So far, I have tested, about 10 difference controllers, and most of them have some sort of gyro drift over hours either slight or stiff tilt. 

And I found this app and end up purchase it since it gives alot of data and create CSV file!.
I was excited to see more detailed gyro data to analyze better. But it seems all 3 game controllers that I have tested so far from Powgames GameConTest app, have no gyro drift at all.  all 3 controllers' data seems very static, unlikely data from Steam command.

 
So, I am wondering what can be the reason.  whether steam's gyro calibration process somehow bias the data if it is long period of time (1~3 hours) or your app has some kind of calibrating process (even though I don't think it has).

I attached graph from steam command , and graph from CSV by Powgames GameConTest app.

Any advice to analyze gyro data from your app would be very appreciated!

Joycon Gyro test by Steam command (2.8 hours)

Joycon Gyro test by Steam command (2.8 hours)


DualSense Gyro test by Steam command (2.7 hours)

DualSense Gyro test by Steam command (2.7 hours)


DualSense Gyro data by Powgames (4hours)

DualSense Gyro data by Powgames (4hours)

Zoomed in_DualSense Gyro data by Powgames (4hours)

Zoomed in_DualSense Gyro data by Powgames (4hours)
Developer

I'm really pleased to see the CSV  feature being used. And thank you for your support.

It's an interesting observation you are making. I have some theories. Do you know what API Steam is using? My app uses HIDAPI by default, but also uses Raw Input and Windows.Gaming.Input. Do you see any change in output when using these different APIs? You can force the use of one by de-selecting the others, then restarting. My theory is that maybe HIDAPI is filtering out the outliers. Also, if Steam Client is running in the background, it can affect the output of my app. Another theory is that Staem's test is showing raw data before API filtering. 

I hope you can find out what's going on. To dive deeper into how my app receives the data, look at SDL3. The source code is on Github, so you can see exactly what system calls are being used to gather input. You could also try leaving a message in the SDL forums. Someone there might have an idea what's going on with the hardware. 

Great thanks for your reply.
I have no knowledge about what api Steam uses. 
I have been played with HIDAPI, Raw input, Windows.gaming.input, but gyro sensor can be detected when only HIDAPI is included. 

So far no difference in result on HIDAPI alone or HIDAPI + Raw input , and so on.  :( 

I wish I could capture gyroscope signal by Raw input alone. 

yeah, I have tested while Steam client was off.

Thanks for suggesting SDL3. I will definately look for it. Also at the moment, I might also try USBPcap + Wireshark combination which seems capturing data without HIDAPI, hopefully it's not that difficult, and able to grab.

But apparently your amazing app still helps to solve my interest. 

Thanks!

Developer

Please let me know what you find out. If an API is smoothing out the outliers, it would be good to have an option to disable that. My guess is that HIDAPI is doing it. If it can be disabled, I'd like to add that feature to SDL and then I can expose it in my app. 

Hey! How can I get in contact with you to discuss adding in whatever API you're using to capture XInput on android with your amazing app and pulling that into moonlight-noir by ClassicOldSong. He's an extremely active developer and I think this would be huge!

Developer

Hope you guys manage to get moonlight-noir working with your gamepad. Let me know if I can be any more help.