save

Dependencies:   BLE_API TMP102 mbed nRF51822

Committer:
nakamae
Date:
Thu Jun 02 15:43:59 2016 +0000
Revision:
0:6d3d0dc59210
save;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nakamae 0:6d3d0dc59210 1 #include "mbed.h"
nakamae 0:6d3d0dc59210 2 #include "BLE.h"
nakamae 0:6d3d0dc59210 3 #include "HeartRateService.h"
nakamae 0:6d3d0dc59210 4 #include "DeviceInformationService.h"
nakamae 0:6d3d0dc59210 5
nakamae 0:6d3d0dc59210 6
nakamae 0:6d3d0dc59210 7 #define NEED_CONSOLE_OUTPUT 1 /* Set this if you need debug messages on the console;
nakamae 0:6d3d0dc59210 8 * it will have an impact on code-size and power consumption. */
nakamae 0:6d3d0dc59210 9
nakamae 0:6d3d0dc59210 10 #if NEED_CONSOLE_OUTPUT
nakamae 0:6d3d0dc59210 11 Serial pc(USBTX, USBRX);
nakamae 0:6d3d0dc59210 12 #define DEBUG(...) { pc.printf(__VA_ARGS__); }
nakamae 0:6d3d0dc59210 13 #else
nakamae 0:6d3d0dc59210 14 #define DEBUG(...) /* nothing */
nakamae 0:6d3d0dc59210 15 #endif /* #if NEED_CONSOLE_OUTPUT */
nakamae 0:6d3d0dc59210 16
nakamae 0:6d3d0dc59210 17 BLE ble;
nakamae 0:6d3d0dc59210 18 int address[5][5]={};
nakamae 0:6d3d0dc59210 19
nakamae 0:6d3d0dc59210 20 int counter= 0;
nakamae 0:6d3d0dc59210 21 void onScanCallback(const Gap::AdvertisementCallbackParams_t *params)
nakamae 0:6d3d0dc59210 22 {
nakamae 0:6d3d0dc59210 23
nakamae 0:6d3d0dc59210 24 int i=0,a=0,b=0,flag=0;
nakamae 0:6d3d0dc59210 25 #if NEED_CONSOLE_OUTPUT
nakamae 0:6d3d0dc59210 26 // DEBUG("onScan() ");
nakamae 0:6d3d0dc59210 27 // DEBUG("RSSI:%d ",params->rssi);
nakamae 0:6d3d0dc59210 28 // DEBUG("Addr:%d ",params->peerAddr);
nakamae 0:6d3d0dc59210 29 // DEBUG("adv peerAddr[%02x %02x %02x %02x %02x %02x]", params->peerAddr[5], params->peerAddr[4], params->peerAddr[3], params->peerAddr[2], params->peerAddr[1],params->peerAddr[0]);
nakamae 0:6d3d0dc59210 30 for(i=0;i<6;i++){
nakamae 0:6d3d0dc59210 31 if(address[i][0]==params->peerAddr[5]){
nakamae 0:6d3d0dc59210 32 flag=1;
nakamae 0:6d3d0dc59210 33 break;
nakamae 0:6d3d0dc59210 34 }
nakamae 0:6d3d0dc59210 35 }
nakamae 0:6d3d0dc59210 36
nakamae 0:6d3d0dc59210 37 if(flag==0){
nakamae 0:6d3d0dc59210 38 for(i=0; i<6; i++){
nakamae 0:6d3d0dc59210 39 // DEBUG("Scn(%02x)",params->peerAddr[i]);
nakamae 0:6d3d0dc59210 40 address[counter][i]=params->peerAddr[5-i];
nakamae 0:6d3d0dc59210 41 }
nakamae 0:6d3d0dc59210 42 counter++;
nakamae 0:6d3d0dc59210 43 //DEBUG("Len:%d ",params->advertisingDataLen);
nakamae 0:6d3d0dc59210 44 //DEBUG("Data:");
nakamae 0:6d3d0dc59210 45 //for (int i=0; i< params->advertisingDataLen; i++){
nakamae 0:6d3d0dc59210 46 // DEBUG("%02x,",params->advertisingData[i]);
nakamae 0:6d3d0dc59210 47 // }
nakamae 0:6d3d0dc59210 48 // DEBUG(" \n\r");
nakamae 0:6d3d0dc59210 49 for(a=0; a<counter; a++){
nakamae 0:6d3d0dc59210 50 for(b=0; b<6 ; b++){
nakamae 0:6d3d0dc59210 51 if(b==0)DEBUG("DEV:");
nakamae 0:6d3d0dc59210 52 DEBUG("%02x ", address[a][b]);
nakamae 0:6d3d0dc59210 53 if(b==5)DEBUG("\n\r");
nakamae 0:6d3d0dc59210 54 }
nakamae 0:6d3d0dc59210 55 if(a==counter-1)DEBUG("----------\n\r");
nakamae 0:6d3d0dc59210 56 }
nakamae 0:6d3d0dc59210 57 wait(3);
nakamae 0:6d3d0dc59210 58 }
nakamae 0:6d3d0dc59210 59 #endif
nakamae 0:6d3d0dc59210 60
nakamae 0:6d3d0dc59210 61
nakamae 0:6d3d0dc59210 62 }
nakamae 0:6d3d0dc59210 63
nakamae 0:6d3d0dc59210 64 const GapScanningParams scanningParams;
nakamae 0:6d3d0dc59210 65 int main(void)
nakamae 0:6d3d0dc59210 66 {
nakamae 0:6d3d0dc59210 67
nakamae 0:6d3d0dc59210 68
nakamae 0:6d3d0dc59210 69 ble.init();
nakamae 0:6d3d0dc59210 70 DEBUG("Start\n\r");
nakamae 0:6d3d0dc59210 71
nakamae 0:6d3d0dc59210 72 ble.setScanParams(GapScanningParams::SCAN_INTERVAL_MAX,
nakamae 0:6d3d0dc59210 73 GapScanningParams::SCAN_WINDOW_MAX,
nakamae 0:6d3d0dc59210 74 0);
nakamae 0:6d3d0dc59210 75
nakamae 0:6d3d0dc59210 76 ble.startScan(&onScanCallback);
nakamae 0:6d3d0dc59210 77 // infinite loop
nakamae 0:6d3d0dc59210 78 while (1) {
nakamae 0:6d3d0dc59210 79 ble.waitForEvent(); // low power wait for event
nakamae 0:6d3d0dc59210 80 }
nakamae 0:6d3d0dc59210 81 }