Stick some BLE in ME.

Dependencies:   TB6612FNG mbed BLE_nRF8001

Committer:
jn80842
Date:
Mon Nov 10 01:46:55 2014 +0000
Revision:
2:5398a0de0780
Parent:
1:4e2578e8c73c
Child:
3:a7f0b4b78648
dropped chrc should notify

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 2:5398a0de0780 31 BLEProperty notify = BLENotify;
jn80842 1:4e2578e8c73c 32
jn80842 1:4e2578e8c73c 33 BLEPeripheral blePeripheral = BLEPeripheral(&req,&rdy,&rst);
jn80842 1:4e2578e8c73c 34 BLEService service = BLEService("5794ba16-ce64-46e5-9804-6851f7b3a183");
jn80842 1:4e2578e8c73c 35 BLECharacteristic netDropChrc = BLECharacteristic("fbb3136a-fe49-445b-a612-2019d1b33a6c",read | write,1,1);
jn80842 2:5398a0de0780 36 BLECharacteristic netDisarmedChrc = BLECharacteristic("f80fb006-0e8e-412c-8a92-19fe85328daa",read | write | notify,1,1);
ddrew73 0:4277bfabef0d 37
jn80842 1:4e2578e8c73c 38 int main(){
jn80842 1:4e2578e8c73c 39 serial.printf("starting something\r\n");
jn80842 1:4e2578e8c73c 40 led1 = 1;
jn80842 1:4e2578e8c73c 41 led2 = 1;
jn80842 1:4e2578e8c73c 42 led3 = 1;
jn80842 1:4e2578e8c73c 43 // led1 = 0;
jn80842 1:4e2578e8c73c 44 // led2 = 0;
jn80842 1:4e2578e8c73c 45 // ultra_trigger = 1;
jn80842 1:4e2578e8c73c 46 // motorB = 0.0;
jn80842 1:4e2578e8c73c 47 // stdby = 1;
jn80842 1:4e2578e8c73c 48 blePeripheral.setLocalName("NETTRAP");
jn80842 1:4e2578e8c73c 49 blePeripheral.setDeviceName("net trap peripheral!");
jn80842 1:4e2578e8c73c 50 blePeripheral.setAdvertisedServiceUuid(service.uuid());
jn80842 1:4e2578e8c73c 51 blePeripheral.addAttribute(service);
jn80842 1:4e2578e8c73c 52 serial.printf("set up attributes and so on \r\n");
jn80842 1:4e2578e8c73c 53 blePeripheral.addAttribute(netDropChrc);
jn80842 1:4e2578e8c73c 54 blePeripheral.addAttribute(netDisarmedChrc);
jn80842 1:4e2578e8c73c 55 serial.printf("added characteristics\r\n");
ddrew73 0:4277bfabef0d 56
jn80842 1:4e2578e8c73c 57 char* bufTrue = "t";
jn80842 1:4e2578e8c73c 58 char* bufFalse = "f";
jn80842 1:4e2578e8c73c 59 netDropChrc.setValue(bufFalse);
jn80842 1:4e2578e8c73c 60 netDisarmedChrc.setValue(bufFalse);
jn80842 1:4e2578e8c73c 61 serial.printf("set up characteristic values\r\n");
ddrew73 0:4277bfabef0d 62
jn80842 1:4e2578e8c73c 63 blePeripheral.begin();
jn80842 1:4e2578e8c73c 64 serial.printf("began peripheral supposedly\r\n");
jn80842 1:4e2578e8c73c 65 while(true) {
jn80842 1:4e2578e8c73c 66 blePeripheral.poll();
jn80842 1:4e2578e8c73c 67 }
jn80842 1:4e2578e8c73c 68 // while(true){
jn80842 1:4e2578e8c73c 69
jn80842 1:4e2578e8c73c 70 // blePeripheral.poll();
jn80842 1:4e2578e8c73c 71 // motorB = 0.0;
jn80842 1:4e2578e8c73c 72 // // raw = ultra_out;
jn80842 1:4e2578e8c73c 73 // // distance = (ultra_out * 5) / 0.0098 ;
jn80842 1:4e2578e8c73c 74 // serial.printf("%1.3f %1.3f \n", raw, distance);
jn80842 1:4e2578e8c73c 75 // if (distance < 10){
jn80842 1:4e2578e8c73c 76 // motorB = 1.0;
jn80842 1:4e2578e8c73c 77 // }
jn80842 1:4e2578e8c73c 78 // wait(3);
jn80842 1:4e2578e8c73c 79 // }
jn80842 1:4e2578e8c73c 80
jn80842 1:4e2578e8c73c 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
ddrew73 0:4277bfabef0d 88