-
Notifications
You must be signed in to change notification settings - Fork 7
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
Gyro resolution appears to be off #20
Comments
After some testing, it appears that gyro values are off by about 0.858 times. |
A few days ago I tried playing Wii Sports Resort using joycond-cemuhook and it didn't work out as well as I expected it to be. I didn't have the rumble fix applied and I'm pretty sure it made it worse, but I'm inclined to agree that gyro data could be a bit off. To be honest I'm coming from a context where multiple layers of software are involved so it could be any of them though. |
@joaorb64 You don't actually need |
I'm sorry to ask this here but I just read @v1993 saying that the correct way to use joycon with Dolphin is to bind them directly. I've been having a ton of trouble with that, the devices that show up (evdev/0/Nintendo Switch Left/Right Joy-Con) don't have any gyro or accelerometer fields attributed to them in Dolphin. I've been going crazy trying to find some documentation about why I'm only seeing the buttons and thumbsticks. I already had hid-nintendo installed on my system (v2) and I just installed v3.1 with dkms-hid-nintendo to make sure that it's not a problem of obsolete software. Can you think of anything I may be missing? I know this is off-topic, if you prefer you can email me. I didn't want to email you out of the blue. |
@hoopahmadness You must bind devices that end with "IMU" to motion. If they don't appear, check and debug your dkms module installation. Example profile (left joycon)[Profile]
Device = evdev/0/Nintendo Switch Left Joy-Con
Buttons/A = `DPAD_RIGHT`
Buttons/B = `DPAD_UP`
Buttons/1 = `DPAD_LEFT`
Buttons/2 = `DPAD_DOWN`
Buttons/- = TR | SELECT
Buttons/+ = `TR2`
Buttons/Home = Z
IMUAccelerometer/Up = `evdev/0/Nintendo Switch Left Joy-Con IMU:Accel Z+`
IMUAccelerometer/Down = `evdev/0/Nintendo Switch Left Joy-Con IMU:Accel Z-`
IMUAccelerometer/Left = `evdev/0/Nintendo Switch Left Joy-Con IMU:Accel Y+`
IMUAccelerometer/Right = `evdev/0/Nintendo Switch Left Joy-Con IMU:Accel Y-`
IMUAccelerometer/Forward = `evdev/0/Nintendo Switch Left Joy-Con IMU:Accel X+`
IMUAccelerometer/Backward = `evdev/0/Nintendo Switch Left Joy-Con IMU:Accel X-`
IMUGyroscope/Dead Zone = 1.0000000000000000
IMUGyroscope/Pitch Up = `evdev/0/Nintendo Switch Left Joy-Con IMU:Gyro Y-`*0.858
IMUGyroscope/Pitch Down = `evdev/0/Nintendo Switch Left Joy-Con IMU:Gyro Y+`*0.858
IMUGyroscope/Roll Left = `evdev/0/Nintendo Switch Left Joy-Con IMU:Gyro X-`*0.858
IMUGyroscope/Roll Right = `evdev/0/Nintendo Switch Left Joy-Con IMU:Gyro X+`*0.858
IMUGyroscope/Yaw Left = `evdev/0/Nintendo Switch Left Joy-Con IMU:Gyro Z+`*0.858
IMUGyroscope/Yaw Right = `evdev/0/Nintendo Switch Left Joy-Con IMU:Gyro Z-`*0.858
IMUIR/Horizontal FOV = 42.000000000000000
IMUIR/Recenter = hold(Z, 2)
Rumble/Motor = Sine
D-Pad/Up = `Axis 1-`
D-Pad/Down = `Axis 1+`
D-Pad/Left = `Axis 0-`
D-Pad/Right = `Axis 0+` |
According to dmesg It's seeing each joycon and assigning two devices, so that's good. I guess I just need to find out why the IMU devices aren't showing up in Dolphin
|
Oh, it's a permissions issue. running dolphin with sudo shows the missing devices. I think I read that joycond includes a udev fix so I'll check that out. Thank you for your help! |
It's very possible I have the math wrong for the gyros. I might be applying the calibration data incorrectly. |
I've tested a pair of joycons and a pro controller. When using their gyro information, all of them end up reporting a single revolution as a single revolution plus about 30-45 degrees. Since offset is almost exactly the same for every tested device, I have to guess that default gyro resolution is incorrect.
The text was updated successfully, but these errors were encountered: