halomask8 / wjoy

Automatically exported from code.google.com/p/wjoy
0 stars 0 forks source link

Wiimote RVL-CNT-01-TR + Classic Controller Pro (unofficial) reporting wrong analog data #4

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Hello,
I have a 3rd party Classic Controller Pro that seems to be reporting the wrong 
data for analog sticks. With both sticks at rest position, it reports -1.00 
-1.00 for both. It's attached to a RVL-CNT-01-TR Wiimote.

The axes on the left stick seem to go from 0 to 63, with the right one going 
from 0 to 31.

Attaching a screencap of test.app in a (hopefully relevant) breakpoint with 
both sticks at the rest position. I'm guessing the calibration data is wrong 
here. Controller works fine on the Wii, though. 

I can debug things further if you want, sorry for not going all the way and 
fixing things myself, but I hope just this is enough for you to figure out what 
happened here, since I'm sure you could understand it faster than it'd take it 
for me to get it. :)

Original issue reported on code.google.com by miguelpontes on 8 Jan 2013 at 3:55

GoogleCodeExporter commented 8 years ago
Hello :)

Yes, it's known problem (but the symptoms were a surprise to me :) ): all wii 
controllers (Wii Remote, Classic Controller, Nunchuck, Balance Board and 
others) has calibration data for analog parts. But this data in many devices is 
wrong. Real Wii do calibration on each connection, and sometimes update this 
data in memory on device. Key is sometime. Algorithm of this is unknown :( I 
think, WJoy can ignore calibration data, and i need write calibration utility 
like logitech did it in it's drivers for PC joysticks. But is future :)

In many devices, what i test, calibration data usually filled with 0. Or it 
contain real data :) But in your device this data filled with 1. (Thank you for 
you work and screenshot - it's very helpful, and I was able to understand the 
problem in one or two minutes. I hope :)).

Can you test attached test utility? :) Or you can update code from svn and 
rebuild it itself. I hope. now Classic Controller will be works fine.

PS: you can copy Wiimote.framework from new test.app to old WJoy.app, and it 
will work, if my last fixes works itself.

Original comment by alexandr.serkov on 8 Jan 2013 at 7:24

GoogleCodeExporter commented 8 years ago
Works perfectly! Thanks!

Original comment by miguelpontes on 8 Jan 2013 at 4:45

GoogleCodeExporter commented 8 years ago
Yahhooo! :) Thank you for you feedback! :)

Original comment by alexandr.serkov on 8 Jan 2013 at 7:50