bluetooth control motor
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