Bluetooth Low Energy for Smart Plug
Dependencies: BLE_API mbed nRF51822
Diff: BLECommunication.cpp
- Revision:
- 2:6db5c9a2894c
- Parent:
- 0:25ad6eba7916
--- a/BLECommunication.cpp Tue Jul 07 04:58:28 2015 +0000 +++ b/BLECommunication.cpp Wed Jul 08 07:25:11 2015 +0000 @@ -1,36 +1,29 @@ #include "BLECommunication.h" -//uint8_t DEVICE_NAME[] = "NRFTEST"; -//uint16_t list[] = {SPS_UUID_SERVICE}; + BLECommunication::BLECommunication(SmartPlugBLE& system,BLE &_ble): - ble(_ble),smartPlugService(ble,system),led(LED3) + ble(_ble),smartPlugService(ble,system) { ble.init(); - ble.gattServer().onDataWritten(&smartPlugService,&SmartPlugService::onDataWritten); smartPlugService.setupService(); - //start(); + start(); } void BLECommunication::start(void) { - //ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED | GapAdvertisingData::LE_GENERAL_DISCOVERABLE); -// ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LIST_16BIT_SERVICE_IDS, (uint8_t*)list, sizeof(list)); -// ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::UNKNOWN); -// ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LOCAL_NAME, (uint8_t *)DEVICE_NAME, sizeof(DEVICE_NAME));//cannot blink after this -// -// ble.gap().setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED); -// ble.gap().setAdvertisingInterval(1000); /* 1000ms */ -// -// ble.gap().startAdvertising(); -// while(true) -// { -// ble.waitForEvent(); -// } -} + ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED | GapAdvertisingData::LE_GENERAL_DISCOVERABLE); + ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LIST_16BIT_SERVICE_IDS, (uint8_t*)list, sizeof(list)); + ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::UNKNOWN); + ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LOCAL_NAME, (uint8_t *)DEVICE_NAME, sizeof(DEVICE_NAME));//cannot blink after this -void BLECommunication::periodicCallback(void) -{ - led = !led; + ble.gap().setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED); + ble.gap().setAdvertisingInterval(1000); /* 1000ms */ + + ble.gap().startAdvertising(); + while(true) + { + ble.waitForEvent(); + } } \ No newline at end of file