Stick some BLE in ME.
Dependencies: TB6612FNG mbed BLE_nRF8001
main.cpp@2:5398a0de0780, 2014-11-10 (annotated)
- 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?
User | Revision | Line number | New 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 |