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
common/BLEDeviceInstanceBase.h@305:71367f7cd078, 2015-03-02 (annotated)
- 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?
User | Revision | Line number | New 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__ |