High level Bluetooth Low Energy API and radio abstraction layer
Fork of BLE_API by
Revision 94:455363a6eb90, committed 2014-06-13
- Comitter:
- Rohit Grover
- Date:
- Fri Jun 13 11:22:03 2014 +0100
- Parent:
- 93:f97a35cc40f8
- Child:
- 95:5d2102351bf4
- Commit message:
- add BLEDevice::readCharacteristicValue()
Changed in this revision
hw/BLEDevice.h | Show annotated file Show diff for this revision Revisions of this file |
hw/GattServer.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/hw/BLEDevice.h Wed Jun 11 15:03:35 2014 +0100 +++ b/hw/BLEDevice.h Fri Jun 13 11:22:03 2014 +0100 @@ -142,7 +142,9 @@ ble_error_t addService(GattService &service); Gap::GapState_t getGapState(void) const; - ble_error_t updateCharacteristicValue(uint16_t handle, const uint8_t* value, uint16_t size, bool localOnly = false); + + ble_error_t readCharacteristicValue(uint16_t handle, uint8_t *const buffer, uint16_t *const lengthP); + ble_error_t updateCharacteristicValue(uint16_t handle, const uint8_t* value, uint16_t size, bool localOnly = false); /** * Yield control to the BLE stack or to other tasks waiting for events. This @@ -373,6 +375,11 @@ return transport->getGap().getState(); } +inline ble_error_t BLEDevice::readCharacteristicValue(uint16_t handle, uint8_t *const buffer, uint16_t *const lengthP) +{ + return transport->getGattServer().readValue(handle, buffer, lengthP); +} + inline ble_error_t BLEDevice::updateCharacteristicValue(uint16_t handle, const uint8_t* value, uint16_t size, bool localOnly) {
--- a/hw/GattServer.h Wed Jun 11 15:03:35 2014 +0100 +++ b/hw/GattServer.h Fri Jun 13 11:22:03 2014 +0100 @@ -34,7 +34,7 @@ public: /* These functions must be defined in the sub-class */ virtual ble_error_t addService(GattService &) = 0; - virtual ble_error_t readValue(uint16_t, uint8_t[], uint16_t) = 0; + virtual ble_error_t readValue(uint16_t handle, uint8_t buffer[], uint16_t *const lengthP) = 0; virtual ble_error_t updateValue(uint16_t, uint8_t[], uint16_t, bool localOnly = false) = 0; // ToDo: For updateValue, check the CCCD to see if the value we are