Stick some BLE in ME.

Dependencies:   TB6612FNG mbed BLE_nRF8001

Committer:
jn80842
Date:
Mon Nov 10 01:24:56 2014 +0000
Revision:
1:4e2578e8c73c
Parent:
0:4277bfabef0d
Child:
2:5398a0de0780
only ble code operational right now

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ddrew73 0:4277bfabef0d 1 #include "mbed.h"
ddrew73 0:4277bfabef0d 2 #include "TB6612.h"
jn80842 1:4e2578e8c73c 3 #include "nRF8001.h"
jn80842 1:4e2578e8c73c 4 #include "BLEPeripheral.h"
jn80842 1:4e2578e8c73c 5 #include "BLECharacteristic.h"
ddrew73 0:4277bfabef0d 6
ddrew73 0:4277bfabef0d 7 DigitalOut led1(LED1);
ddrew73 0:4277bfabef0d 8 DigitalOut led2(LED2);
jn80842 1:4e2578e8c73c 9 DigitalOut led3(LED3);
jn80842 1:4e2578e8c73c 10 //DigitalOut ultra_trigger(D8);
jn80842 1:4e2578e8c73c 11 //AnalogIn ultra_out(A0);
jn80842 1:4e2578e8c73c 12 Serial serial(USBTX, USBRX); // tx, rx
jn80842 1:4e2578e8c73c 13
jn80842 1:4e2578e8c73c 14 SPI spi(D11, D12, D13);
ddrew73 0:4277bfabef0d 15
jn80842 1:4e2578e8c73c 16 //DigitalOut BIN2(D3);
jn80842 1:4e2578e8c73c 17 //DigitalOut BIN1(D4);
jn80842 1:4e2578e8c73c 18 //PwmOut PWMB(D6);
jn80842 1:4e2578e8c73c 19 //DigitalOut stdby(D9);
jn80842 1:4e2578e8c73c 20 //
jn80842 1:4e2578e8c73c 21 //TB6612 motorB(D6,D3,D4); // PWMA,AIN1,AIN2
ddrew73 0:4277bfabef0d 22 float distance = 0;
ddrew73 0:4277bfabef0d 23 float raw = 0;
ddrew73 0:4277bfabef0d 24
jn80842 1:4e2578e8c73c 25 DigitalInOut req(PTD0); // D10
jn80842 1:4e2578e8c73c 26 DigitalInOut rdy(PTD4); // D2 needs a different pin
jn80842 1:4e2578e8c73c 27 DigitalInOut rst(PTD5); // D9
jn80842 1:4e2578e8c73c 28
jn80842 1:4e2578e8c73c 29 BLEProperty read = BLERead;
jn80842 1:4e2578e8c73c 30 BLEProperty write = BLEWrite;
jn80842 1:4e2578e8c73c 31
jn80842 1:4e2578e8c73c 32 BLEPeripheral blePeripheral = BLEPeripheral(&req,&rdy,&rst);
jn80842 1:4e2578e8c73c 33 BLEService service = BLEService("5794ba16-ce64-46e5-9804-6851f7b3a183");
jn80842 1:4e2578e8c73c 34 BLECharacteristic netDropChrc = BLECharacteristic("fbb3136a-fe49-445b-a612-2019d1b33a6c",read | write,1,1);
jn80842 1:4e2578e8c73c 35 BLECharacteristic netDisarmedChrc = BLECharacteristic("f80fb006-0e8e-412c-8a92-19fe85328daa",read | write,1,1);
ddrew73 0:4277bfabef0d 36
jn80842 1:4e2578e8c73c 37 int main(){
jn80842 1:4e2578e8c73c 38 serial.printf("starting something\r\n");
jn80842 1:4e2578e8c73c 39 led1 = 1;
jn80842 1:4e2578e8c73c 40 led2 = 1;
jn80842 1:4e2578e8c73c 41 led3 = 1;
jn80842 1:4e2578e8c73c 42 // led1 = 0;
jn80842 1:4e2578e8c73c 43 // led2 = 0;
jn80842 1:4e2578e8c73c 44 // ultra_trigger = 1;
jn80842 1:4e2578e8c73c 45 // motorB = 0.0;
jn80842 1:4e2578e8c73c 46 // stdby = 1;
jn80842 1:4e2578e8c73c 47 blePeripheral.setLocalName("NETTRAP");
jn80842 1:4e2578e8c73c 48 blePeripheral.setDeviceName("net trap peripheral!");
jn80842 1:4e2578e8c73c 49 blePeripheral.setAdvertisedServiceUuid(service.uuid());
jn80842 1:4e2578e8c73c 50 blePeripheral.addAttribute(service);
jn80842 1:4e2578e8c73c 51 serial.printf("set up attributes and so on \r\n");
jn80842 1:4e2578e8c73c 52 blePeripheral.addAttribute(netDropChrc);
jn80842 1:4e2578e8c73c 53 blePeripheral.addAttribute(netDisarmedChrc);
jn80842 1:4e2578e8c73c 54 serial.printf("added characteristics\r\n");
ddrew73 0:4277bfabef0d 55
jn80842 1:4e2578e8c73c 56 char* bufTrue = "t";
jn80842 1:4e2578e8c73c 57 char* bufFalse = "f";
jn80842 1:4e2578e8c73c 58 netDropChrc.setValue(bufFalse);
jn80842 1:4e2578e8c73c 59 netDisarmedChrc.setValue(bufFalse);
jn80842 1:4e2578e8c73c 60 serial.printf("set up characteristic values\r\n");
ddrew73 0:4277bfabef0d 61
jn80842 1:4e2578e8c73c 62 blePeripheral.begin();
jn80842 1:4e2578e8c73c 63 serial.printf("began peripheral supposedly\r\n");
jn80842 1:4e2578e8c73c 64 while(true) {
jn80842 1:4e2578e8c73c 65 blePeripheral.poll();
jn80842 1:4e2578e8c73c 66 }
jn80842 1:4e2578e8c73c 67 // while(true){
jn80842 1:4e2578e8c73c 68
jn80842 1:4e2578e8c73c 69 // blePeripheral.poll();
jn80842 1:4e2578e8c73c 70 // motorB = 0.0;
jn80842 1:4e2578e8c73c 71 // // raw = ultra_out;
jn80842 1:4e2578e8c73c 72 // // distance = (ultra_out * 5) / 0.0098 ;
jn80842 1:4e2578e8c73c 73 // serial.printf("%1.3f %1.3f \n", raw, distance);
jn80842 1:4e2578e8c73c 74 // if (distance < 10){
jn80842 1:4e2578e8c73c 75 // motorB = 1.0;
jn80842 1:4e2578e8c73c 76 // }
jn80842 1:4e2578e8c73c 77 // wait(3);
jn80842 1:4e2578e8c73c 78 // }
jn80842 1:4e2578e8c73c 79
jn80842 1:4e2578e8c73c 80 }
ddrew73 0:4277bfabef0d 81
ddrew73 0:4277bfabef0d 82
ddrew73 0:4277bfabef0d 83
ddrew73 0:4277bfabef0d 84
ddrew73 0:4277bfabef0d 85
ddrew73 0:4277bfabef0d 86
ddrew73 0:4277bfabef0d 87