Javier Vargas / Mbed OS ControllerBLE
Committer:
HelGast95
Date:
Thu Jan 31 12:55:00 2019 +0000
Revision:
79:9f3aca04de4e
Child:
80:5e52c5847273
Primera version de GATT Server

Who changed what in which revision?

UserRevisionLine numberNew contents of line
HelGast95 79:9f3aca04de4e 1 #ifndef __BLE_TOF_SERVICE_H__
HelGast95 79:9f3aca04de4e 2 #define __BLE_TOF_SERVICE_H__
HelGast95 79:9f3aca04de4e 3
HelGast95 79:9f3aca04de4e 4 #include "ble/BLE.h"
HelGast95 79:9f3aca04de4e 5
HelGast95 79:9f3aca04de4e 6 class TOFService {
HelGast95 79:9f3aca04de4e 7 public:
HelGast95 79:9f3aca04de4e 8 const static uint8_t TOF_CHAR_ARRAY_SIZE = 100;
HelGast95 79:9f3aca04de4e 9 const static uint16_t CUSTOM_TOF_SERVICE_UUID = 0xA000;
HelGast95 79:9f3aca04de4e 10 const static uint16_t TOF_CHAR_WRITE_CHARACTERISTIC_UUID = 0xA001;
HelGast95 79:9f3aca04de4e 11
HelGast95 79:9f3aca04de4e 12 TOFService(BLE& _ble) :
HelGast95 79:9f3aca04de4e 13 ble(_ble),
HelGast95 79:9f3aca04de4e 14 //writeCharArrayCharacteristic(TOF_CHAR_WRITE_CHARACTERISTIC_UUID, writeValue)
HelGast95 79:9f3aca04de4e 15 writeCharArrayCharacteristic(TOF_CHAR_WRITE_CHARACTERISTIC_UUID, writeBuffer, 1, 100,
HelGast95 79:9f3aca04de4e 16 GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_WRITE | GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_WRITE_WITHOUT_RESPONSE | GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_EXTENDED_PROPERTIES)
HelGast95 79:9f3aca04de4e 17 {
HelGast95 79:9f3aca04de4e 18 static bool serviceAdded = false; /* We should only ever need to add the information service once. */
HelGast95 79:9f3aca04de4e 19 if (serviceAdded) {
HelGast95 79:9f3aca04de4e 20 return;
HelGast95 79:9f3aca04de4e 21 }
HelGast95 79:9f3aca04de4e 22
HelGast95 79:9f3aca04de4e 23 GattCharacteristic *charTable[] = {&writeCharArrayCharacteristic};
HelGast95 79:9f3aca04de4e 24
HelGast95 79:9f3aca04de4e 25 GattService TOFService(CUSTOM_TOF_SERVICE_UUID, charTable, sizeof(charTable) / sizeof(GattCharacteristic *));
HelGast95 79:9f3aca04de4e 26
HelGast95 79:9f3aca04de4e 27 ble.gattServer().addService(TOFService);
HelGast95 79:9f3aca04de4e 28 serviceAdded = true;
HelGast95 79:9f3aca04de4e 29 }
HelGast95 79:9f3aca04de4e 30
HelGast95 79:9f3aca04de4e 31 GattAttribute::Handle_t getValueHandle() const {
HelGast95 79:9f3aca04de4e 32 return writeCharArrayCharacteristic.getValueHandle();
HelGast95 79:9f3aca04de4e 33 }
HelGast95 79:9f3aca04de4e 34
HelGast95 79:9f3aca04de4e 35 private:
HelGast95 79:9f3aca04de4e 36 BLE& ble;
HelGast95 79:9f3aca04de4e 37
HelGast95 79:9f3aca04de4e 38 uint8_t writeBuffer[TOF_CHAR_ARRAY_SIZE];
HelGast95 79:9f3aca04de4e 39
HelGast95 79:9f3aca04de4e 40 //WriteOnlyArrayGattCharacteristic<uint8_t, sizeof(writeBuffer)> writeCharArrayCharacteristic;
HelGast95 79:9f3aca04de4e 41 GattCharacteristic writeCharArrayCharacteristic;
HelGast95 79:9f3aca04de4e 42 };
HelGast95 79:9f3aca04de4e 43
HelGast95 79:9f3aca04de4e 44 #endif /* #ifndef __BLE_TOF_SERVICE_H__*/