mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-02-05 00:40:19 +00:00
started to integrate inquiry view - not working yet...
This commit is contained in:
parent
c30f4e6b69
commit
c912f0be1a
@ -1,98 +0,0 @@
|
|||||||
/*
|
|
||||||
* test.c
|
|
||||||
*
|
|
||||||
* Created by Matthias Ringwald on 7/14/09.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <strings.h>
|
|
||||||
|
|
||||||
#include <btstack/btstack.h>
|
|
||||||
#include <btstack/run_loop.h>
|
|
||||||
#include <btstack/hci_cmds.h>
|
|
||||||
|
|
||||||
// bd_addr_t addr = {0x00, 0x03, 0xc9, 0x3d, 0x77, 0x43 }; // Think Outside Keyboard
|
|
||||||
bd_addr_t addr = {0x00, 0x19, 0x1d, 0x90, 0x44, 0x68 }; // WiiMote
|
|
||||||
// bd_addr_t addr = {0x00, 0x19, 0x1d, 0x94, 0x7a, 0xff }; // WiiMote - iPhoneBlog.de
|
|
||||||
|
|
||||||
static void (*data_cb)(uint8_t x, uint8_t y, uint8_t z);
|
|
||||||
static void (*state_cb)(char *text);
|
|
||||||
|
|
||||||
void packet_handler(uint8_t packet_type, uint16_t channel, uint8_t *packet, uint16_t size){
|
|
||||||
bd_addr_t event_addr;
|
|
||||||
|
|
||||||
switch (packet_type) {
|
|
||||||
|
|
||||||
case L2CAP_DATA_PACKET:
|
|
||||||
if (packet[0] == 0xa1 && packet[1] == 0x31){
|
|
||||||
(*data_cb)(packet[4], packet[5], packet[6]);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case HCI_EVENT_PACKET:
|
|
||||||
|
|
||||||
switch (packet[0]){
|
|
||||||
|
|
||||||
case BTSTACK_EVENT_STATE:
|
|
||||||
// bt stack activated, get started - // use pairing yes/no
|
|
||||||
if (packet[2] == HCI_STATE_WORKING) {
|
|
||||||
bt_send_cmd(&hci_write_authentication_enable, 0);
|
|
||||||
(*state_cb)("BT running");
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case L2CAP_EVENT_CHANNEL_OPENED:
|
|
||||||
// inform about new l2cap connection
|
|
||||||
bt_flip_addr(event_addr, &packet[3]);
|
|
||||||
uint16_t psm = READ_BT_16(packet, 11);
|
|
||||||
uint16_t source_cid = READ_BT_16(packet, 13);
|
|
||||||
printf("Channel successfully opened: ");
|
|
||||||
print_bd_addr(event_addr);
|
|
||||||
printf(", handle 0x%02x, psm 0x%02x, source cid 0x%02x, dest cid 0x%02x\n",
|
|
||||||
READ_BT_16(packet, 9), psm, source_cid, READ_BT_16(packet, 15));
|
|
||||||
if (psm == 0x13) {
|
|
||||||
// interupt channel openedn succesfully, now open control channel, too.
|
|
||||||
bt_send_cmd(&l2cap_create_channel, event_addr, 0x11);
|
|
||||||
} else {
|
|
||||||
// request acceleration data.. probably has to be sent to control channel 0x11 instead of 0x13
|
|
||||||
uint8_t setMode31[] = { 0x52, 0x12, 0x00, 0x31 };
|
|
||||||
bt_send_l2cap( source_cid, setMode31, sizeof(setMode31));
|
|
||||||
uint8_t setLEDs[] = { 0x52, 0x11, 0x10 };
|
|
||||||
bt_send_l2cap( source_cid, setLEDs, sizeof(setLEDs));
|
|
||||||
(*state_cb)("WiiMote connected");
|
|
||||||
}
|
|
||||||
|
|
||||||
case HCI_EVENT_COMMAND_COMPLETE:
|
|
||||||
// connect to HID device (PSM 0x13) at addr
|
|
||||||
if ( COMMAND_COMPLETE_EVENT(packet, hci_write_authentication_enable) ) {
|
|
||||||
(*state_cb)("Connecting to WiiMote");
|
|
||||||
bt_send_cmd(&l2cap_create_channel, addr, 0x13);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void set_bt_state_cb(void (*cb)(char *text)){
|
|
||||||
state_cb = cb;
|
|
||||||
}
|
|
||||||
|
|
||||||
void set_data_cb(void (*handler)(uint8_t x, uint8_t y, uint8_t z)){
|
|
||||||
data_cb = handler;
|
|
||||||
}
|
|
||||||
|
|
||||||
void start_bt(){
|
|
||||||
run_loop_init(RUN_LOOP_COCOA);
|
|
||||||
bt_open();
|
|
||||||
bt_register_packet_handler(packet_handler);
|
|
||||||
(*state_cb)("BT started");
|
|
||||||
bt_send_cmd(&btstack_set_power_mode, HCI_POWER_ON );
|
|
||||||
}
|
|
@ -1,13 +0,0 @@
|
|||||||
/*
|
|
||||||
* BTWiiMote.h
|
|
||||||
*
|
|
||||||
* Created by Matthias Ringwald on 8/2/09.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
void start_bt();
|
|
||||||
void hci_register_event_packet_handler(void (*handler)(uint8_t *packet, uint16_t size));
|
|
||||||
|
|
||||||
void set_bt_state_cb(void (*cb)(char *text));
|
|
||||||
void set_data_cb(void (*handler)(uint8_t x, uint8_t y, uint8_t z));
|
|
11
example/WiiMoteOpenGLDemo/Classes/EAGLViewController.h
Normal file
11
example/WiiMoteOpenGLDemo/Classes/EAGLViewController.h
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
//
|
||||||
|
// EAGLViewController.h
|
||||||
|
//
|
||||||
|
// Created by Matthias Ringwald on 10/23/09.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
|
|
||||||
|
@interface EAGLViewController : UIViewController
|
||||||
|
@end
|
25
example/WiiMoteOpenGLDemo/Classes/EAGLViewController.m
Normal file
25
example/WiiMoteOpenGLDemo/Classes/EAGLViewController.m
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
//
|
||||||
|
// EAGLViewController.m
|
||||||
|
//
|
||||||
|
// Created by Matthias Ringwald on 10/23/09.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "EAGLViewController.h"
|
||||||
|
#import "EAGLView.h"
|
||||||
|
|
||||||
|
@implementation EAGLViewController
|
||||||
|
// The simplest UIViewController subclass just overrides -loadView.
|
||||||
|
- (void)loadView
|
||||||
|
{
|
||||||
|
UIView *view = [[EAGLView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
|
||||||
|
self.view = view;
|
||||||
|
[view release];
|
||||||
|
|
||||||
|
self.title = @"WiiMote";
|
||||||
|
}
|
||||||
|
// Override to allow orientations other than the default portrait orientation.
|
||||||
|
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
|
||||||
|
return YES;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
@ -5,18 +5,23 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
|
#import "BTInquiryViewController.h"
|
||||||
|
|
||||||
@class EAGLView;
|
@class EAGLView;
|
||||||
|
|
||||||
@interface WiiMoteOpenGLDemoAppDelegate : NSObject <UIApplicationDelegate> {
|
@interface WiiMoteOpenGLDemoAppDelegate : NSObject <UIApplicationDelegate, BTInquiryDelegate> {
|
||||||
UIWindow *window;
|
UIWindow *window;
|
||||||
|
UIViewController *glViewControl;
|
||||||
|
BTInquiryViewController *inqViewControl;
|
||||||
|
UINavigationController *navControl;
|
||||||
EAGLView *glView;
|
EAGLView *glView;
|
||||||
UILabel *status;
|
UILabel *status;
|
||||||
}
|
}
|
||||||
|
|
||||||
@property (nonatomic, retain) IBOutlet UIWindow *window;
|
@property (nonatomic, retain) UIWindow *window;
|
||||||
@property (nonatomic, retain) IBOutlet EAGLView *glView;
|
@property (nonatomic, retain) UINavigationController *navControl;
|
||||||
@property (nonatomic, retain) IBOutlet UILabel *status;
|
@property (nonatomic, retain) UIViewController *glViewControl;
|
||||||
|
@property (nonatomic, retain) EAGLView *glView;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
@ -5,10 +5,18 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#import "WiiMoteOpenGLDemoAppDelegate.h"
|
#import "WiiMoteOpenGLDemoAppDelegate.h"
|
||||||
|
#import "BTDevice.h"
|
||||||
#import "EAGLView.h"
|
#import "EAGLView.h"
|
||||||
#include "../BTWiiMote.h"
|
#import "EAGLViewController.h"
|
||||||
|
#import "BTInquiryViewController.h"
|
||||||
|
|
||||||
// #define USE_BLUETOOTH
|
#import <btstack/btstack.h>
|
||||||
|
#import <btstack/run_loop.h>
|
||||||
|
#import <btstack/hci_cmds.h>
|
||||||
|
|
||||||
|
#define USE_BLUETOOTH
|
||||||
|
|
||||||
|
bd_addr_t addr = {0x00, 0x19, 0x1d, 0x90, 0x44, 0x68 }; // WiiMote
|
||||||
|
|
||||||
WiiMoteOpenGLDemoAppDelegate * theMainApp;
|
WiiMoteOpenGLDemoAppDelegate * theMainApp;
|
||||||
|
|
||||||
@ -16,14 +24,10 @@ WiiMoteOpenGLDemoAppDelegate * theMainApp;
|
|||||||
|
|
||||||
@synthesize window;
|
@synthesize window;
|
||||||
@synthesize glView;
|
@synthesize glView;
|
||||||
@synthesize status;
|
@synthesize navControl;
|
||||||
|
@synthesize glViewControl;
|
||||||
static void bt_state_cb(char *text){
|
|
||||||
NSLog(@"BT state: %s", text);
|
|
||||||
NSString *stringFromUTFString = [[NSString alloc] initWithUTF8String:text];
|
|
||||||
[[theMainApp status] setText:stringFromUTFString];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
#define SIZE 5
|
||||||
static void bt_data_cb(uint8_t x, uint8_t y, uint8_t z){
|
static void bt_data_cb(uint8_t x, uint8_t y, uint8_t z){
|
||||||
// NSLog(@"BT data: %u %u %u", x , y ,z);
|
// NSLog(@"BT data: %u %u %u", x , y ,z);
|
||||||
// [[theMainApp status] setText:[NSString stringWithFormat:@"X:%03u Y:%03u Z:%03u", x, y, z]];
|
// [[theMainApp status] setText:[NSString stringWithFormat:@"X:%03u Y:%03u Z:%03u", x, y, z]];
|
||||||
@ -33,10 +37,8 @@ static void bt_data_cb(uint8_t x, uint8_t y, uint8_t z){
|
|||||||
int roll = atan2(ax, sqrt(ay*ay+az*az)) * 180 / M_PI;
|
int roll = atan2(ax, sqrt(ay*ay+az*az)) * 180 / M_PI;
|
||||||
int pitch = atan2(ay, sqrt(ax*ax+az*az)) * 180 / M_PI;
|
int pitch = atan2(ay, sqrt(ax*ax+az*az)) * 180 / M_PI;
|
||||||
|
|
||||||
|
|
||||||
#if 1
|
#if 1
|
||||||
// moving average of size SIZE
|
// moving average of size SIZE
|
||||||
#define SIZE 5
|
|
||||||
static int pos = 0;
|
static int pos = 0;
|
||||||
static int historyRoll[SIZE];
|
static int historyRoll[SIZE];
|
||||||
static int historyPitch[SIZE];
|
static int historyPitch[SIZE];
|
||||||
@ -55,30 +57,87 @@ static void bt_data_cb(uint8_t x, uint8_t y, uint8_t z){
|
|||||||
roll = roll / SIZE;
|
roll = roll / SIZE;
|
||||||
pitch = pitch / SIZE;
|
pitch = pitch / SIZE;
|
||||||
#endif
|
#endif
|
||||||
// pitch += 90;
|
|
||||||
[[theMainApp glView] setRotationX:-pitch Y:roll Z:0];
|
[[theMainApp glView] setRotationX:-pitch Y:roll Z:0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void packet_handler(uint8_t packet_type, uint16_t channel, uint8_t *packet, uint16_t size){
|
||||||
|
bd_addr_t event_addr;
|
||||||
|
|
||||||
|
switch (packet_type) {
|
||||||
|
|
||||||
|
case L2CAP_DATA_PACKET:
|
||||||
|
if (packet[0] == 0xa1 && packet[1] == 0x31){
|
||||||
|
bt_data_cb(packet[4], packet[5], packet[6]);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case HCI_EVENT_PACKET:
|
||||||
|
|
||||||
|
switch (packet[0]){
|
||||||
|
|
||||||
|
case L2CAP_EVENT_CHANNEL_OPENED:
|
||||||
|
// inform about new l2cap connection
|
||||||
|
bt_flip_addr(event_addr, &packet[3]);
|
||||||
|
uint16_t psm = READ_BT_16(packet, 11);
|
||||||
|
uint16_t source_cid = READ_BT_16(packet, 13);
|
||||||
|
printf("Channel successfully opened: ");
|
||||||
|
print_bd_addr(event_addr);
|
||||||
|
printf(", handle 0x%02x, psm 0x%02x, source cid 0x%02x, dest cid 0x%02x\n",
|
||||||
|
READ_BT_16(packet, 9), psm, source_cid, READ_BT_16(packet, 15));
|
||||||
|
if (psm == 0x13) {
|
||||||
|
// interupt channel openedn succesfully, now open control channel, too.
|
||||||
|
bt_send_cmd(&l2cap_create_channel, event_addr, 0x11);
|
||||||
|
} else {
|
||||||
|
// request acceleration data.. probably has to be sent to control channel 0x11 instead of 0x13
|
||||||
|
uint8_t setMode31[] = { 0x52, 0x12, 0x00, 0x31 };
|
||||||
|
bt_send_l2cap( source_cid, setMode31, sizeof(setMode31));
|
||||||
|
uint8_t setLEDs[] = { 0x52, 0x11, 0x10 };
|
||||||
|
bt_send_l2cap( source_cid, setLEDs, sizeof(setLEDs));
|
||||||
|
// (*state_cb)("WiiMote connected");
|
||||||
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
- (void)applicationDidFinishLaunching:(UIApplication *)application {
|
- (void)applicationDidFinishLaunching:(UIApplication *)application {
|
||||||
NSLog(@"Started");
|
NSLog(@"Started");
|
||||||
|
|
||||||
|
#ifdef USE_BLUETOOTH
|
||||||
|
run_loop_init(RUN_LOOP_COCOA);
|
||||||
|
bt_open();
|
||||||
|
bt_register_packet_handler(packet_handler);
|
||||||
|
#endif
|
||||||
|
|
||||||
// create window
|
// create window
|
||||||
window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
|
window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
|
||||||
[window setBackgroundColor:[UIColor blueColor]];
|
[window setBackgroundColor:[UIColor blueColor]];
|
||||||
|
|
||||||
// add view to window
|
// create view controller
|
||||||
glView = [[EAGLView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
|
glViewControl = [[EAGLViewController alloc] init];
|
||||||
[window addSubview:glView];
|
|
||||||
|
// create inq controller
|
||||||
|
inqViewControl = [[BTInquiryViewController alloc] init];
|
||||||
|
[inqViewControl setTitle:@"BTstack Device Selector"];
|
||||||
|
// create nav view controller
|
||||||
|
navControl = [[UINavigationController alloc] initWithRootViewController:inqViewControl];
|
||||||
|
|
||||||
|
// add view to window
|
||||||
|
[window addSubview:[navControl view]];
|
||||||
|
|
||||||
// status = [[UILabel alloc] init];
|
|
||||||
// [status setText:@"This is my text"];
|
|
||||||
theMainApp = self;
|
theMainApp = self;
|
||||||
|
|
||||||
#ifdef USE_BLUETOOTH
|
#ifdef USE_BLUETOOTH
|
||||||
set_bt_state_cb(bt_state_cb);
|
[inqViewControl setDelegate:self];
|
||||||
set_data_cb(bt_data_cb);
|
[inqViewControl startInquiry];
|
||||||
start_bt();
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
glView = (EAGLView *) [glViewControl view];
|
||||||
glView.animationInterval = 1.0 / 60.0;
|
glView.animationInterval = 1.0 / 60.0;
|
||||||
[glView startAnimation];
|
[glView startAnimation];
|
||||||
|
|
||||||
@ -95,6 +154,12 @@ static void bt_data_cb(uint8_t x, uint8_t y, uint8_t z){
|
|||||||
glView.animationInterval = 1.0 / 60.0;
|
glView.animationInterval = 1.0 / 60.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-(void) deviceChoosen:(BTInquiryViewController *) inqView device:(BTDevice*) device{
|
||||||
|
NSLog(@"deviceChoosen %@", [device toString]);
|
||||||
|
|
||||||
|
[navControl pushViewController:glViewControl animated:YES];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
- (void)dealloc {
|
- (void)dealloc {
|
||||||
[window release];
|
[window release];
|
||||||
|
@ -15,11 +15,11 @@
|
|||||||
28FD15080DC6FC5B0079059D /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 28FD15070DC6FC5B0079059D /* QuartzCore.framework */; };
|
28FD15080DC6FC5B0079059D /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 28FD15070DC6FC5B0079059D /* QuartzCore.framework */; };
|
||||||
9C0D06391091035200FC3BBA /* BTDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C0D06361091035200FC3BBA /* BTDevice.m */; };
|
9C0D06391091035200FC3BBA /* BTDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C0D06361091035200FC3BBA /* BTDevice.m */; };
|
||||||
9C0D063A1091035200FC3BBA /* BTInquiryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C0D06381091035200FC3BBA /* BTInquiryViewController.m */; };
|
9C0D063A1091035200FC3BBA /* BTInquiryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C0D06381091035200FC3BBA /* BTInquiryViewController.m */; };
|
||||||
|
9C0D070D1092316D00FC3BBA /* EAGLViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C0D070C1092316D00FC3BBA /* EAGLViewController.m */; };
|
||||||
9C180042108B95B000824BE7 /* libBTstack.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C180041108B95B000824BE7 /* libBTstack.dylib */; };
|
9C180042108B95B000824BE7 /* libBTstack.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C180041108B95B000824BE7 /* libBTstack.dylib */; };
|
||||||
9C6BB62E1027911E00A0BCB0 /* wiimote_texture.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C6BB62D1027911E00A0BCB0 /* wiimote_texture.png */; };
|
9C6BB62E1027911E00A0BCB0 /* wiimote_texture.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C6BB62D1027911E00A0BCB0 /* wiimote_texture.png */; };
|
||||||
9CB96E9810278945002663D0 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9CB96E9710278945002663D0 /* CoreGraphics.framework */; };
|
9CB96E9810278945002663D0 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9CB96E9710278945002663D0 /* CoreGraphics.framework */; };
|
||||||
9CB96EEF10278D8D002663D0 /* EAGLView.m in Sources */ = {isa = PBXBuildFile; fileRef = 28FD14FD0DC6FC130079059D /* EAGLView.m */; };
|
9CB96EEF10278D8D002663D0 /* EAGLView.m in Sources */ = {isa = PBXBuildFile; fileRef = 28FD14FD0DC6FC130079059D /* EAGLView.m */; };
|
||||||
9CCE6DDA1025E18700FCE9F4 /* BTWiiMote.c in Sources */ = {isa = PBXBuildFile; fileRef = 9CCE6DD91025E18700FCE9F4 /* BTWiiMote.c */; };
|
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
@ -39,6 +39,8 @@
|
|||||||
9C0D06361091035200FC3BBA /* BTDevice.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; name = BTDevice.m; path = ../../CocoaTouch/src/BTDevice.m; sourceTree = SOURCE_ROOT; };
|
9C0D06361091035200FC3BBA /* BTDevice.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; name = BTDevice.m; path = ../../CocoaTouch/src/BTDevice.m; sourceTree = SOURCE_ROOT; };
|
||||||
9C0D06371091035200FC3BBA /* BTInquiryViewController.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = BTInquiryViewController.h; path = ../../CocoaTouch/include/BTstack/BTInquiryViewController.h; sourceTree = SOURCE_ROOT; };
|
9C0D06371091035200FC3BBA /* BTInquiryViewController.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = BTInquiryViewController.h; path = ../../CocoaTouch/include/BTstack/BTInquiryViewController.h; sourceTree = SOURCE_ROOT; };
|
||||||
9C0D06381091035200FC3BBA /* BTInquiryViewController.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; name = BTInquiryViewController.m; path = ../../CocoaTouch/src/BTInquiryViewController.m; sourceTree = SOURCE_ROOT; };
|
9C0D06381091035200FC3BBA /* BTInquiryViewController.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; name = BTInquiryViewController.m; path = ../../CocoaTouch/src/BTInquiryViewController.m; sourceTree = SOURCE_ROOT; };
|
||||||
|
9C0D070B1092316D00FC3BBA /* EAGLViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EAGLViewController.h; sourceTree = "<group>"; };
|
||||||
|
9C0D070C1092316D00FC3BBA /* EAGLViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EAGLViewController.m; sourceTree = "<group>"; };
|
||||||
9C18001B108B94FB00824BE7 /* btstack.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = btstack.h; sourceTree = "<group>"; };
|
9C18001B108B94FB00824BE7 /* btstack.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = btstack.h; sourceTree = "<group>"; };
|
||||||
9C18001C108B94FB00824BE7 /* hci_cmds.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = hci_cmds.h; sourceTree = "<group>"; };
|
9C18001C108B94FB00824BE7 /* hci_cmds.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = hci_cmds.h; sourceTree = "<group>"; };
|
||||||
9C18001D108B94FB00824BE7 /* linked_list.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = linked_list.h; sourceTree = "<group>"; };
|
9C18001D108B94FB00824BE7 /* linked_list.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = linked_list.h; sourceTree = "<group>"; };
|
||||||
@ -47,8 +49,6 @@
|
|||||||
9C180041108B95B000824BE7 /* libBTstack.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libBTstack.dylib; path = ../../src/libBTstack.dylib; sourceTree = SOURCE_ROOT; };
|
9C180041108B95B000824BE7 /* libBTstack.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libBTstack.dylib; path = ../../src/libBTstack.dylib; sourceTree = SOURCE_ROOT; };
|
||||||
9C6BB62D1027911E00A0BCB0 /* wiimote_texture.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = wiimote_texture.png; sourceTree = "<group>"; };
|
9C6BB62D1027911E00A0BCB0 /* wiimote_texture.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = wiimote_texture.png; sourceTree = "<group>"; };
|
||||||
9CB96E9710278945002663D0 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
9CB96E9710278945002663D0 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
||||||
9CCE6DD91025E18700FCE9F4 /* BTWiiMote.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = BTWiiMote.c; sourceTree = "<group>"; };
|
|
||||||
9CCE6DDB1025E19600FCE9F4 /* BTWiiMote.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BTWiiMote.h; sourceTree = "<group>"; };
|
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
@ -73,6 +73,8 @@
|
|||||||
children = (
|
children = (
|
||||||
28FD14FC0DC6FC130079059D /* EAGLView.h */,
|
28FD14FC0DC6FC130079059D /* EAGLView.h */,
|
||||||
28FD14FD0DC6FC130079059D /* EAGLView.m */,
|
28FD14FD0DC6FC130079059D /* EAGLView.m */,
|
||||||
|
9C0D070B1092316D00FC3BBA /* EAGLViewController.h */,
|
||||||
|
9C0D070C1092316D00FC3BBA /* EAGLViewController.m */,
|
||||||
1D3623240D0F684500981E51 /* WiiMoteOpenGLDemoAppDelegate.h */,
|
1D3623240D0F684500981E51 /* WiiMoteOpenGLDemoAppDelegate.h */,
|
||||||
1D3623250D0F684500981E51 /* WiiMoteOpenGLDemoAppDelegate.m */,
|
1D3623250D0F684500981E51 /* WiiMoteOpenGLDemoAppDelegate.m */,
|
||||||
);
|
);
|
||||||
@ -152,8 +154,6 @@
|
|||||||
9C0D06361091035200FC3BBA /* BTDevice.m */,
|
9C0D06361091035200FC3BBA /* BTDevice.m */,
|
||||||
9C0D06371091035200FC3BBA /* BTInquiryViewController.h */,
|
9C0D06371091035200FC3BBA /* BTInquiryViewController.h */,
|
||||||
9C0D06381091035200FC3BBA /* BTInquiryViewController.m */,
|
9C0D06381091035200FC3BBA /* BTInquiryViewController.m */,
|
||||||
9CCE6DD91025E18700FCE9F4 /* BTWiiMote.c */,
|
|
||||||
9CCE6DDB1025E19600FCE9F4 /* BTWiiMote.h */,
|
|
||||||
);
|
);
|
||||||
name = BTstack;
|
name = BTstack;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -213,10 +213,10 @@
|
|||||||
files = (
|
files = (
|
||||||
1D60589B0D05DD56006BFB54 /* main.m in Sources */,
|
1D60589B0D05DD56006BFB54 /* main.m in Sources */,
|
||||||
1D3623260D0F684500981E51 /* WiiMoteOpenGLDemoAppDelegate.m in Sources */,
|
1D3623260D0F684500981E51 /* WiiMoteOpenGLDemoAppDelegate.m in Sources */,
|
||||||
9CCE6DDA1025E18700FCE9F4 /* BTWiiMote.c in Sources */,
|
|
||||||
9CB96EEF10278D8D002663D0 /* EAGLView.m in Sources */,
|
9CB96EEF10278D8D002663D0 /* EAGLView.m in Sources */,
|
||||||
9C0D06391091035200FC3BBA /* BTDevice.m in Sources */,
|
9C0D06391091035200FC3BBA /* BTDevice.m in Sources */,
|
||||||
9C0D063A1091035200FC3BBA /* BTInquiryViewController.m in Sources */,
|
9C0D063A1091035200FC3BBA /* BTInquiryViewController.m in Sources */,
|
||||||
|
9C0D070D1092316D00FC3BBA /* EAGLViewController.m in Sources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user