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.
Fork of BLE_WallbotBLE_Challenge by
nRF51GattServer.h
00001 /* mbed Microcontroller Library 00002 * Copyright (c) 2006-2013 ARM Limited 00003 * 00004 * Licensed under the Apache License, Version 2.0 (the "License"); 00005 * you may not use this file except in compliance with the License. 00006 * You may obtain a copy of the License at 00007 * 00008 * http://www.apache.org/licenses/LICENSE-2.0 00009 * 00010 * Unless required by applicable law or agreed to in writing, software 00011 * distributed under the License is distributed on an "AS IS" BASIS, 00012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 * See the License for the specific language governing permissions and 00014 * limitations under the License. 00015 */ 00016 00017 #ifndef __NRF51822_GATT_SERVER_H__ 00018 #define __NRF51822_GATT_SERVER_H__ 00019 00020 #include "mbed.h" 00021 #include "blecommon.h" 00022 #include "ble.h" /* nordic ble */ 00023 #include "GattService.h" 00024 #include "public/GattServer.h" 00025 00026 #define BLE_TOTAL_CHARACTERISTICS 24 00027 #define BLE_TOTAL_DESCRIPTORS 24 00028 00029 class nRF51GattServer : public GattServer 00030 { 00031 public: 00032 static nRF51GattServer &getInstance() { 00033 static nRF51GattServer m_instance; 00034 return m_instance; 00035 } 00036 00037 /* Functions that must be implemented from GattServer */ 00038 virtual ble_error_t addService(GattService &); 00039 virtual ble_error_t readValue(uint16_t handle, uint8_t buffer[], uint16_t *const lengthP); 00040 virtual ble_error_t updateValue(uint16_t, uint8_t[], uint16_t, bool localOnly = false); 00041 00042 /* nRF51 Functions */ 00043 void eventCallback(void); 00044 void hwCallback(ble_evt_t *p_ble_evt); 00045 00046 private: 00047 GattCharacteristic *p_characteristics[BLE_TOTAL_CHARACTERISTICS]; 00048 ble_gatts_char_handles_t nrfCharacteristicHandles[BLE_TOTAL_CHARACTERISTICS]; 00049 GattAttribute *p_descriptors[BLE_TOTAL_DESCRIPTORS]; 00050 uint16_t nrfDescriptorHandles[BLE_TOTAL_DESCRIPTORS]; 00051 00052 nRF51GattServer() { 00053 serviceCount = 0; 00054 characteristicCount = 0; 00055 descriptorCount = 0; 00056 }; 00057 00058 nRF51GattServer(nRF51GattServer const &); 00059 void operator=(nRF51GattServer const &); 00060 }; 00061 00062 #endif
Generated on Tue Jul 12 2022 13:52:31 by
