Stick some BLE in ME.
Dependencies: TB6612FNG mbed BLE_nRF8001
Diff: main.cpp
- Revision:
- 1:4e2578e8c73c
- Parent:
- 0:4277bfabef0d
- Child:
- 2:5398a0de0780
--- a/main.cpp Thu Nov 06 22:36:36 2014 +0000 +++ b/main.cpp Mon Nov 10 01:24:56 2014 +0000 @@ -1,43 +1,83 @@ #include "mbed.h" #include "TB6612.h" +#include "nRF8001.h" +#include "BLEPeripheral.h" +#include "BLECharacteristic.h" DigitalOut led1(LED1); DigitalOut led2(LED2); -DigitalOut ultra_trigger(D8); -AnalogIn ultra_out(A0); -Serial pc(USBTX, USBRX); // tx, rx - +DigitalOut led3(LED3); +//DigitalOut ultra_trigger(D8); +//AnalogIn ultra_out(A0); +Serial serial(USBTX, USBRX); // tx, rx + +SPI spi(D11, D12, D13); -DigitalOut BIN2(D3); -DigitalOut BIN1(D4); -PwmOut PWMB(D6); -DigitalOut stdby(D9); - -TB6612 motorB(D6,D3,D4); // PWMA,AIN1,AIN2 +//DigitalOut BIN2(D3); +//DigitalOut BIN1(D4); +//PwmOut PWMB(D6); +//DigitalOut stdby(D9); +// +//TB6612 motorB(D6,D3,D4); // PWMA,AIN1,AIN2 float distance = 0; float raw = 0; -int main(){ -led1 = 1; -led2 = 1; -ultra_trigger = 1; -motorB = 0.0; -stdby = 1; -while(true){ +DigitalInOut req(PTD0); // D10 +DigitalInOut rdy(PTD4); // D2 needs a different pin +DigitalInOut rst(PTD5); // D9 + +BLEProperty read = BLERead; +BLEProperty write = BLEWrite; + +BLEPeripheral blePeripheral = BLEPeripheral(&req,&rdy,&rst); +BLEService service = BLEService("5794ba16-ce64-46e5-9804-6851f7b3a183"); +BLECharacteristic netDropChrc = BLECharacteristic("fbb3136a-fe49-445b-a612-2019d1b33a6c",read | write,1,1); +BLECharacteristic netDisarmedChrc = BLECharacteristic("f80fb006-0e8e-412c-8a92-19fe85328daa",read | write,1,1); -motorB = 0.0; -raw = ultra_out; -distance = (ultra_out * 5) / 0.0098 ; -pc.printf("%1.3f %1.3f \n", raw, distance); - +int main(){ + serial.printf("starting something\r\n"); + led1 = 1; + led2 = 1; + led3 = 1; +// led1 = 0; +// led2 = 0; + // ultra_trigger = 1; +// motorB = 0.0; +// stdby = 1; + blePeripheral.setLocalName("NETTRAP"); + blePeripheral.setDeviceName("net trap peripheral!"); + blePeripheral.setAdvertisedServiceUuid(service.uuid()); + blePeripheral.addAttribute(service); + serial.printf("set up attributes and so on \r\n"); + blePeripheral.addAttribute(netDropChrc); + blePeripheral.addAttribute(netDisarmedChrc); + serial.printf("added characteristics\r\n"); -if (distance < 10){ - motorB = 1.0; - } -wait(3); - } + char* bufTrue = "t"; + char* bufFalse = "f"; + netDropChrc.setValue(bufFalse); + netDisarmedChrc.setValue(bufFalse); + serial.printf("set up characteristic values\r\n"); - } + blePeripheral.begin(); + serial.printf("began peripheral supposedly\r\n"); + while(true) { + blePeripheral.poll(); + } +// while(true){ + +// blePeripheral.poll(); +// motorB = 0.0; +// // raw = ultra_out; +// // distance = (ultra_out * 5) / 0.0098 ; +// serial.printf("%1.3f %1.3f \n", raw, distance); +// if (distance < 10){ +// motorB = 1.0; +// } +// wait(3); + // } + +}