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.
Dependents: BLE_LED_IDB0XA1_demo MOTOR_BLE_V2 Motor_Ble_v1 Motor_Ble_v10223 ... more
Fork of X_NUCLEO_IDB0XA1 by
Diff: x-nucleo-idb0xa1/BlueNRGGattServer.h
- Branch:
- 70f819844d61400a7b6772dcc911a63fc73af09e
- Revision:
- 259:323f588e5f57
- Parent:
- 253:9665a6f8bbdb
- Child:
- 267:cd7870e466b3
--- a/x-nucleo-idb0xa1/BlueNRGGattServer.h Thu Sep 15 10:51:20 2016 +0100
+++ b/x-nucleo-idb0xa1/BlueNRGGattServer.h Thu Sep 15 10:51:21 2016 +0100
@@ -15,7 +15,7 @@
*/
/**
******************************************************************************
- * @file BlueNRGGattServer.cpp
+ * @file BlueNRGGattServer.cpp
* @author STMicroelectronics
* @brief Header file for BLE_API GattServer Class
******************************************************************************
@@ -30,7 +30,7 @@
*
* <h2><center>© COPYRIGHT 2013 STMicroelectronics</center></h2>
*/
-
+
#ifndef __BLUENRG_GATT_SERVER_H__
#define __BLUENRG_GATT_SERVER_H__
@@ -53,13 +53,13 @@
static BlueNRGGattServer m_instance;
return m_instance;
}
-
+
enum HandleEnum_t {
CHAR_HANDLE = 0,
CHAR_VALUE_HANDLE,
CHAR_DESC_HANDLE
};
-
+
/* Functions that must be implemented from GattServer */
virtual ble_error_t addService(GattService &);
virtual ble_error_t read(GattAttribute::Handle_t attributeHandle, uint8_t buffer[], uint16_t *lengthP);
@@ -67,13 +67,13 @@
virtual ble_error_t write(GattAttribute::Handle_t, const uint8_t[], uint16_t, bool localOnly = false);
virtual ble_error_t write(Gap::Handle_t connectionHandle, GattAttribute::Handle_t, const uint8_t[], uint16_t, bool localOnly = false);
virtual ble_error_t initializeGATTDatabase(void);
-
+
virtual bool isOnDataReadAvailable() const {
return true;
}
virtual ble_error_t reset(void);
-
+
/* BlueNRG Functions */
void eventCallback(void);
//void hwCallback(void *pckt);
@@ -83,8 +83,13 @@
void HCIDataReadEvent(const GattReadCallbackParams *params);
void HCIEvent(GattServerEvents::gattEvent_e type, uint16_t charHandle);
void HCIDataSentEvent(unsigned count);
-
+
private:
+
+ // compute the number of attribute record needed by a service
+ static uint16_t computeAttributesRecord(GattService& service);
+
+
static const int MAX_SERVICE_COUNT = 10;
uint8_t serviceCount;
uint8_t characteristicCount;
@@ -101,12 +106,12 @@
BlueNRGGattServer(BlueNRGGattServer const &);
void operator=(BlueNRGGattServer const &);
-
- static const int CHAR_DESC_TYPE_16_BIT=0x01;
- static const int CHAR_DESC_TYPE_128_BIT=0x02;
+
+ static const int CHAR_DESC_TYPE_16_BIT=0x01;
+ static const int CHAR_DESC_TYPE_128_BIT=0x02;
static const int CHAR_DESC_SECURITY_PERMISSION=0x00;
- static const int CHAR_DESC_ACCESS_PERMISSION=0x03;
- static const int CHAR_ATTRIBUTE_LEN_IS_FIXED=0x00;
+ static const int CHAR_DESC_ACCESS_PERMISSION=0x03;
+ static const int CHAR_ATTRIBUTE_LEN_IS_FIXED=0x00;
};
-#endif
+#endif
\ No newline at end of file
