From 31b03c8a1234b966ec56f5da316d93a9259c5d71 Mon Sep 17 00:00:00 2001 From: Tim Redfern Date: Wed, 18 Sep 2013 17:28:16 +0100 Subject: initial commit --- .DS_Store | Bin 0 -> 6148 bytes Brsp.h | 277 +++++++++++++ Default-568h@2x.png | Bin 0 -> 18594 bytes Default@2x.png | Bin 0 -> 295351 bytes Waydio.h | 136 +++++++ Waydio.m | 57 +++ app_store_images/nBlueTerm1024.png | Bin 0 -> 76697 bytes app_store_images/nBlueTerm512.png | Bin 0 -> 81900 bytes app_store_images/screenshot1.png | Bin 0 -> 130623 bytes app_store_images/screenshot2.png | Bin 0 -> 233930 bytes icon.png | Bin 0 -> 5810 bytes libios_brsp.a | Bin 0 -> 253048 bytes libios_brsp.a_device | Bin 0 -> 253048 bytes libios_brsp.a_simulator | Bin 0 -> 121912 bytes sampleclient/.DS_Store | Bin 0 -> 6148 bytes sampleclient/AppDelegate.h | 21 + sampleclient/AppDelegate.m | 66 ++++ sampleclient/ConnectionController.h | 32 ++ sampleclient/ConnectionController.m | 180 +++++++++ sampleclient/MainStoryboard.storyboard | 195 +++++++++ sampleclient/ScanController.h | 27 ++ sampleclient/ScanController.m | 158 ++++++++ sampleclient/en.lproj/InfoPlist.strings | 2 + sampleclient/main.m | 15 + sampleclient/waydio_comms_demo-Info.plist | 58 +++ sampleclient/waydio_comms_demo-Prefix.pch | 15 + waydio_comms_demo.xcodeproj/project.pbxproj | 438 +++++++++++++++++++++ .../project.xcworkspace/contents.xcworkspacedata | 7 + .../UserInterfaceState.xcuserstate | Bin 0 -> 168516 bytes .../WorkspaceSettings.xcsettings | 10 + .../tim.xcuserdatad/UserInterfaceState.xcuserstate | Bin 0 -> 40719 bytes .../tim.xcuserdatad/WorkspaceSettings.xcsettings | 22 ++ .../xcdebugger/Breakpoints.xcbkptlist | 33 ++ .../xcschemes/Distribution.xcscheme | 85 ++++ .../xcschemes/Sample Client.xcscheme | 85 ++++ .../xcschemes/xcschememanagement.plist | 27 ++ .../xcdebugger/Breakpoints.xcbkptlist | 20 + .../tim.xcuserdatad/xcschemes/nBlueTerm.xcscheme | 86 ++++ .../xcschemes/xcschememanagement.plist | 22 ++ 39 files changed, 2074 insertions(+) create mode 100755 .DS_Store create mode 100644 Brsp.h create mode 100644 Default-568h@2x.png create mode 100755 Default@2x.png create mode 100644 Waydio.h create mode 100644 Waydio.m create mode 100755 app_store_images/nBlueTerm1024.png create mode 100755 app_store_images/nBlueTerm512.png create mode 100755 app_store_images/screenshot1.png create mode 100755 app_store_images/screenshot2.png create mode 100755 icon.png create mode 100644 libios_brsp.a create mode 100644 libios_brsp.a_device create mode 100644 libios_brsp.a_simulator create mode 100755 sampleclient/.DS_Store create mode 100755 sampleclient/AppDelegate.h create mode 100755 sampleclient/AppDelegate.m create mode 100755 sampleclient/ConnectionController.h create mode 100755 sampleclient/ConnectionController.m create mode 100755 sampleclient/MainStoryboard.storyboard create mode 100755 sampleclient/ScanController.h create mode 100755 sampleclient/ScanController.m create mode 100755 sampleclient/en.lproj/InfoPlist.strings create mode 100755 sampleclient/main.m create mode 100644 sampleclient/waydio_comms_demo-Info.plist create mode 100644 sampleclient/waydio_comms_demo-Prefix.pch create mode 100755 waydio_comms_demo.xcodeproj/project.pbxproj create mode 100755 waydio_comms_demo.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100755 waydio_comms_demo.xcodeproj/project.xcworkspace/xcuserdata/michaeltesta.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 waydio_comms_demo.xcodeproj/project.xcworkspace/xcuserdata/michaeltesta.xcuserdatad/WorkspaceSettings.xcsettings create mode 100644 waydio_comms_demo.xcodeproj/project.xcworkspace/xcuserdata/tim.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 waydio_comms_demo.xcodeproj/project.xcworkspace/xcuserdata/tim.xcuserdatad/WorkspaceSettings.xcsettings create mode 100755 waydio_comms_demo.xcodeproj/xcuserdata/michaeltesta.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist create mode 100755 waydio_comms_demo.xcodeproj/xcuserdata/michaeltesta.xcuserdatad/xcschemes/Distribution.xcscheme create mode 100755 waydio_comms_demo.xcodeproj/xcuserdata/michaeltesta.xcuserdatad/xcschemes/Sample Client.xcscheme create mode 100755 waydio_comms_demo.xcodeproj/xcuserdata/michaeltesta.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 waydio_comms_demo.xcodeproj/xcuserdata/tim.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist create mode 100644 waydio_comms_demo.xcodeproj/xcuserdata/tim.xcuserdatad/xcschemes/nBlueTerm.xcscheme create mode 100644 waydio_comms_demo.xcodeproj/xcuserdata/tim.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/.DS_Store b/.DS_Store new file mode 100755 index 0000000..3d14e70 Binary files /dev/null and b/.DS_Store differ diff --git a/Brsp.h b/Brsp.h new file mode 100644 index 0000000..4aff91f --- /dev/null +++ b/Brsp.h @@ -0,0 +1,277 @@ +// +// Brsp.h +// ios_brsp_lib +// +// Created by Michael Testa on 11/1/12. +// Copyright (c) 2012 BlueRadios, Inc. All rights reserved. +// + +//The BRSP service UUID. Use this in a CBCentralManager scan to filter +#define BRSP_SERVICE_UUID @"DA2B84F1-6279-48DE-BDC0-AFBEA0226079" + +#import +#import + +@class Brsp; + +enum { + BrspModeIdle = 0, + BrspModeData = 1, + BrspModeRemoteCommand = 2, + BrspModeFirmwareUpdate = 4, //Not implemented yet +}; +typedef NSUInteger BrspMode; + +@protocol BrspDelegate + +@required +/** + Called when the open status has changed after a call to either open or close. + No writes etc will work until this method is called with an isOpen status of YES. + @param brsp The Brsp object generating this event + @param isOpen YES == Open + */ +- (void)brsp:(Brsp*)brsp OpenStatusChanged:(BOOL)isOpen; +/** + Called when the isSending changes + @param brsp The Brsp object generating this event + @param isSending YES == Sending + @see Brsp.isSending + */ +- (void)brsp:(Brsp*)brsp SendingStatusChanged:(BOOL)isSending; + +@optional +/** + Called when data is received from the peripheral. (inputBuffer written to) + All data can be retreived from the input buffer via read functions. + @param brsp The Brsp object generating this event + */ +- (void)brspDataReceived:(Brsp*)brsp; + +/** + Used to pass on CBPeripheral errors that may occur + @param brsp The Brsp object generating this event + @param error NSError object containing the error + */ +- (void)brsp:(Brsp*)brsp ErrorReceived:(NSError*)error; + +/** + Called when the BRSP mode changes. + @param brsp The Brsp object generating this event + @param mode BrspMode of the Brsp Peripheral + */ +- (void)brspModeChanged:(Brsp*)brsp BRSPMode:(BrspMode)mode; + +@end + +/** + Class used to interact with the BlueRadios BRSP service on a peripheral + */ +@interface Brsp : NSObject + +/** + The delegate used for BrspDelegate events. + */ +@property (nonatomic, weak) id delegate; +/** + The current BRSP mode of the peripheral. + Default mode is BrspModeData (Even when peripheral is nil or not connected) + */ +@property (nonatomic, readonly) BrspMode brspMode; +/** + A pointer to the CBPeripheral object that is associated with this device. + */ +@property (nonatomic, readonly) CBPeripheral *peripheral; +/** + An integer indicating the level of security enforced by the BRSP service on the opened port + 0 == None, 1 == Unauthenticated Pairing With Encryption, 2 == Authenticated Pairing With Encryption, 99 = Unknown + */ +@property (nonatomic, readonly) NSUInteger securityLevel; +/** + BRSP open/closed status + YES = Open + */ +@property (nonatomic, readonly) BOOL isOpen; +/** + YES if output buffer is not empty. + @note Operations such as changing the BRSP mode can only be done when not sending + */ +@property (nonatomic, readonly) BOOL isSending; +/** + Total capacity of the input buffer in bytes + */ +@property (nonatomic, readonly) NSUInteger inputBufferSize; +/** + Total capacity of the output buffer in bytes + */ +@property (nonatomic, readonly) NSUInteger outputBufferSize; +/** + Number of bytes in the input buffer + */ +@property (nonatomic, readonly) NSUInteger inputBufferCount; +/** + Number of bytes in the output buffer + */ +@property (nonatomic, readonly) NSUInteger outputBufferCount; +/** + Number of bytes that can be written to the buffer via write functions + */ +@property (nonatomic, readonly) NSUInteger outputBufferAvailableBytes; + +/** + A Convenience function that returns a CBUUID for the brsp Service + @return CBUUID object for service "DA2B84F1-6279-48DE-BDC0-AFBEA0226079" + */ ++ (CBUUID *) brspServiceUUID; + +/** + Initializer for this class + @param peripheral The CBPeripheral object to be used + @return self + @note Changes peripheral.delegate to self. If peripheral.delegate is set another object, initWithPeripheral and open will have to be called again + to reinitialize. + @note The default input and output buffer sizes are 1024 bytes + */ +- (id)initWithPeripheral:(CBPeripheral*)peripheral; + +/** + An alternate initializer for this class which sets the input and output buffer sizes. + Use this if the default buffer sizes are not adequate + @param peripheral The CBPeripheral object to be used + @param in_size The fixed input buffer size to use + @param out_size The fixed output buffer size to use + @return self + @note Changes peripheral.delegate to self. If peripheral.delegate is set another object, initWithPeripheral and open will have to be called again + to reinitialize. + @note The default input and output buffer sizes are 1024 bytes + */ +- (id)initWithPeripheral:(CBPeripheral*)peripheral InputBufferSize:(NSUInteger)in_size OutputBufferSize:(NSUInteger)out_size; + +/** + Changes BRSP mode. + @param mode An int used to set the mode of a peripheral. + 1 = data mode, 2 = remote command mode + @return An NSError object containing an error caused by an invalid state while attempting to change the mode. + If successful, return will be nil. + */ +- (NSError*)changeBrspMode:(BrspMode)mode; + +/** + Opens a BRSP connection. (Prepares peipheral for using the BRSP service, characteristics, and notifications) + */ +- (void)open; + +/** + Closes a BRSP connection. (Turns off notifications, etc) + */ +- (void)close; + +/** + Discards all unread data from the receive buffer. + */ +- (void)flushInputBuffer; + +/** + Discards unread data from the start of the input buffer by a number of bytes. + This is useful when using the peek functions. + @param byteCount Number of bytes to remove + */ +- (void)flushInputBuffer:(NSUInteger)byteCount; + +/** + Discards all unsent data from the transmit buffer. + */ +- (void)flushOutputBuffer; + +/** + Reads bytes without removing them from the input buffer + @param byteCount Number of bytes to read + @return Bytes requested as NSData + @note If byteCount is greater than the inputBufferCount, function will return all bytes + @note If byteCount is 0 or inputBuffer is empty, function will return nil + @note All reads are performed synchronously + */ +- (NSData *)peekBytes:(NSUInteger)byteCount; + +/** + Reads bytes without removing them from the input buffer + @param byteCount Number of bytes to read + @return Bytes requested as NSString decoded using NSUTF8StringEncoding + @note If byteCount is greater than the inputBufferCount, function will return all bytes + @note If byteCount == 0 or inputBuffer is empty, will return an empty string + @note All reads are performed synchronously + */ +- (NSString *)peekString:(NSUInteger)byteCount; + +/** + Reads all bytes without removing them from the input buffer + @return Bytes requested as NSData + @note If inputBuffer is empty, function will return nil + @see peekBytes: + */ +- (NSData *)peekBytes; + +/** + Reads all bytes without removing them from the input buffer + @return Bytes requested as NSString decoded using NSUTF8StringEncoding + @note If inputBuffer is empty, will return an empty string + @see peekString: + */ +- (NSString *)peekString; + +/** + Reads and removes bytes from the input buffer + @param byteCount Number of bytes to read + @return Bytes requested as NSData + @note If byteCount is greater than the inputBufferCount, function will return all bytes + @note If byteCount is 0 or inputBuffer is empty, will return nil + @note All reads are performed synchronously + */ +- (NSData *)readBytes:(NSUInteger)byteCount; + +/** + Reads and removes bytes from the input buffer + @param byteCount Number of bytes to read + @return Bytes requested as NSString decoded using NSUTF8StringEncoding + @note If byteCount is greater than the inputBufferCount, function will return all bytes + @note If byteCount == 0 or inputBuffer is empty, will return an empty string + @note All reads are performed synchronously + */ +- (NSString *)readString:(NSUInteger)byteCount; + +/** + Reads and removes all bytes from the input buffer + @return Bytes requested as NSData + @note If inputBuffer is empty, function will return nil + @see readBytes: + */ +- (NSData *)readBytes; + +/** + Reads and removes all bytes from the input buffer + @return Bytes requested as NSString decoded using NSUTF8StringEncoding + @note If inputBuffer is empty, will return an empty string + @see readString: + */ +- (NSString *)readString; + +/** + Writes bytes to the output buffer and starts sending them to the brsp peripheral + @param bytes NSData containing the bytes to send + @return An NSError object containing an error caused by an invalid state, not enough buffer space etc. + If successful, return will be nil. + @note All writes to the target peripheral are performed asynchronously. + */ +- (NSError *)writeBytes:(NSData*)bytes; + +/** + Writes a string the output buffer and starts sending to the brsp peripheral + @param str NSString containing the text to send + @return An NSError object containing an error caused by an invalid state, not enough buffer space etc. + If successful, return will be nil. + @note Bytes are encoded using NSUTF8StringEncoding + @note All writes to the target peripheral are performed asynchronously. + */ +- (NSError *)writeString:(NSString*)str; + +@end diff --git a/Default-568h@2x.png b/Default-568h@2x.png new file mode 100644 index 0000000..0891b7a Binary files /dev/null and b/Default-568h@2x.png differ diff --git a/Default@2x.png b/Default@2x.png new file mode 100755 index 0000000..1a3b4bf Binary files /dev/null and b/Default@2x.png differ diff --git a/Waydio.h b/Waydio.h new file mode 100644 index 0000000..33dbecc --- /dev/null +++ b/Waydio.h @@ -0,0 +1,136 @@ +// +// Waydio.h +// waydio_comms_demo +// +// Created by Tim Redfern on 01/09/2013. +// +// + +// +// ios_brsp_lib +// Created by Michael Testa on 11/1/12. +// Copyright (c) 2012 BlueRadios, Inc. All rights reserved. +// + +//The BRSP service UUID. Use this in a CBCentralManager scan to filter +#define BRSP_SERVICE_UUID @"DA2B84F1-6279-48DE-BDC0-AFBEA0226079" + +#import +#import +#import "Brsp.h" + +@class Waydio; + +@protocol WaydioDelegate + +@required +/** + Called when the open status has changed after a call to either open or close. + @param waydio The Waydio object generating this event + @param isOpen YES == Open + */ +- (void)waydio:(Waydio*)waydio OpenStatusChanged:(BOOL)isOpen; +/** + Called when the measured weight changes + @param waydio The Waydio object generating this event + @param weight + */ +- (void)waydio:(Waydio*)waydio WeightChanged:(Float32)weight; +/** + Called when the battery level changes + @param waydio The Waydio object generating this event + @param batteryPercent + */ +- (void)waydio:(Waydio*)waydio BatteryChanged:(Float32)batteryPercent; +/** + Called when the isSending changes + @param waydio The Waydio object generating this event + @param isOpen YES == Pressed + */ +- (void)waydio:(Waydio*)waydio ButtonChanged:(BOOL)isPressed; + +@optional + +/** + Used to pass on CBPeripheral errors that may occur + @param brsp The Brsp object generating this event + @param error NSError object containing the error + */ +- (void)waydio:(Waydio*)waydio ErrorReceived:(NSError*)error; + +@end + +/** + Class used to interact with the Waydio peripheral + */ +@interface Waydio : NSObject { + + id delegate; +} + +/** + The delegate used for WaydioDelegate events. + */ +@property (retain) id delegate; +/** + A pointer to the CBPeripheral object that is associated with this device. + */ +@property (nonatomic, readonly) CBPeripheral *peripheral; +/** + An integer indicating the level of security enforced by the Waydio service on the opened port + 0 == None, 1 == Unauthenticated Pairing With Encryption, 2 == Authenticated Pairing With Encryption, 99 = Unknown + */ +@property (nonatomic, readonly) NSUInteger securityLevel; +/** + Waydio open/closed status + YES = Open + */ +@property (nonatomic, readonly) BOOL isOpen; + +/** + The BRSP object used to communicate with waydio + */ +@property (strong, nonatomic) Brsp *brspObject; + +/** + A Convenience function that returns a CBUUID for the brsp Service + @return CBUUID object for service "DA2B84F1-6279-48DE-BDC0-AFBEA0226079" + */ ++ (CBUUID *) brspServiceUUID; + +/** + Initializer for this class + @param peripheral The CBPeripheral object to be used + @return self + @note Changes peripheral.delegate to self. If peripheral.delegate is set another object, initWithPeripheral and open will have to be called again + to reinitialize. + @note The default input and output buffer sizes are 1024 bytes + */ +- (id)initWithPeripheral:(CBPeripheral*)peripheral; + +/** + An alternate initializer for this class which sets the input and output buffer sizes. + Use this if the default buffer sizes are not adequate + @param peripheral The CBPeripheral object to be used + @param in_size The fixed input buffer size to use + @param out_size The fixed output buffer size to use + @return self + @note Changes peripheral.delegate to self. If peripheral.delegate is set another object, initWithPeripheral and open will have to be called again + to reinitialize. + @note The default input and output buffer sizes are 1024 bytes + */ +- (id)initWithPeripheral:(CBPeripheral*)peripheral InputBufferSize:(NSUInteger)in_size OutputBufferSize:(NSUInteger)out_size; + +/** + Opens a Waydio connection. (Prepares peipheral for using the Waydio service, characteristics, and notifications) + */ +- (void)open; + +/** + Closes a Waydio connection. (Turns off notifications, etc) + */ +- (void)close; + + + +@end diff --git a/Waydio.m b/Waydio.m new file mode 100644 index 0000000..6cb736c --- /dev/null +++ b/Waydio.m @@ -0,0 +1,57 @@ +// +// Waydio.m +// waydio_comms_demo +// +// Created by Tim Redfern on 09/09/2013. +// +// + +#import "Waydio.h" + +@implementation Waydio + + +@synthesize delegate; + +- (id)initWithPeripheral:(CBPeripheral*)peripheral { + return self; +} + +/** + An alternate initializer for this class which sets the input and output buffer sizes. + Use this if the default buffer sizes are not adequate + @param peripheral The CBPeripheral object to be used + @param in_size The fixed input buffer size to use + @param out_size The fixed output buffer size to use + @return self + @note Changes peripheral.delegate to self. If peripheral.delegate is set another object, initWithPeripheral and open will have to be called again + to reinitialize. + @note The default input and output buffer sizes are 1024 bytes + */ +- (id)initWithPeripheral:(CBPeripheral*)peripheral InputBufferSize:(NSUInteger)in_size OutputBufferSize:(NSUInteger)out_size { + // + return self; +} + ++ (CBUUID *) brspServiceUUID{ + return [CBUUID UUIDWithString:BRSP_SERVICE_UUID]; +} + + +/** + Opens a Waydio connection. (Prepares peipheral for using the Waydio service, characteristics, and notifications) + */ +- (void)open { + //[[self delegate] OpenStatusChanged:YES]; + //[NSTimer scheduledTimerWithTimeInterval:5.0 target:self + // selector:@selector(processComplete) userInfo:nil repeats:YES]; +}; + +/** + Closes a Waydio connection. (Turns off notifications, etc) + */ +- (void)close { + +} + +@end \ No newline at end of file diff --git a/app_store_images/nBlueTerm1024.png b/app_store_images/nBlueTerm1024.png new file mode 100755 index 0000000..7f32ee5 Binary files /dev/null and b/app_store_images/nBlueTerm1024.png differ diff --git a/app_store_images/nBlueTerm512.png b/app_store_images/nBlueTerm512.png new file mode 100755 index 0000000..779e76e Binary files /dev/null and b/app_store_images/nBlueTerm512.png differ diff --git a/app_store_images/screenshot1.png b/app_store_images/screenshot1.png new file mode 100755 index 0000000..4725411 Binary files /dev/null and b/app_store_images/screenshot1.png differ diff --git a/app_store_images/screenshot2.png b/app_store_images/screenshot2.png new file mode 100755 index 0000000..f80f524 Binary files /dev/null and b/app_store_images/screenshot2.png differ diff --git a/icon.png b/icon.png new file mode 100755 index 0000000..65c845f Binary files /dev/null and b/icon.png differ diff --git a/libios_brsp.a b/libios_brsp.a new file mode 100644 index 0000000..7db2d73 Binary files /dev/null and b/libios_brsp.a differ diff --git a/libios_brsp.a_device b/libios_brsp.a_device new file mode 100644 index 0000000..7db2d73 Binary files /dev/null and b/libios_brsp.a_device differ diff --git a/libios_brsp.a_simulator b/libios_brsp.a_simulator new file mode 100644 index 0000000..a7ed448 Binary files /dev/null and b/libios_brsp.a_simulator differ diff --git a/sampleclient/.DS_Store b/sampleclient/.DS_Store new file mode 100755 index 0000000..5008ddf Binary files /dev/null and b/sampleclient/.DS_Store differ diff --git a/sampleclient/AppDelegate.h b/sampleclient/AppDelegate.h new file mode 100755 index 0000000..262717d --- /dev/null +++ b/sampleclient/AppDelegate.h @@ -0,0 +1,21 @@ +// +// AppDelegate.h +// sampleterm +// +// Created by Michael Testa on 11/1/12. +// Copyright (c) Blueradios, Inc. All rights reserved. +// + +#import +#import + +@interface AppDelegate : UIResponder + +@property (strong, nonatomic) UIWindow *window; +@property (strong, nonatomic) CBCentralManager *cbCentral; +@property (strong, nonatomic) CBPeripheral *activePeripheral; + +//Returns a pointer to the shared AppDelegate ++(AppDelegate*)app; + +@end diff --git a/sampleclient/AppDelegate.m b/sampleclient/AppDelegate.m new file mode 100755 index 0000000..1e46e92 --- /dev/null +++ b/sampleclient/AppDelegate.m @@ -0,0 +1,66 @@ +// +// AppDelegate.m +// sampleterm +// +// Created by Michael Testa on 11/1/12. +// Copyright (c) Blueradios, Inc. All rights reserved. +// + +#import "AppDelegate.h" + +@implementation AppDelegate + +@synthesize window = _window; +@synthesize cbCentral; +@synthesize activePeripheral; + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + return YES; +} + +- (void)applicationWillResignActive:(UIApplication *)application +{ + /* + Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. + */ +} + +- (void)applicationDidEnterBackground:(UIApplication *)application +{ + /* + Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. + */ +} + +- (void)applicationWillEnterForeground:(UIApplication *)application +{ + /* + Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. + */ +} + +- (void)applicationDidBecomeActive:(UIApplication *)application +{ + /* + Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. + */ +} + +- (void)applicationWillTerminate:(UIApplication *)application +{ + /* + Called when the application is about to terminate. + Save data if appropriate. + See also applicationDidEnterBackground:. + */ +} + ++(AppDelegate*)app { + return (AppDelegate*)[[UIApplication sharedApplication] delegate]; +} + + +@end diff --git a/sampleclient/ConnectionController.h b/sampleclient/ConnectionController.h new file mode 100755 index 0000000..d8a7755 --- /dev/null +++ b/sampleclient/ConnectionController.h @@ -0,0 +1,32 @@ +// +// ConnectionController.h +// sampleterm +// +// Created by Michael Testa on 11/1/12. +// Copyright (c) Blueradios, Inc. All rights reserved. +// + +#import +#import "AppDelegate.h" +#import "Waydio.h" + +@interface ConnectionController : UIViewController { + UITextField *_inputText; + NSMutableString *_outputText; //used as string data for textView to make string concatenations more efficient + NSArray *_allCommands; //All commands sent by the get settings button + NSMutableArray *_commandQueue; //An array of commands queued for sending +} + +@property (strong, nonatomic) Waydio *waydioObject; +@property (strong, nonatomic) IBOutlet UITextView *textView; + +@property (strong, nonatomic) IBOutlet UIButton *disconnectButton; + +@property (weak, nonatomic) IBOutlet UILabel *weightLabel; +@property (weak, nonatomic) IBOutlet UILabel *weightReading; +@property (weak, nonatomic) IBOutlet UILabel *batteryLabel; +@property (weak, nonatomic) IBOutlet UILabel *batteryReading; + +@property (weak, nonatomic) IBOutlet UILabel *buttonReading; + +@end diff --git a/sampleclient/ConnectionController.m b/sampleclient/ConnectionController.m new file mode 100755 index 0000000..170b0a0 --- /dev/null +++ b/sampleclient/ConnectionController.m @@ -0,0 +1,180 @@ +// +// ConnectionController.m +// sampleterm +// +// Created by Michael Testa on 11/1/12. +// Copyright (c) Blueradios, Inc. All rights reserved. +// + +#import "ConnectionController.h" + +//Make this number larger or smaller to see more or less output in the textview +#define MAX_TEXT_VIEW_CHARACTERS 800 + +@implementation ConnectionController + +#pragma mark waydioDelegate + +- (void)waydio:(Waydio*)waydio OpenStatusChanged:(BOOL)isOpen { + +} +/** + Called when the measured weight changes + @param waydio The Waydio object generating this event + @param weight + */ +- (void)waydio:(Waydio*)waydio WeightChanged:(Float32)weight { + +} +/** + Called when the battery level changes + @param waydio The Waydio object generating this event + @param batteryPercent + */ +- (void)waydio:(Waydio*)waydio BatteryChanged:(Float32)batteryPercent { + +} +/** + Called when the isSending changes + @param waydio The Waydio object generating this event + @param isOpen YES == Pressed + */ +- (void)waydio:(Waydio*)waydio ButtonChanged:(BOOL)isPressed { + +} + +#pragma mark CBCentralManagerDelegate +- (void)centralManagerDidUpdateState:(CBCentralManager *)central { + +} + +- (void)centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral *)peripheral { + //call the open function to prepare the brsp service + //[self.brspObject open]; +} + +- (void)centralManager:(CBCentralManager *)central didDisconnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error { + //[self.brspObject close]; + [self.navigationController popViewControllerAnimated:YES]; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + self.navigationItem.title = [AppDelegate app].activePeripheral.name; + [_inputText setDelegate:self]; + _allCommands = [NSMutableArray new]; + [self loadCommandArray]; + //_lastMode = BrspModeData; //Default brsp mode +} + +-(void)loadCommandArray { + _allCommands = [NSArray arrayWithObjects: + @"ATMT?", + @"ATV?", + @"ATA?", + @"ATSN?", + @"ATSZ?", + @"ATSFC?", + @"ATSCL?", + @"ATSRM?", + @"ATSDIF?", + @"ATSPL?", + @"ATSUART?", + @"ATSPIO?,0", + @"ATSPIO?,1", + @"ATSPIO?,2", + @"ATSPIO?,3", + @"ATSPIO?,4", + @"ATSPIO?,5", + @"ATSPIO?,6", + @"ATSPIO?,7", + @"ATSPIO?,8", + @"ATSPIO?,9", + @"ATSPIO?,10", + @"ATSPIO?,11", + @"ATSPIO?,12", + @"ATSPIO?,13", + @"ATSPIO?,14", + @"ATSLED?,0", + @"ATSLED?,1", + @"ATSSP?", + @"ATSPK?", + @"ATSDBLE?", + @"ATSBRSP?", + @"ATSDSLE?", + @"ATSDSTLE?", + @"ATSDILE?", + @"ATSDITLE?", + @"ATSDMTLE?", + @"ATSDCP?", + @"ATSPLE?", + //D2 Modules only +// @"ATS?", +// @"ATLCA?", +// @"ATSP?", +// @"ATSCOD?", + nil]; +} + +- (void)viewWillAppear:(BOOL)animated { + [UIApplication sharedApplication].networkActivityIndicatorVisible = YES; + //[self disableButtons]; + [AppDelegate app].cbCentral.delegate = self; + + //init the object with default buffer sizes of 1024 bytes +// self.brspObject = [[Brsp alloc] initWithPeripheral:[AppDelegate app].activePeripheral]; + //init with custom buffer sizes + //self.brspObject = [[Brsp alloc] initWithPeripheral:[AppDelegate app].activePeripheral InputBufferSize:512 OutputBufferSize:512]; + + //It is important to set this delegate before calling [Brsp open] + //self.brspObject.delegate = self; + //Use CBCentral Manager to connect this peripheral + [[AppDelegate app].cbCentral connectPeripheral:[AppDelegate app].activePeripheral options:nil]; + _outputText = [NSMutableString stringWithCapacity:MAX_TEXT_VIEW_CHARACTERS]; + [super viewWillAppear:animated]; + + //_presses=0; +} + +- (void)viewDidUnload { + [super viewDidUnload]; +} + +- (void)viewWillDisappear:(BOOL)animated { + //call close to disable notifications etc (Not required) + //[brspObject close]; + //Use CBCentralManager to close the connection to this peripheral + [[AppDelegate app].cbCentral cancelPeripheralConnection:[AppDelegate app].activePeripheral]; + [super viewWillDisappear:animated]; +} + +- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { + switch(interfaceOrientation) + { + case UIInterfaceOrientationLandscapeLeft: + return NO; + case UIInterfaceOrientationLandscapeRight: + return NO; + default: + return YES; + } +} + + +#pragma mark - UI +- (IBAction)disconnectButton:(id)sender { + /* + //Save the brsp mode so it can be switched back when this process is complete + _lastMode = self.brspObject.brspMode; + if (brspObject.brspMode != BrspModeData) + [self.brspObject changeBrspMode:BrspModeData]; //change brsp mode to data + for (int i=1; i <= 10; i++) { + //Write numbers 1-10 to the device + NSError *error = [self.brspObject writeString:[NSString stringWithFormat:@"%i\r\n", i%10]]; + if (error) + NSLog(@"%@", error.description); + } + */ +} + +@end diff --git a/sampleclient/MainStoryboard.storyboard b/sampleclient/MainStoryboard.storyboard new file mode 100755 index 0000000..908994a --- /dev/null +++ b/sampleclient/MainStoryboard.storyboard @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sampleclient/ScanController.h b/sampleclient/ScanController.h new file mode 100755 index 0000000..4d3538b --- /dev/null +++ b/sampleclient/ScanController.h @@ -0,0 +1,27 @@ +// +// ScanController.h +// sampleterm +// +// Created by Michael Testa on 11/1/12. +// Copyright (c) Blueradios, Inc. All rights reserved. +// + +#import +#import "AppDelegate.h" +#import "ConnectionController.h" +#import "Waydio.h" + +@interface ScanController : UIViewController { + IBOutlet UITableView *_deviceTableView; + IBOutlet UIButton *_scanButton; + NSMutableArray *_peripherals; +} + +@property (strong, nonatomic) UITableView* deviceTableView; + +//UI Elements +- (IBAction)startScanButton:(id)sender; +- (IBAction)stopScanButton:(id)sender; +- (void)enableButton:(UIButton*)butt; +- (void)disableButton:(UIButton*)butt; +@end diff --git a/sampleclient/ScanController.m b/sampleclient/ScanController.m new file mode 100755 index 0000000..7d59c2e --- /dev/null +++ b/sampleclient/ScanController.m @@ -0,0 +1,158 @@ +// +// ScanController.m +// sampleterm +// +// Created by Michael Testa on 11/1/12. +// Copyright (c) Blueradios, Inc. All rights reserved. +// + +#import "ScanController.h" + +@implementation ScanController + +@synthesize deviceTableView = _deviceTableView; + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; +} + +#pragma mark - View lifecycle + +- (void)viewDidLoad +{ + [super viewDidLoad]; + _peripherals = [NSMutableArray new]; + self.navigationItem.title = @"Select Device"; + [self disableButton:_scanButton]; + [AppDelegate app].cbCentral = [[CBCentralManager alloc] initWithDelegate:self queue:nil]; +} + +- (void)viewDidUnload +{ + [super viewDidUnload]; +} + +- (void)viewWillAppear:(BOOL)animated +{ + [AppDelegate app].cbCentral.delegate = self; + [super viewWillAppear:animated]; +} + +- (void)viewDidAppear:(BOOL)animated +{ + [super viewDidAppear:animated]; +} + +- (void)viewWillDisappear:(BOOL)animated +{ + [super viewWillDisappear:animated]; +} + +- (void)viewDidDisappear:(BOOL)animated +{ + [super viewDidDisappear:animated]; +} + +#pragma mark - Table options + +//********************************************************************************************************************************************************** +//Table Options +//********************************************************************************************************************************************************** +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + return 1; +} + +- (NSInteger)tableView:(UITableView *)TableView numberOfRowsInSection:(NSInteger)section { + return _peripherals.count; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + + static NSString *CellIdentifier = @"Cell"; + + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; + if (cell == nil) { + cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; + } + // Configure the cell. + + CBPeripheral *peripheral = [_peripherals objectAtIndex:indexPath.row]; + + cell.textLabel.text = peripheral.name; + cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; + + return cell; +} + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { + [self performSegueWithIdentifier:@"cellSegue" sender:self]; +} + +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ + if ([[segue identifier] isEqualToString:@"cellSegue"]) { + [self stopScanButton:nil]; + NSIndexPath *indexPath = [self.deviceTableView indexPathForSelectedRow]; + + [AppDelegate app].activePeripheral = [_peripherals objectAtIndex:indexPath.row]; + [self.deviceTableView deselectRowAtIndexPath:indexPath animated:YES]; + } +} +- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {return NO;} + +#pragma mark - UI + +- (void) startScanButton:(id)sender { + [UIApplication sharedApplication].networkActivityIndicatorVisible = YES; + [_peripherals removeAllObjects]; + [self.deviceTableView reloadData]; + [self disableButton:_scanButton]; + [[AppDelegate app].cbCentral scanForPeripheralsWithServices:[NSArray arrayWithObject:[Waydio brspServiceUUID]] options:nil]; +} + +- (void) stopScanButton:(id)sender { + [[AppDelegate app].cbCentral stopScan]; + [self enableButton:_scanButton]; + [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; +} + +- (void)enableButton:(UIButton*)butt { + butt.enabled = YES; + butt.alpha = 1.0; +} + +- (void)disableButton:(UIButton*)butt { + butt.enabled = NO; + butt.alpha = 0.5; +} + +#pragma mark - CBCentralManagerDelegate + +- (void)centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral *)peripheral { +} +- (void)centralManager:(CBCentralManager *)central didDisconnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error { +} +- (void)centralManager:(CBCentralManager *)central didFailToConnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error { +} +- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI { + if (![_peripherals containsObject:peripheral]) { + [_peripherals addObject:peripheral]; + [self.deviceTableView reloadData]; + } +} +-(void)retrieveConnectedPeripherals { +} + +- (void)centralManager:(CBCentralManager *)central didRetrieveConnectedPeripherals:(NSArray *)peripheralslist { +} + +- (void)centralManager:(CBCentralManager *)central didRetrievePeripherals:(NSArray *)peripherals { +} + +- (void)centralManagerDidUpdateState:(CBCentralManager *)central { + printf("Status of CoreBluetooth central manager changed %d \r\n",central.state); + if (central.state==CBCentralManagerStatePoweredOn) { + [self enableButton:_scanButton]; + } +} +@end diff --git a/sampleclient/en.lproj/InfoPlist.strings b/sampleclient/en.lproj/InfoPlist.strings new file mode 100755 index 0000000..477b28f --- /dev/null +++ b/sampleclient/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/sampleclient/main.m b/sampleclient/main.m new file mode 100755 index 0000000..1f1654c --- /dev/null +++ b/sampleclient/main.m @@ -0,0 +1,15 @@ +// +// main.m +// sampleclient + + +#import + +#import "AppDelegate.h" + +int main(int argc, char *argv[]) +{ + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} diff --git a/sampleclient/waydio_comms_demo-Info.plist b/sampleclient/waydio_comms_demo-Info.plist new file mode 100644 index 0000000..9ad6ac8 --- /dev/null +++ b/sampleclient/waydio_comms_demo-Info.plist @@ -0,0 +1,58 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + waydio + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFiles + + icon.png + icon@2x.png + + CFBundleIcons + + CFBundlePrimaryIcon + + CFBundleIconFiles + + icon.png + icon@2x.png + + UIPrerenderedIcon + + + + CFBundleIdentifier + ${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + UIMainStoryboardFile + MainStoryboard + UIRequiredDeviceCapabilities + + armv7 + bluetooth-le + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + + + diff --git a/sampleclient/waydio_comms_demo-Prefix.pch b/sampleclient/waydio_comms_demo-Prefix.pch new file mode 100644 index 0000000..e172fd8 --- /dev/null +++ b/sampleclient/waydio_comms_demo-Prefix.pch @@ -0,0 +1,15 @@ +// +// Prefix header for all source files of the 'sampleclient' target in the 'sampleclient' project +// + +#import + +#ifndef __IPHONE_3_0 +#warning "This project uses features only available in iOS SDK 3.0 and later." +#endif + +#ifdef __OBJC__ + #import + #import +#endif + diff --git a/waydio_comms_demo.xcodeproj/project.pbxproj b/waydio_comms_demo.xcodeproj/project.pbxproj new file mode 100755 index 0000000..c237fa4 --- /dev/null +++ b/waydio_comms_demo.xcodeproj/project.pbxproj @@ -0,0 +1,438 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 2218B64517DE1CB2006DA99C /* Waydio.m in Sources */ = {isa = PBXBuildFile; fileRef = 2218B64417DE1CB2006DA99C /* Waydio.m */; }; + DE3FA7FA1513EA120035F986 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DE3FA7F91513EA120035F986 /* Default@2x.png */; }; + DE6953391518032C00ED436E /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DE6953381518032C00ED436E /* main.m */; }; + DE6953401518036700ED436E /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DE69533B1518036700ED436E /* AppDelegate.m */; }; + DE6953411518036700ED436E /* ConnectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = DE69533D1518036700ED436E /* ConnectionController.m */; }; + DE6953421518036700ED436E /* ScanController.m in Sources */ = {isa = PBXBuildFile; fileRef = DE69533F1518036700ED436E /* ScanController.m */; }; + DE6953461518037F00ED436E /* MainStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DE6953431518037F00ED436E /* MainStoryboard.storyboard */; }; + DE7AC8B616445FB600DDB33F /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DE7AC8B516445FB600DDB33F /* Default-568h@2x.png */; }; + DE83EEDC1720851400D11E2B /* libios_brsp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DE83EEDB1720851400D11E2B /* libios_brsp.a */; }; + DEB38349152CD2040096E95A /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = DEB38348152CD2040096E95A /* icon.png */; }; + DED1A24814FFE28C002966CD /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DED1A24714FFE28C002966CD /* UIKit.framework */; }; + DED1A24A14FFE28C002966CD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DED1A24914FFE28C002966CD /* Foundation.framework */; }; + DED1A24C14FFE28C002966CD /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DED1A24B14FFE28C002966CD /* CoreGraphics.framework */; }; + DED1A26F14FFE48F002966CD /* CoreBluetooth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DED1A26E14FFE48F002966CD /* CoreBluetooth.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 2218B64317DE1CB2006DA99C /* Waydio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Waydio.h; path = ../Waydio.h; sourceTree = ""; }; + 2218B64417DE1CB2006DA99C /* Waydio.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Waydio.m; path = ../Waydio.m; sourceTree = ""; }; + DE3FA7F91513EA120035F986 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; }; + DE653918165ACC0900F5DE89 /* Brsp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Brsp.h; sourceTree = ""; }; + DE6953381518032C00ED436E /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + DE69533A1518036700ED436E /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + DE69533B1518036700ED436E /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + DE69533C1518036700ED436E /* ConnectionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConnectionController.h; sourceTree = ""; }; + DE69533D1518036700ED436E /* ConnectionController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ConnectionController.m; sourceTree = ""; }; + DE69533E1518036700ED436E /* ScanController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScanController.h; sourceTree = ""; }; + DE69533F1518036700ED436E /* ScanController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ScanController.m; sourceTree = ""; }; + DE6953431518037F00ED436E /* MainStoryboard.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = MainStoryboard.storyboard; sourceTree = ""; }; + DE6953441518037F00ED436E /* waydio_comms_demo-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "waydio_comms_demo-Info.plist"; sourceTree = ""; }; + DE6953451518037F00ED436E /* waydio_comms_demo-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "waydio_comms_demo-Prefix.pch"; sourceTree = ""; }; + DE7AC8B516445FB600DDB33F /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; + DE83EEDB1720851400D11E2B /* libios_brsp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libios_brsp.a; sourceTree = ""; }; + DEB38348152CD2040096E95A /* icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icon.png; sourceTree = ""; }; + DED1A24314FFE28C002966CD /* waydio.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = waydio.app; sourceTree = BUILT_PRODUCTS_DIR; }; + DED1A24714FFE28C002966CD /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + DED1A24914FFE28C002966CD /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + DED1A24B14FFE28C002966CD /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + DED1A26E14FFE48F002966CD /* CoreBluetooth.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreBluetooth.framework; path = System/Library/Frameworks/CoreBluetooth.framework; sourceTree = SDKROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + DED1A24014FFE28C002966CD /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + DED1A26F14FFE48F002966CD /* CoreBluetooth.framework in Frameworks */, + DED1A24814FFE28C002966CD /* UIKit.framework in Frameworks */, + DED1A24A14FFE28C002966CD /* Foundation.framework in Frameworks */, + DED1A24C14FFE28C002966CD /* CoreGraphics.framework in Frameworks */, + DE83EEDC1720851400D11E2B /* libios_brsp.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + DE8EB5131517ED4A00529C7C /* Supporting FIles */ = { + isa = PBXGroup; + children = ( + DE6953431518037F00ED436E /* MainStoryboard.storyboard */, + DE6953441518037F00ED436E /* waydio_comms_demo-Info.plist */, + DE6953451518037F00ED436E /* waydio_comms_demo-Prefix.pch */, + DE6953381518032C00ED436E /* main.m */, + ); + name = "Supporting FIles"; + sourceTree = ""; + }; + DED1A23814FFE28C002966CD = { + isa = PBXGroup; + children = ( + DE83EEDB1720851400D11E2B /* libios_brsp.a */, + DE653918165ACC0900F5DE89 /* Brsp.h */, + DE7AC8B516445FB600DDB33F /* Default-568h@2x.png */, + DEB38348152CD2040096E95A /* icon.png */, + DE3FA7F91513EA120035F986 /* Default@2x.png */, + DED1A24D14FFE28C002966CD /* demo */, + DED1A24614FFE28C002966CD /* Frameworks */, + DED1A24414FFE28C002966CD /* Products */, + ); + sourceTree = ""; + }; + DED1A24414FFE28C002966CD /* Products */ = { + isa = PBXGroup; + children = ( + DED1A24314FFE28C002966CD /* waydio.app */, + ); + name = Products; + sourceTree = ""; + }; + DED1A24614FFE28C002966CD /* Frameworks */ = { + isa = PBXGroup; + children = ( + DED1A26E14FFE48F002966CD /* CoreBluetooth.framework */, + DED1A24714FFE28C002966CD /* UIKit.framework */, + DED1A24914FFE28C002966CD /* Foundation.framework */, + DED1A24B14FFE28C002966CD /* CoreGraphics.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + DED1A24D14FFE28C002966CD /* demo */ = { + isa = PBXGroup; + children = ( + 2218B64317DE1CB2006DA99C /* Waydio.h */, + 2218B64417DE1CB2006DA99C /* Waydio.m */, + DE69533A1518036700ED436E /* AppDelegate.h */, + DE69533B1518036700ED436E /* AppDelegate.m */, + DE69533C1518036700ED436E /* ConnectionController.h */, + DE69533D1518036700ED436E /* ConnectionController.m */, + DE69533E1518036700ED436E /* ScanController.h */, + DE69533F1518036700ED436E /* ScanController.m */, + DE8EB5131517ED4A00529C7C /* Supporting FIles */, + ); + name = demo; + path = sampleclient; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + DED1A24214FFE28C002966CD /* waydio */ = { + isa = PBXNativeTarget; + buildConfigurationList = DED1A25B14FFE28C002966CD /* Build configuration list for PBXNativeTarget "waydio" */; + buildPhases = ( + DED1A23F14FFE28C002966CD /* Sources */, + DED1A24014FFE28C002966CD /* Frameworks */, + DED1A24114FFE28C002966CD /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = waydio; + productName = sampleclient; + productReference = DED1A24314FFE28C002966CD /* waydio.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + DED1A23A14FFE28C002966CD /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0460; + }; + buildConfigurationList = DED1A23D14FFE28C002966CD /* Build configuration list for PBXProject "waydio_comms_demo" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = DED1A23814FFE28C002966CD; + productRefGroup = DED1A24414FFE28C002966CD /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + DED1A24214FFE28C002966CD /* waydio */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + DED1A24114FFE28C002966CD /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DE3FA7FA1513EA120035F986 /* Default@2x.png in Resources */, + DE6953461518037F00ED436E /* MainStoryboard.storyboard in Resources */, + DEB38349152CD2040096E95A /* icon.png in Resources */, + DE7AC8B616445FB600DDB33F /* Default-568h@2x.png in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + DED1A23F14FFE28C002966CD /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DE6953391518032C00ED436E /* main.m in Sources */, + DE6953401518036700ED436E /* AppDelegate.m in Sources */, + DE6953411518036700ED436E /* ConnectionController.m in Sources */, + DE6953421518036700ED436E /* ScanController.m in Sources */, + 2218B64517DE1CB2006DA99C /* Waydio.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + DE8FA2C61524F50800FB41C6 /* Ad Hoc */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + CURRENT_PROJECT_VERSION = 2.1.0; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 5.0; + OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = "Ad Hoc"; + }; + DE8FA2C71524F50800FB41C6 /* Ad Hoc */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer: Tim Redfern (GS9W5PAK57)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Tim Redfern (GS9W5PAK57)"; + CURRENT_PROJECT_VERSION = 2.1.0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "sampleclient/waydio_comms_demo-Prefix.pch"; + INFOPLIST_FILE = "sampleclient/waydio_comms_demo-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)\"", + "\"$(SRCROOT)/Debug-iphonesimulator\"", + ); + PRODUCT_NAME = waydio; + PROVISIONING_PROFILE = "AADF6DA9-42AE-43DD-AAAC-2D51EF9CAFA5"; + "PROVISIONING_PROFILE[sdk=iphoneos*]" = "AADF6DA9-42AE-43DD-AAAC-2D51EF9CAFA5"; + TARGETED_DEVICE_FAMILY = 2; + VALID_ARCHS = "armv6 armv7 armv7s i386"; + WRAPPER_EXTENSION = app; + }; + name = "Ad Hoc"; + }; + DEC2381D152B8BE200F54BEE /* Distribution */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Distribution: BlueRadios, Inc."; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: BlueRadios, Inc."; + COPY_PHASE_STRIP = YES; + CURRENT_PROJECT_VERSION = 2.1.0; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 5.0; + OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Distribution; + }; + DEC2381E152B8BE200F54BEE /* Distribution */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer: Tim Redfern (GS9W5PAK57)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Tim Redfern (GS9W5PAK57)"; + CURRENT_PROJECT_VERSION = 2.1.0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "sampleclient/waydio_comms_demo-Prefix.pch"; + INFOPLIST_FILE = "sampleclient/waydio_comms_demo-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)\"", + "\"$(SRCROOT)/Debug-iphonesimulator\"", + ); + PRODUCT_NAME = waydio; + PROVISIONING_PROFILE = "AADF6DA9-42AE-43DD-AAAC-2D51EF9CAFA5"; + "PROVISIONING_PROFILE[sdk=iphoneos*]" = "AADF6DA9-42AE-43DD-AAAC-2D51EF9CAFA5"; + TARGETED_DEVICE_FAMILY = 2; + VALID_ARCHS = "armv6 armv7 armv7s i386"; + WRAPPER_EXTENSION = app; + }; + name = Distribution; + }; + DED1A25914FFE28C002966CD /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 2.1.0; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 5.0; + SDKROOT = iphoneos; + }; + name = Debug; + }; + DED1A25A14FFE28C002966CD /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + CURRENT_PROJECT_VERSION = 2.1.0; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 5.0; + OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + DED1A25C14FFE28C002966CD /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer: Tim Redfern (GS9W5PAK57)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Tim Redfern (GS9W5PAK57)"; + CURRENT_PROJECT_VERSION = 2.1.0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "sampleclient/waydio_comms_demo-Prefix.pch"; + INFOPLIST_FILE = "sampleclient/waydio_comms_demo-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)\"", + "\"$(SRCROOT)/Debug-iphonesimulator\"", + ); + PRODUCT_NAME = waydio; + PROVISIONING_PROFILE = "AADF6DA9-42AE-43DD-AAAC-2D51EF9CAFA5"; + "PROVISIONING_PROFILE[sdk=iphoneos*]" = "AADF6DA9-42AE-43DD-AAAC-2D51EF9CAFA5"; + TARGETED_DEVICE_FAMILY = 2; + VALID_ARCHS = "armv6 armv7 armv7s i386"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + DED1A25D14FFE28C002966CD /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer: Tim Redfern (GS9W5PAK57)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Tim Redfern (GS9W5PAK57)"; + CURRENT_PROJECT_VERSION = 2.1.0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "sampleclient/waydio_comms_demo-Prefix.pch"; + INFOPLIST_FILE = "sampleclient/waydio_comms_demo-Info.plist"; + "INFOPLIST_FILE[sdk=*]" = "sampleclient/sampleterm-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)\"", + "\"$(SRCROOT)/Debug-iphonesimulator\"", + ); + PRODUCT_NAME = waydio; + PROVISIONING_PROFILE = "AADF6DA9-42AE-43DD-AAAC-2D51EF9CAFA5"; + "PROVISIONING_PROFILE[sdk=iphoneos*]" = "AADF6DA9-42AE-43DD-AAAC-2D51EF9CAFA5"; + TARGETED_DEVICE_FAMILY = 2; + VALID_ARCHS = "armv6 armv7 armv7s i386"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + DED1A23D14FFE28C002966CD /* Build configuration list for PBXProject "waydio_comms_demo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DED1A25914FFE28C002966CD /* Debug */, + DED1A25A14FFE28C002966CD /* Release */, + DEC2381D152B8BE200F54BEE /* Distribution */, + DE8FA2C61524F50800FB41C6 /* Ad Hoc */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + DED1A25B14FFE28C002966CD /* Build configuration list for PBXNativeTarget "waydio" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DED1A25C14FFE28C002966CD /* Debug */, + DED1A25D14FFE28C002966CD /* Release */, + DEC2381E152B8BE200F54BEE /* Distribution */, + DE8FA2C71524F50800FB41C6 /* Ad Hoc */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = DED1A23A14FFE28C002966CD /* Project object */; +} diff --git a/waydio_comms_demo.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/waydio_comms_demo.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100755 index 0000000..ccba1c9 --- /dev/null +++ b/waydio_comms_demo.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/waydio_comms_demo.xcodeproj/project.xcworkspace/xcuserdata/michaeltesta.xcuserdatad/UserInterfaceState.xcuserstate b/waydio_comms_demo.xcodeproj/project.xcworkspace/xcuserdata/michaeltesta.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100755 index 0000000..a4526ac Binary files /dev/null and b/waydio_comms_demo.xcodeproj/project.xcworkspace/xcuserdata/michaeltesta.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/waydio_comms_demo.xcodeproj/project.xcworkspace/xcuserdata/michaeltesta.xcuserdatad/WorkspaceSettings.xcsettings b/waydio_comms_demo.xcodeproj/project.xcworkspace/xcuserdata/michaeltesta.xcuserdatad/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..659c876 --- /dev/null +++ b/waydio_comms_demo.xcodeproj/project.xcworkspace/xcuserdata/michaeltesta.xcuserdatad/WorkspaceSettings.xcsettings @@ -0,0 +1,10 @@ + + + + + HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges + + SnapshotAutomaticallyBeforeSignificantChanges + + + diff --git a/waydio_comms_demo.xcodeproj/project.xcworkspace/xcuserdata/tim.xcuserdatad/UserInterfaceState.xcuserstate b/waydio_comms_demo.xcodeproj/project.xcworkspace/xcuserdata/tim.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..f46f38f Binary files /dev/null and b/waydio_comms_demo.xcodeproj/project.xcworkspace/xcuserdata/tim.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/waydio_comms_demo.xcodeproj/project.xcworkspace/xcuserdata/tim.xcuserdatad/WorkspaceSettings.xcsettings b/waydio_comms_demo.xcodeproj/project.xcworkspace/xcuserdata/tim.xcuserdatad/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..28f6741 --- /dev/null +++ b/waydio_comms_demo.xcodeproj/project.xcworkspace/xcuserdata/tim.xcuserdatad/WorkspaceSettings.xcsettings @@ -0,0 +1,22 @@ + + + + + BuildLocationStyle + UseAppPreferences + CustomBuildLocationType + RelativeToDerivedData + DerivedDataLocationStyle + Default + HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges + + IssueFilterStyle + ShowActiveSchemeOnly + LiveSourceIssuesEnabled + + SnapshotAutomaticallyBeforeSignificantChanges + + SnapshotLocationStyle + Default + + diff --git a/waydio_comms_demo.xcodeproj/xcuserdata/michaeltesta.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist b/waydio_comms_demo.xcodeproj/xcuserdata/michaeltesta.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist new file mode 100755 index 0000000..c760112 --- /dev/null +++ b/waydio_comms_demo.xcodeproj/xcuserdata/michaeltesta.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist @@ -0,0 +1,33 @@ + + + + + + + + + diff --git a/waydio_comms_demo.xcodeproj/xcuserdata/michaeltesta.xcuserdatad/xcschemes/Distribution.xcscheme b/waydio_comms_demo.xcodeproj/xcuserdata/michaeltesta.xcuserdatad/xcschemes/Distribution.xcscheme new file mode 100755 index 0000000..8475900 --- /dev/null +++ b/waydio_comms_demo.xcodeproj/xcuserdata/michaeltesta.xcuserdatad/xcschemes/Distribution.xcscheme @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/waydio_comms_demo.xcodeproj/xcuserdata/michaeltesta.xcuserdatad/xcschemes/Sample Client.xcscheme b/waydio_comms_demo.xcodeproj/xcuserdata/michaeltesta.xcuserdatad/xcschemes/Sample Client.xcscheme new file mode 100755 index 0000000..1dd095c --- /dev/null +++ b/waydio_comms_demo.xcodeproj/xcuserdata/michaeltesta.xcuserdatad/xcschemes/Sample Client.xcscheme @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/waydio_comms_demo.xcodeproj/xcuserdata/michaeltesta.xcuserdatad/xcschemes/xcschememanagement.plist b/waydio_comms_demo.xcodeproj/xcuserdata/michaeltesta.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 0000000..2464055 --- /dev/null +++ b/waydio_comms_demo.xcodeproj/xcuserdata/michaeltesta.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,27 @@ + + + + + SchemeUserState + + Distribution.xcscheme + + orderHint + 1 + + Sample Client.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + DED1A24214FFE28C002966CD + + primary + + + + + diff --git a/waydio_comms_demo.xcodeproj/xcuserdata/tim.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist b/waydio_comms_demo.xcodeproj/xcuserdata/tim.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist new file mode 100644 index 0000000..ae3d289 --- /dev/null +++ b/waydio_comms_demo.xcodeproj/xcuserdata/tim.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist @@ -0,0 +1,20 @@ + + + + + + + diff --git a/waydio_comms_demo.xcodeproj/xcuserdata/tim.xcuserdatad/xcschemes/nBlueTerm.xcscheme b/waydio_comms_demo.xcodeproj/xcuserdata/tim.xcuserdatad/xcschemes/nBlueTerm.xcscheme new file mode 100644 index 0000000..4d97631 --- /dev/null +++ b/waydio_comms_demo.xcodeproj/xcuserdata/tim.xcuserdatad/xcschemes/nBlueTerm.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/waydio_comms_demo.xcodeproj/xcuserdata/tim.xcuserdatad/xcschemes/xcschememanagement.plist b/waydio_comms_demo.xcodeproj/xcuserdata/tim.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..19fb8a1 --- /dev/null +++ b/waydio_comms_demo.xcodeproj/xcuserdata/tim.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + nBlueTerm.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + DED1A24214FFE28C002966CD + + primary + + + + + -- cgit v1.2.3