#if OBJC
- (void)startMotion:(CMMotionManager*)manager {
[manager startDeviceMotionUpdatesUsingReferenceFrame: CMAttitudeReferenceFrameXArbitraryCorrectedZVertical];
}
- (NSArray*) getAcceleration: (CMMotionManager*) manager {
CMDeviceMotion *motion = manager.deviceMotion;
CMAcceleration acc = motion.userAcceleration;
return @[@(acc.x), @(acc.y), @(acc.z)];
}
- (NSArray*) getGravity: (CMMotionManager*) manager {
CMDeviceMotion *motion = manager.deviceMotion;
CMAcceleration grv = motion.gravity;
return @[@(grv.x), @(grv.y), @(grv.z)];
}
- (NSArray*) getGyro: (CMMotionManager*) manager {
CMDeviceMotion *motion = manager.deviceMotion;
CMRotationRate gyr = motion.rotationRate;
return @[@(gyr.x), @(gyr.y), @(gyr.z)];
}
- (NSArray*) getMagField: (CMMotionManager*) manager {
CMDeviceMotion *motion = manager.deviceMotion;
CMCalibratedMagneticField magfld = motion.magneticField;
return @[@(magfld.field.x), @(magfld.field.y), @(magfld.field.z)];
}
- (NSArray*) getMagAccuracy: (CMMotionManager*) manager {
CMDeviceMotion *motion = manager.deviceMotion;
CMCalibratedMagneticField magfld = motion.magneticField;
return @[@(magfld.accuracy)];
}
#end if