X_NUCLEO_IDB05A1
Dependencies: mbed-os-example-ble-Advertising
source/BlueNRGDiscoveredCharacteristic.cpp@229:9981f62cdb1a, 2016-05-16 (annotated)
- Committer:
- Andrea Palmieri
- Date:
- Mon May 16 17:22:03 2016 +0200
- Revision:
- 229:9981f62cdb1a
- Parent:
- 132:51056160fa4a
- Child:
- 259:323f588e5f57
Fix issues and add features
- Fix handles management
- Fix UUIDs management
- Implement API to read random address
- Fix clearing/setting of ADV payload
- Fix scanning behaviour
- Fix scanning while a connection is ongoing
- Implement Char Descriptor discovery
- Implement scanning/advertising filter policy (White List partial management)
- Update underlying BlueNRG stack
- Cosmetics
Signed-off-by: Andrea Palmieri <andrea.palmieri@st.com>
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 | } |