![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
aidanReceiver
Dependencies: mbed BLE_API nRF51822
receiver_main.cpp@0:50406b29435a, 2019-04-17 (annotated)
- Committer:
- aidanjabb
- Date:
- Wed Apr 17 19:55:43 2019 +0000
- Revision:
- 0:50406b29435a
- Child:
- 1:3ad5b46f9abc
test commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
aidanjabb | 0:50406b29435a | 1 | #include "mbed.h" |
aidanjabb | 0:50406b29435a | 2 | #include "ble/BLE.h" |
aidanjabb | 0:50406b29435a | 3 | #define LED_RED p21 |
aidanjabb | 0:50406b29435a | 4 | #define LED_GREEN p22 |
aidanjabb | 0:50406b29435a | 5 | #define LED_BLUE p23 |
aidanjabb | 0:50406b29435a | 6 | #define BUTTON_PIN p17 |
aidanjabb | 0:50406b29435a | 7 | #define BATTERY_PIN p1 |
aidanjabb | 0:50406b29435a | 8 | DigitalOut led1(LED_RED); |
aidanjabb | 0:50406b29435a | 9 | DigitalOut blueLed(LED_BLUE); |
aidanjabb | 0:50406b29435a | 10 | const static char DEVICE_NAME[] = "Joe-Aidan"; |
aidanjabb | 0:50406b29435a | 11 | // void disconnectionCallback(const Gap::DisconnectionCallbackParams_t *params) |
aidanjabb | 0:50406b29435a | 12 | void scanCallback(const Gap::AdvertisementCallbackParams_t *params) |
aidanjabb | 0:50406b29435a | 13 | { |
aidanjabb | 0:50406b29435a | 14 | if (*(params->Gap::AdvertisementCallbackParams_t::peerAddr) == (std::uint8_t)0xF34F887FED4E) { |
aidanjabb | 0:50406b29435a | 15 | char * buf = (char*) params->advertisingData; |
aidanjabb | 0:50406b29435a | 16 | |
aidanjabb | 0:50406b29435a | 17 | if (buf[0] == GapAdvertisingData::COMPLETE_LOCAL_NAME) { |
aidanjabb | 0:50406b29435a | 18 | blueLed = 0; |
aidanjabb | 0:50406b29435a | 19 | } |
aidanjabb | 0:50406b29435a | 20 | |
aidanjabb | 0:50406b29435a | 21 | /* |
aidanjabb | 0:50406b29435a | 22 | for (int i=0; i < params->advertisingDataLen; i++) { |
aidanjabb | 0:50406b29435a | 23 | if ( i >= params->advertisingDataLen-2 && buf[i] == 'n' ) { |
aidanjabb | 0:50406b29435a | 24 | blueLed = 0; |
aidanjabb | 0:50406b29435a | 25 | } |
aidanjabb | 0:50406b29435a | 26 | } |
aidanjabb | 0:50406b29435a | 27 | */ |
aidanjabb | 0:50406b29435a | 28 | |
aidanjabb | 0:50406b29435a | 29 | led1 = 0; |
aidanjabb | 0:50406b29435a | 30 | } |
aidanjabb | 0:50406b29435a | 31 | |
aidanjabb | 0:50406b29435a | 32 | // ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LOCAL_NAME, (uint8_t *)DEVICE_NAME, sizeof(DEVICE_NAME)); |
aidanjabb | 0:50406b29435a | 33 | return; |
aidanjabb | 0:50406b29435a | 34 | } |
aidanjabb | 0:50406b29435a | 35 | void bleInitComplete(BLE::InitializationCompleteCallbackContext *params) |
aidanjabb | 0:50406b29435a | 36 | { |
aidanjabb | 0:50406b29435a | 37 | BLE &ble = params->ble; |
aidanjabb | 0:50406b29435a | 38 | ble_error_t error = params->error; |
aidanjabb | 0:50406b29435a | 39 | if (error != BLE_ERROR_NONE) { |
aidanjabb | 0:50406b29435a | 40 | return; |
aidanjabb | 0:50406b29435a | 41 | } |
aidanjabb | 0:50406b29435a | 42 | |
aidanjabb | 0:50406b29435a | 43 | led1 = 1; |
aidanjabb | 0:50406b29435a | 44 | blueLed = 1; |
aidanjabb | 0:50406b29435a | 45 | |
aidanjabb | 0:50406b29435a | 46 | /* Set up scanning prodedure */ |
aidanjabb | 0:50406b29435a | 47 | ble.gap().setScanParams(GapScanningParams::SCAN_INTERVAL_MAX, GapScanningParams::SCAN_WINDOW_MAX, 0, false); |
aidanjabb | 0:50406b29435a | 48 | ble.gap().startScan(scanCallback); |
aidanjabb | 0:50406b29435a | 49 | } |
aidanjabb | 0:50406b29435a | 50 | int main(void) |
aidanjabb | 0:50406b29435a | 51 | { |
aidanjabb | 0:50406b29435a | 52 | BLE& ble = BLE::Instance(BLE::DEFAULT_INSTANCE); |
aidanjabb | 0:50406b29435a | 53 | ble.init(bleInitComplete); |
aidanjabb | 0:50406b29435a | 54 | |
aidanjabb | 0:50406b29435a | 55 | /* SpinWait for initialization to complete. This is necessary because the |
aidanjabb | 0:50406b29435a | 56 | * BLE object is used in the main loop below. */ |
aidanjabb | 0:50406b29435a | 57 | while (ble.hasInitialized() == false) { /* spin loop */ } |
aidanjabb | 0:50406b29435a | 58 | |
aidanjabb | 0:50406b29435a | 59 | while (1) { |
aidanjabb | 0:50406b29435a | 60 | ble.waitForEvent(); // low power wait for event |
aidanjabb | 0:50406b29435a | 61 | } |
aidanjabb | 0:50406b29435a | 62 | } |