Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of X_NUCLEO_IDB0XA1 by
source/BlueNRGDiscoveredCharacteristic.cpp@259:323f588e5f57, 2016-09-15 (annotated)
- Committer:
- Vincent Coubard
- Date:
- Thu Sep 15 10:51:21 2016 +0100
- Branch:
- 70f819844d61400a7b6772dcc911a63fc73af09e
- Revision:
- 259:323f588e5f57
- Parent:
- 229:9981f62cdb1a
Sync with 70f819844d61400a7b6772dcc911a63fc73af09e
2016-07-08 12:18:26+01:00: Vincent Coubard
Fix ServiceInstantiation_test_xx
Fix the last handle set for characteristics
Fix discovery order.
From a user perspective, the service tree is traversed in deep.
The previous behavior was:
for service in services:
service_callback(callback)
for characteristic in characteristics:
characteristic_callback(characteristic)
The new behavior is:
for service in services:
service_callback(callback)
for characteristic in service.characteristics:
characteristic_callback(characteristic)
Reserve the valid count of attribute records when declaring a service.
Report error when it is not possible to add a service.
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| Andrea Palmieri |
229:9981f62cdb1a | 1 | /* mbed Microcontroller Library |
| Andrea Palmieri |
229:9981f62cdb1a | 2 | * Copyright (c) 2006-2013 ARM Limited |
| Andrea Palmieri |
229:9981f62cdb1a | 3 | * |
| Andrea Palmieri |
229:9981f62cdb1a | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
| Andrea Palmieri |
229:9981f62cdb1a | 5 | * you may not use this file except in compliance with the License. |
| Andrea Palmieri |
229:9981f62cdb1a | 6 | * You may obtain a copy of the License at |
| Andrea Palmieri |
229:9981f62cdb1a | 7 | * |
| Andrea Palmieri |
229:9981f62cdb1a | 8 | * http://www.apache.org/licenses/LICENSE-2.0 |
| Andrea Palmieri |
229:9981f62cdb1a | 9 | * |
| Andrea Palmieri |
229:9981f62cdb1a | 10 | * Unless required by applicable law or agreed to in writing, software |
| Andrea Palmieri |
229:9981f62cdb1a | 11 | * distributed under the License is distributed on an "AS IS" BASIS, |
| Andrea Palmieri |
229:9981f62cdb1a | 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| Andrea Palmieri |
229:9981f62cdb1a | 13 | * See the License for the specific language governing permissions and |
| Andrea Palmieri |
229:9981f62cdb1a | 14 | * limitations under the License. |
| Andrea Palmieri |
229:9981f62cdb1a | 15 | */ |
| Andrea Palmieri |
229:9981f62cdb1a | 16 | |
| Andrea Palmieri |
229:9981f62cdb1a | 17 | #include "BlueNRGDiscoveredCharacteristic.h" |
| Andrea Palmieri |
229:9981f62cdb1a | 18 | #include "BlueNRGGattClient.h" |
| Andrea Palmieri |
229:9981f62cdb1a | 19 | |
| Andrea Palmieri |
229:9981f62cdb1a | 20 | void BlueNRGDiscoveredCharacteristic::setup(BlueNRGGattClient *gattcIn, |
| Andrea Palmieri |
229:9981f62cdb1a | 21 | Gap::Handle_t connectionHandleIn, |
| Andrea Palmieri |
229:9981f62cdb1a | 22 | DiscoveredCharacteristic::Properties_t propsIn, |
| Andrea Palmieri |
229:9981f62cdb1a | 23 | GattAttribute::Handle_t declHandleIn, |
| Andrea Palmieri |
229:9981f62cdb1a | 24 | GattAttribute::Handle_t valueHandleIn, |
| Andrea Palmieri |
229:9981f62cdb1a | 25 | GattAttribute::Handle_t lastHandleIn) |
| Andrea Palmieri |
229:9981f62cdb1a | 26 | { |
| Andrea Palmieri |
229:9981f62cdb1a | 27 | gattc = gattcIn; |
| Andrea Palmieri |
229:9981f62cdb1a | 28 | connHandle = connectionHandleIn; |
| Andrea Palmieri |
229:9981f62cdb1a | 29 | declHandle = declHandleIn; |
| Andrea Palmieri |
229:9981f62cdb1a | 30 | valueHandle = valueHandleIn; |
| Andrea Palmieri |
229:9981f62cdb1a | 31 | lastHandle = lastHandleIn; |
| Andrea Palmieri |
229:9981f62cdb1a | 32 | |
| Andrea Palmieri |
229:9981f62cdb1a | 33 | props._broadcast = propsIn.broadcast(); |
| Andrea Palmieri |
229:9981f62cdb1a | 34 | props._read = propsIn.read(); |
| Andrea Palmieri |
229:9981f62cdb1a | 35 | props._writeWoResp = propsIn.writeWoResp(); |
| Andrea Palmieri |
229:9981f62cdb1a | 36 | props._write = propsIn.write(); |
| Andrea Palmieri |
229:9981f62cdb1a | 37 | props._notify = propsIn.notify(); |
| Andrea Palmieri |
229:9981f62cdb1a | 38 | props._indicate = propsIn.indicate(); |
| Andrea Palmieri |
229:9981f62cdb1a | 39 | props._authSignedWrite = propsIn.authSignedWrite(); |
| Andrea Palmieri |
229:9981f62cdb1a | 40 | } |
| Andrea Palmieri |
229:9981f62cdb1a | 41 | |
| Andrea Palmieri |
229:9981f62cdb1a | 42 | void BlueNRGDiscoveredCharacteristic::setup(BlueNRGGattClient *gattcIn, |
| Andrea Palmieri |
229:9981f62cdb1a | 43 | Gap::Handle_t connectionHandleIn, |
| Andrea Palmieri |
229:9981f62cdb1a | 44 | UUID uuidIn, |
| Andrea Palmieri |
229:9981f62cdb1a | 45 | DiscoveredCharacteristic::Properties_t propsIn, |
| Andrea Palmieri |
229:9981f62cdb1a | 46 | GattAttribute::Handle_t declHandleIn, |
| Andrea Palmieri |
229:9981f62cdb1a | 47 | GattAttribute::Handle_t valueHandleIn, |
| Andrea Palmieri |
229:9981f62cdb1a | 48 | GattAttribute::Handle_t lastHandleIn) |
| Andrea Palmieri |
229:9981f62cdb1a | 49 | { |
| Andrea Palmieri |
229:9981f62cdb1a | 50 | gattc = gattcIn; |
| Andrea Palmieri |
229:9981f62cdb1a | 51 | connHandle = connectionHandleIn; |
| Andrea Palmieri |
229:9981f62cdb1a | 52 | uuid = uuidIn; |
| Andrea Palmieri |
229:9981f62cdb1a | 53 | declHandle = declHandleIn; |
| Andrea Palmieri |
229:9981f62cdb1a | 54 | valueHandle = valueHandleIn; |
| Andrea Palmieri |
229:9981f62cdb1a | 55 | lastHandle = lastHandleIn; |
| Andrea Palmieri |
229:9981f62cdb1a | 56 | |
| Andrea Palmieri |
229:9981f62cdb1a | 57 | props._broadcast = propsIn.broadcast(); |
| Andrea Palmieri |
229:9981f62cdb1a | 58 | props._read = propsIn.read(); |
| Andrea Palmieri |
229:9981f62cdb1a | 59 | props._writeWoResp = propsIn.writeWoResp(); |
| Andrea Palmieri |
229:9981f62cdb1a | 60 | props._write = propsIn.write(); |
| Andrea Palmieri |
229:9981f62cdb1a | 61 | props._notify = propsIn.notify(); |
| Andrea Palmieri |
229:9981f62cdb1a | 62 | props._indicate = propsIn.indicate(); |
| Andrea Palmieri |
229:9981f62cdb1a | 63 | props._authSignedWrite = propsIn.authSignedWrite(); |
| Andrea Palmieri |
229:9981f62cdb1a | 64 | } |
| Vincent Coubard |
259:323f588e5f57 | 65 | |
| Vincent Coubard |
259:323f588e5f57 | 66 | void BlueNRGDiscoveredCharacteristic::setLastHandle(GattAttribute::Handle_t lastHandleIn) { |
| Vincent Coubard |
259:323f588e5f57 | 67 | lastHandle = lastHandleIn; |
| Vincent Coubard |
259:323f588e5f57 | 68 | } |
