Lightly modified version of the BLE stack, that doesn't bring up a DFUService by default... as we have our own.

Fork of BLE_API by Bluetooth Low Energy

Committer:
rgrover1
Date:
Mon Mar 02 11:50:48 2015 +0000
Revision:
305:71367f7cd078
Parent:
230:2c414d3240a8
Child:
347:20be4234c6fe
Synchronized with git rev f557237f
Author: Rohit Grover
Release 0.2.13
==============

Enhancements
~~~~~~~~~~~~

* Add support for onDataRead(); which is optionally implemented for stacks
where an event is generated in response to a read on a characteristic. This
feature is not implemented by any of the presently supported stacks.

* Update UUID class to get length and pointer. Added UUID comparison operator.

* BLEDevice::readCharacteristic() and BLEDevice::upateCharacteristic() should
take GattAttribute::Handle_t instead of uint16_t.

* fix documentation for setAdvertisingType() for ADV_SCANNABLE_UNDIRECTED.

* Extend GattAttribute to export a pointer to the attribute's length.

Bugfixes
~~~~~~~~

* Initialize the min/max length values correctly in the constructor for
URIDataChar. Previously, the minLength value was always set to URI_DATA_MAX,
whereas maxLen got initialized by the values stored persistently. Except for
the case of default initialization, the value of maxLength would be fetched at
initialization from persistent storage, and would always be less than the
minLength, potentially causing incorrect setup in the underlying stack.

Compatibility
~~~~~~~~~~~~~

This release is API compatible with 0.2.4.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Rohit Grover 111:189ff241dae1 1 /* mbed Microcontroller Library
Rohit Grover 111:189ff241dae1 2 * Copyright (c) 2006-2013 ARM Limited
Rohit Grover 111:189ff241dae1 3 *
Rohit Grover 111:189ff241dae1 4 * Licensed under the Apache License, Version 2.0 (the "License");
Rohit Grover 111:189ff241dae1 5 * you may not use this file except in compliance with the License.
Rohit Grover 111:189ff241dae1 6 * You may obtain a copy of the License at
Rohit Grover 111:189ff241dae1 7 *
Rohit Grover 111:189ff241dae1 8 * http://www.apache.org/licenses/LICENSE-2.0
Rohit Grover 111:189ff241dae1 9 *
Rohit Grover 111:189ff241dae1 10 * Unless required by applicable law or agreed to in writing, software
Rohit Grover 111:189ff241dae1 11 * distributed under the License is distributed on an "AS IS" BASIS,
Rohit Grover 111:189ff241dae1 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Rohit Grover 111:189ff241dae1 13 * See the License for the specific language governing permissions and
Rohit Grover 111:189ff241dae1 14 * limitations under the License.
Rohit Grover 111:189ff241dae1 15 */
Rohit Grover 111:189ff241dae1 16
Rohit Grover 111:189ff241dae1 17 #ifndef __BLE_DEVICE_INSTANCE_BASE__
Rohit Grover 111:189ff241dae1 18 #define __BLE_DEVICE_INSTANCE_BASE__
Rohit Grover 111:189ff241dae1 19
Rohit Grover 111:189ff241dae1 20 /**
Rohit Grover 111:189ff241dae1 21 * The interface for the transport object to be created by the target library's
Rohit Grover 111:189ff241dae1 22 * createBLEDeviceInstance().
Rohit Grover 111:189ff241dae1 23 */
Rohit Grover 111:189ff241dae1 24 class BLEDeviceInstanceBase
Rohit Grover 111:189ff241dae1 25 {
Rohit Grover 111:189ff241dae1 26 public:
Rohit Grover 111:189ff241dae1 27 virtual const char *getVersion(void) = 0;
Rohit Grover 111:189ff241dae1 28 virtual Gap& getGap() = 0;
Rohit Grover 111:189ff241dae1 29 virtual GattServer& getGattServer() = 0;
Rohit Grover 111:189ff241dae1 30 virtual ble_error_t init(void) = 0;
rgrover1 230:2c414d3240a8 31 virtual ble_error_t shutdown(void) = 0;
Rohit Grover 111:189ff241dae1 32 virtual ble_error_t reset(void) = 0;
Rohit Grover 111:189ff241dae1 33 virtual ble_error_t setTxPower(int8_t txPower) = 0;
rgrover1 305:71367f7cd078 34 virtual void getPermittedTxPowerValues(const int8_t **, size_t *) = 0;
Rohit Grover 111:189ff241dae1 35 virtual void waitForEvent(void) = 0;
Rohit Grover 111:189ff241dae1 36 };
Rohit Grover 111:189ff241dae1 37
Rohit Grover 111:189ff241dae1 38 /**
Rohit Grover 111:189ff241dae1 39 * BLEDevice uses composition to hide an interface object encapsulating the
Rohit Grover 111:189ff241dae1 40 * backend transport.
Rohit Grover 111:189ff241dae1 41 *
Rohit Grover 111:189ff241dae1 42 * The following API is used to create the singleton interface object. An
Rohit Grover 111:189ff241dae1 43 * implementation for this function must be provided by the device-specific
Rohit Grover 111:189ff241dae1 44 * library, otherwise there will be a linker error.
Rohit Grover 111:189ff241dae1 45 */
Rohit Grover 111:189ff241dae1 46 extern BLEDeviceInstanceBase *createBLEDeviceInstance(void);
Rohit Grover 111:189ff241dae1 47
rgrover1 230:2c414d3240a8 48 #endif // ifndef __BLE_DEVICE_INSTANCE_BASE__