BLE Library with custom services for the tortuga bike

Dependents:   TORTUGA_BLE

Fork of BLE_API by aapje monkey

Committer:
rgrover1
Date:
Wed Dec 02 12:57:28 2015 +0000
Revision:
1006:76ae9bbf173f
Parent:
994:1f46234b1237
Child:
1007:8bb218c4dd38
Synchronized with git rev 12e27cd4
Author: Rohit Grover
Release 2.1.3
=============

* Improvements to CallChainOfFunctionPointerswithContext:
- add a `detach` function to be able to remove callbacks.
- detach function now return true if a function has been detached and
false otherwise.
- add a function call operator.
- use safe-bool idiom. see : http://www.artima.com/cppsource/safebool.html

* Add SafeBool class which allow to easily declare a safe bool operator in
c++03.

* Improvements to FunctionPointerWithContext:
- fix call propagation
- use safe bool idiom

* Add config file for generating Doxygen.

* Setup for onRadioNotification callback does not call initRadioNotification
anymore.

* GapAdvertisementData now handles replacement and appending of data fields
based on type. Some fields can be replaced with new values, and others
require the payload to be appended.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rgrover1 712:b04b5db36865 1 /* mbed Microcontroller Library
rgrover1 712:b04b5db36865 2 * Copyright (c) 2006-2013 ARM Limited
rgrover1 712:b04b5db36865 3 *
rgrover1 712:b04b5db36865 4 * Licensed under the Apache License, Version 2.0 (the "License");
rgrover1 712:b04b5db36865 5 * you may not use this file except in compliance with the License.
rgrover1 712:b04b5db36865 6 * You may obtain a copy of the License at
rgrover1 712:b04b5db36865 7 *
rgrover1 712:b04b5db36865 8 * http://www.apache.org/licenses/LICENSE-2.0
rgrover1 712:b04b5db36865 9 *
rgrover1 712:b04b5db36865 10 * Unless required by applicable law or agreed to in writing, software
rgrover1 712:b04b5db36865 11 * distributed under the License is distributed on an "AS IS" BASIS,
rgrover1 712:b04b5db36865 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rgrover1 712:b04b5db36865 13 * See the License for the specific language governing permissions and
rgrover1 712:b04b5db36865 14 * limitations under the License.
rgrover1 712:b04b5db36865 15 */
rgrover1 712:b04b5db36865 16
rgrover1 712:b04b5db36865 17 #include "ble/services/DFUService.h"
rgrover1 712:b04b5db36865 18
rgrover1 712:b04b5db36865 19 const uint8_t DFUServiceBaseUUID[] = {
rgrover1 712:b04b5db36865 20 0x00, 0x00, 0x00, 0x00, 0x12, 0x12, 0xEF, 0xDE,
rgrover1 712:b04b5db36865 21 0x15, 0x23, 0x78, 0x5F, 0xEA, 0xBC, 0xD1, 0x23,
rgrover1 712:b04b5db36865 22 };
rgrover1 712:b04b5db36865 23 const uint16_t DFUServiceShortUUID = 0x1530;
rgrover1 712:b04b5db36865 24 const uint16_t DFUServiceControlCharacteristicShortUUID = 0x1531;
rgrover1 712:b04b5db36865 25 const uint16_t DFUServicePacketCharacteristicShortUUID = 0x1532;
rgrover1 712:b04b5db36865 26
rgrover1 712:b04b5db36865 27 const uint8_t DFUServiceUUID[] = {
rgrover1 712:b04b5db36865 28 0x00, 0x00, (uint8_t)(DFUServiceShortUUID >> 8), (uint8_t)(DFUServiceShortUUID & 0xFF), 0x12, 0x12, 0xEF, 0xDE,
rgrover1 712:b04b5db36865 29 0x15, 0x23, 0x78, 0x5F, 0xEA, 0xBC, 0xD1, 0x23,
rgrover1 712:b04b5db36865 30 };
rgrover1 712:b04b5db36865 31 const uint8_t DFUServiceControlCharacteristicUUID[] = {
rgrover1 712:b04b5db36865 32 0x00, 0x00, (uint8_t)(DFUServiceControlCharacteristicShortUUID >> 8), (uint8_t)(DFUServiceControlCharacteristicShortUUID & 0xFF), 0x12, 0x12, 0xEF, 0xDE,
rgrover1 712:b04b5db36865 33 0x15, 0x23, 0x78, 0x5F, 0xEA, 0xBC, 0xD1, 0x23,
rgrover1 712:b04b5db36865 34 };
rgrover1 712:b04b5db36865 35 const uint8_t DFUServicePacketCharacteristicUUID[] = {
rgrover1 712:b04b5db36865 36 0x00, 0x00, (uint8_t)(DFUServicePacketCharacteristicShortUUID >> 8), (uint8_t)(DFUServicePacketCharacteristicShortUUID & 0xFF), 0x12, 0x12, 0xEF, 0xDE,
rgrover1 712:b04b5db36865 37 0x15, 0x23, 0x78, 0x5F, 0xEA, 0xBC, 0xD1, 0x23,
rgrover1 712:b04b5db36865 38 };
rgrover1 712:b04b5db36865 39
rgrover1 1006:76ae9bbf173f 40 DFUService::ResetPrepare_t DFUService::handoverCallback = NULL;