Demo for the LinkLoss Service.
Dependencies: BLE_API mbed nRF51822 X_NUCLEO_IDB0XA1
main.cpp
- Committer:
- rgrover1
- Date:
- 2015-03-24
- Revision:
- 1:88466c5aed5f
- Parent:
- 0:440ee5e8595f
- Child:
- 4:88dca48b2397
File content as of revision 1:88466c5aed5f:
/* mbed Microcontroller Library * Copyright (c) 2006-2013 ARM Limited * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "mbed.h" #include "BLEDevice.h" #include "LinkLossService.h" BLEDevice ble; void disconnectionCallback(Gap::Handle_t handle, Gap::DisconnectionReason_t reason) { ble.startAdvertising(); } void linkLossCallback(LinkLossService::AlertLevel_t level) { printf("received link loss alert\r\n"); } int main(void) { ble.init(); ble.onDisconnection(disconnectionCallback); LinkLossService linkLoss(ble, linkLossCallback, LinkLossService::HIGH_ALERT); ble.accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED | GapAdvertisingData::LE_GENERAL_DISCOVERABLE); ble.setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED); ble.setAdvertisingInterval(1000); /* 1second. */ ble.startAdvertising(); while (true) { ble.waitForEvent(); } }