Press buttons to activate the LED.
Dependencies: BLE_API nRF51822
Fork of Puck by
Diff: Puck.h
- Revision:
- 8:49ffd38fb401
- Parent:
- 7:c07c01c2a741
- Child:
- 10:67e4694f2d74
diff -r c07c01c2a741 -r 49ffd38fb401 Puck.h --- a/Puck.h Thu Jul 24 09:25:42 2014 +0000 +++ b/Puck.h Thu Jul 24 14:27:55 2014 +0000 @@ -52,6 +52,7 @@ void onDataWritten(uint16_t handle); void addCharacteristic(const UUID serviceUuid, const UUID characteristicUuid, int bytes, int properties = 0xA); void onCharacteristicWrite(const UUID uuid, CharacteristicWriteCallback callback); + void updateCharacteristicValue(const UUID uuid, uint8_t* value, int length); uint8_t* getCharacteristicValue(const UUID uuid); }; @@ -210,6 +211,23 @@ services.push_back(service); } + +void Puck::updateCharacteristicValue(const UUID uuid, uint8_t* value, int length) { + GattCharacteristic* characteristic = NULL; + for( int i = 0; i < characteristics.size(); i++) { + if(isEqualUUID(&characteristics[i]->getUUID(), uuid)) { + characteristic = characteristics[i]; + break; + } + } + if(characteristic != NULL) { + ble.updateCharacteristicValue(characteristic->getHandle(), value, length); + LOG_VERBOSE("Updated characteristic value.\n"); + } else { + LOG_WARN("Tried to update an unkown characteristic!\n"); + } +} + bool Puck::drive() { ble.waitForEvent(); if(state == DISCONNECTED) {