public void Update(DolphiimoteData rawData) { this.data = rawData; Acceleration = calibration.NormalizeAcceleration(DateTime.Now, rawData.acceleration.x, rawData.acceleration.y, rawData.acceleration.z); if (IsDataValid(WiimoteDataValid.MotionPlus)) { MotionPlus = CalculateMotionPlus(rawData.motionplus); fuser.HandleIMUData(MotionPlus.Value.x, MotionPlus.Value.y, MotionPlus.Value.z, Acceleration.Value.x, Acceleration.Value.y, Acceleration.Value.z); } if (IsDataValid(WiimoteDataValid.Nunchuck)) { Nunchuck = new Nunchuck { Stick = calibration.NormalizeNunchuckStick(DateTime.Now, rawData.nunchuck.stick_x, rawData.nunchuck.stick_y), Acceleration = calibration.NormalizeNunchuckAcceleration(DateTime.Now, rawData.nunchuck.x, rawData.nunchuck.y, rawData.nunchuck.z) }; } }
public DolphiimoteWiimoteData(byte wiimoteNumber, WiimoteCalibration calibration, IMotionPlusFuser fuser) { WiimoteNumber = wiimoteNumber; this.calibration = calibration; this.fuser = fuser; MotionPlus = new CalibratedValue<Gyro>(false, new Gyro(0, 0, 0)); Acceleration = new CalibratedValue<Acceleration>(false, new Acceleration(0, 0, 0)); Nunchuck = new Nunchuck { Acceleration = new Acceleration(0, 0, 0), Stick = new NunchuckStick(0, 0) }; }
public DolphiimoteWiimoteData(byte wiimoteNumber, WiimoteCalibration calibration, IMotionPlusFuser fuser) { WiimoteNumber = wiimoteNumber; this.calibration = calibration; this.fuser = fuser; MotionPlus = new CalibratedValue<Gyro>(false, new Gyro(0, 0, 0)); Acceleration = new CalibratedValue<Acceleration>(false, new Acceleration(0, 0, 0)); Nunchuck = new Nunchuck { Acceleration = new Acceleration(0, 0, 0), Stick = new AnalogStick(0, 0) }; ClassicController = new ClassicController { LeftStick = new AnalogStick(0,0), RightStick = new AnalogStick(0,0), RightTrigger = new AnalogTrigger(0), LeftTrigger = new AnalogTrigger(0) }; }