Bluetooth Low Energy for Smart Plug

Dependencies:   BLE_API mbed nRF51822

Fork of SmartPlugBLE by Pavit Noinongyao

Committer:
Slepnir
Date:
Tue Jul 14 10:10:19 2015 +0000
Revision:
4:721ae30c92f8
Parent:
2:6db5c9a2894c
For debugging

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Slepnir 0:25ad6eba7916 1 #include "BLECommunication.h"
Slepnir 2:6db5c9a2894c 2
Slepnir 0:25ad6eba7916 3
Slepnir 0:25ad6eba7916 4 BLECommunication::BLECommunication(SmartPlugBLE& system,BLE &_ble):
Slepnir 2:6db5c9a2894c 5 ble(_ble),smartPlugService(ble,system)
Slepnir 0:25ad6eba7916 6 {
Slepnir 0:25ad6eba7916 7
Slepnir 0:25ad6eba7916 8 ble.init();
Slepnir 0:25ad6eba7916 9 ble.gattServer().onDataWritten(&smartPlugService,&SmartPlugService::onDataWritten);
Slepnir 0:25ad6eba7916 10 smartPlugService.setupService();
Slepnir 2:6db5c9a2894c 11 start();
Slepnir 0:25ad6eba7916 12 }
Slepnir 0:25ad6eba7916 13
Slepnir 0:25ad6eba7916 14 void BLECommunication::start(void)
Slepnir 0:25ad6eba7916 15 {
Slepnir 2:6db5c9a2894c 16 ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED | GapAdvertisingData::LE_GENERAL_DISCOVERABLE);
Slepnir 2:6db5c9a2894c 17 ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LIST_16BIT_SERVICE_IDS, (uint8_t*)list, sizeof(list));
Slepnir 2:6db5c9a2894c 18 ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::UNKNOWN);
Slepnir 2:6db5c9a2894c 19 ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LOCAL_NAME, (uint8_t *)DEVICE_NAME, sizeof(DEVICE_NAME));//cannot blink after this
Slepnir 0:25ad6eba7916 20
Slepnir 2:6db5c9a2894c 21 ble.gap().setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED);
Slepnir 2:6db5c9a2894c 22 ble.gap().setAdvertisingInterval(1000); /* 1000ms */
Slepnir 2:6db5c9a2894c 23
Slepnir 2:6db5c9a2894c 24 ble.gap().startAdvertising();
Slepnir 2:6db5c9a2894c 25 while(true)
Slepnir 2:6db5c9a2894c 26 {
Slepnir 2:6db5c9a2894c 27 ble.waitForEvent();
Slepnir 2:6db5c9a2894c 28 }
Slepnir 0:25ad6eba7916 29 }