From eb12e12491c33ce3d8fa1f28430f2df45c5e084b Mon Sep 17 00:00:00 2001 From: Mathieu Virbel Date: Mon, 24 Nov 2014 02:56:09 +0100 Subject: [PATCH] add missing bridge templates --- tools/templates/bridge.h | 21 +++++++++++++ tools/templates/bridge.m | 64 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 tools/templates/bridge.h create mode 100644 tools/templates/bridge.m diff --git a/tools/templates/bridge.h b/tools/templates/bridge.h new file mode 100644 index 0000000..4f7d80b --- /dev/null +++ b/tools/templates/bridge.h @@ -0,0 +1,21 @@ +#import +#import + +@interface bridge : NSObject { + NSOperationQueue *queue; +} + +@property (strong, nonatomic) CMMotionManager *motionManager; +@property (nonatomic) double ac_x; +@property (nonatomic) double ac_y; +@property (nonatomic) double ac_z; + +@property (nonatomic) double gy_x; +@property (nonatomic) double gy_y; +@property (nonatomic) double gy_z; + +@property (nonatomic) double mg_x; +@property (nonatomic) double mg_y; +@property (nonatomic) double mg_z; + +@end diff --git a/tools/templates/bridge.m b/tools/templates/bridge.m new file mode 100644 index 0000000..6cd6188 --- /dev/null +++ b/tools/templates/bridge.m @@ -0,0 +1,64 @@ +#import "bridge.h" + +@implementation bridge + +- (id) init { + if(self = [super init]) { + self.motionManager = [[CMMotionManager alloc] init]; + queue = [[NSOperationQueue alloc] init]; + } + return self; +} + +- (void)startAccelerometer { + + if ([self.motionManager isAccelerometerAvailable] == YES) { + [self.motionManager startAccelerometerUpdatesToQueue:queue withHandler:^(CMAccelerometerData *accelerometerData, NSError *error) { + self.ac_x = accelerometerData.acceleration.x; + self.ac_y = accelerometerData.acceleration.y; + self.ac_z = accelerometerData.acceleration.z; + }]; + } +} + +- (void)startGyroscope { + + if ([self.motionManager isGyroAvailable] == YES) { + [self.motionManager startGyroUpdatesToQueue:queue withHandler:^(CMGyroData *gyroData, NSError *error) { + self.gy_x = gyroData.rotationRate.x; + self.gy_y = gyroData.rotationRate.y; + self.gy_z = gyroData.rotationRate.z; + }]; + } +} + +- (void)startMagnetometer { + + if (self.motionManager.magnetometerAvailable) { + [self.motionManager startMagnetometerUpdatesToQueue:queue withHandler:^(CMMagnetometerData *magnetometerData, NSError *error) { + self.mg_x = magnetometerData.magneticField.x; + self.mg_y = magnetometerData.magneticField.y; + self.mg_z = magnetometerData.magneticField.z; + }]; + } +} + +- (void) stopAccelerometer { + [self.motionManager stopAccelerometerUpdates]; +} + +- (void) stopGyroscope { + [self.motionManager stopGyroUpdates]; +} + +- (void) stopMagnetometer { + [self.motionManager stopMagnetometerUpdates]; +} + +- (void) dealloc { + [self.motionManager release]; + [queue release]; + [super dealloc]; +} + +@end \ No newline at end of file