Hi, CyberRascal and thanks for the follow-up! I think there are not that many alternatives to the wiimote, so there is great potential for it now that VR is picking up, I hope. I am personally not willing to invest into Oculus hardware unless there is a capable gun with it.CyberRascal wrote:konstantin_lozev:
Thanks for being enthusiastic! Always more fun to work with something that someone wants to use
Right now I calculate deadband and scale values according to the deadband cutoff, this seems to make the motionplus a lot calmer without actually being sluggish / unresponsive, so it might be the way to go. Maybe I will rewrite the wiimote API so that we have motionplus.pitch etc and also motionplus.raw.pitch or similar. I will just have to choose the appropriate "rawness" of the raw values... Wiimote motionplus gives away values in the 4000-16000 unsigned integer range, and I calculate the zero-point offset when wiimote is stable. The gain is fixed, however.
Tell me what type of values you want and I will make sure you have them available. Logging should be easy enough using diagnostics.debug(value) for example.
Have a nice vacation!
NeoTokyo_Nori:
I looked through the topic but couldn't find any questions at first glance, but maybe I am blind! Could you post them again?
Regarding the quote you aksed about: When keeping the wiimote still, there is not that much drift. I am not sure what to do about drift when in motion however. I'm not sure how good tracking we can get with the gyro sensor only. I am not an expert on IMUs or AHRS so I'm not sure if we can use the IR sensor or acc sensor to recalibrate automatically.
On the exposure of raw gyro and accelerometer data, I think it might be extremely useful in these early stages of FreePIE development. As I wrote, the pitch readings can be approximated with the aSin of the gravity exerted on the front of the wiimote, measured by the accelerometer, so in theory we have two independent readings and the one can be used as control for the other. For that, however, we would need exposure of raw values, and not pre-çorrected of one vs the other.
Maybe I am too optimistic, but I think with some effort we can do it.
Btw, here is the one-liner in GlovePIE, I tried to convert it to FreePIE, maybe even without the smooth function initially but I got an error:
Mouse.DirectInputY -= smooth(Delta(aSin(wiimote.gz) in radians)*500,5)