save
Dependencies: BLE_API TMP102 mbed nRF51822
main.cpp@0:6d3d0dc59210, 2016-06-02 (annotated)
- Committer:
- nakamae
- Date:
- Thu Jun 02 15:43:59 2016 +0000
- Revision:
- 0:6d3d0dc59210
save;
Who changed what in which revision?
User | Revision | Line number | New 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 | } |