Stick some BLE in ME.

Dependencies:   TB6612FNG mbed BLE_nRF8001

main.cpp

Committer:
jn80842
Date:
2014-11-10
Revision:
2:5398a0de0780
Parent:
1:4e2578e8c73c
Child:
3:a7f0b4b78648

File content as of revision 2:5398a0de0780:

#include "mbed.h"
#include "TB6612.h"
#include "nRF8001.h"
#include "BLEPeripheral.h"
#include "BLECharacteristic.h"
   
DigitalOut led1(LED1);
DigitalOut led2(LED2);
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
float distance = 0;
float raw = 0;

DigitalInOut req(PTD0); // D10
DigitalInOut rdy(PTD4); // D2 needs a different pin
DigitalInOut rst(PTD5); // D9

BLEProperty read = BLERead;
BLEProperty write = BLEWrite;
BLEProperty notify = BLENotify;

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 | notify,1,1);

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");

    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);
 //    }
    
}