Bluetooth Low Energy for Smart Plug
Dependencies: BLE_API mbed nRF51822
Fork of SmartPlugBLE by
BLECommunication.cpp@2:6db5c9a2894c, 2015-07-08 (annotated)
- Committer:
- Slepnir
- Date:
- Wed Jul 08 07:25:11 2015 +0000
- Revision:
- 2:6db5c9a2894c
- Parent:
- 0:25ad6eba7916
Beta version:; - Everything works, have not tested the timer function
Who changed what in which revision?
User | Revision | Line number | New 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 | } |