BLE temperature profile using digital DS1820 or analog LM35 sensors

Dependencies:   DS1820

Committer:
gkroussos
Date:
Sat Mar 07 16:23:41 2015 +0000
Revision:
0:637031152314
Working version 1.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gkroussos 0:637031152314 1 /* mbed Microcontroller Library
gkroussos 0:637031152314 2 * Copyright (c) 2006-2013 ARM Limited
gkroussos 0:637031152314 3 *
gkroussos 0:637031152314 4 * Licensed under the Apache License, Version 2.0 (the "License");
gkroussos 0:637031152314 5 * you may not use this file except in compliance with the License.
gkroussos 0:637031152314 6 * You may obtain a copy of the License at
gkroussos 0:637031152314 7 *
gkroussos 0:637031152314 8 * http://www.apache.org/licenses/LICENSE-2.0
gkroussos 0:637031152314 9 *
gkroussos 0:637031152314 10 * Unless required by applicable law or agreed to in writing, software
gkroussos 0:637031152314 11 * distributed under the License is distributed on an "AS IS" BASIS,
gkroussos 0:637031152314 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
gkroussos 0:637031152314 13 * See the License for the specific language governing permissions and
gkroussos 0:637031152314 14 * limitations under the License.
gkroussos 0:637031152314 15 */
gkroussos 0:637031152314 16
gkroussos 0:637031152314 17 #ifndef __NRF51822_GATT_SERVER_H__
gkroussos 0:637031152314 18 #define __NRF51822_GATT_SERVER_H__
gkroussos 0:637031152314 19
gkroussos 0:637031152314 20 #include "mbed.h"
gkroussos 0:637031152314 21 #include "blecommon.h"
gkroussos 0:637031152314 22 #include "ble.h" /* nordic ble */
gkroussos 0:637031152314 23 #include "GattService.h"
gkroussos 0:637031152314 24 #include "hw/GattServer.h"
gkroussos 0:637031152314 25
gkroussos 0:637031152314 26 #define BLE_TOTAL_CHARACTERISTICS 10
gkroussos 0:637031152314 27
gkroussos 0:637031152314 28 /**************************************************************************/
gkroussos 0:637031152314 29 /*!
gkroussos 0:637031152314 30 \brief
gkroussos 0:637031152314 31
gkroussos 0:637031152314 32 */
gkroussos 0:637031152314 33 /**************************************************************************/
gkroussos 0:637031152314 34 class nRF51GattServer : public GattServer
gkroussos 0:637031152314 35 {
gkroussos 0:637031152314 36 public:
gkroussos 0:637031152314 37 static nRF51GattServer& getInstance()
gkroussos 0:637031152314 38 {
gkroussos 0:637031152314 39 static nRF51GattServer m_instance;
gkroussos 0:637031152314 40 return m_instance;
gkroussos 0:637031152314 41 }
gkroussos 0:637031152314 42
gkroussos 0:637031152314 43 /* Functions that must be implemented from GattServer */
gkroussos 0:637031152314 44 virtual ble_error_t addService(GattService &);
gkroussos 0:637031152314 45 virtual ble_error_t readValue(uint16_t, uint8_t[], uint16_t);
gkroussos 0:637031152314 46 virtual ble_error_t updateValue(uint16_t, uint8_t[], uint16_t);
gkroussos 0:637031152314 47
gkroussos 0:637031152314 48 /* nRF51 Functions */
gkroussos 0:637031152314 49 void eventCallback(void);
gkroussos 0:637031152314 50 void hwCallback(ble_evt_t * p_ble_evt);
gkroussos 0:637031152314 51
gkroussos 0:637031152314 52 uint16_t m_connectionHandle; // TODO move to private
gkroussos 0:637031152314 53
gkroussos 0:637031152314 54 private:
gkroussos 0:637031152314 55 GattCharacteristic* p_characteristics[BLE_TOTAL_CHARACTERISTICS];
gkroussos 0:637031152314 56 ble_gatts_char_handles_t nrfCharacteristicHandles[BLE_TOTAL_CHARACTERISTICS];
gkroussos 0:637031152314 57
gkroussos 0:637031152314 58 nRF51GattServer() { serviceCount = 0; characteristicCount = 0; m_connectionHandle = BLE_CONN_HANDLE_INVALID; };
gkroussos 0:637031152314 59
gkroussos 0:637031152314 60 nRF51GattServer(nRF51GattServer const&);
gkroussos 0:637031152314 61 void operator=(nRF51GattServer const&);
gkroussos 0:637031152314 62 };
gkroussos 0:637031152314 63
gkroussos 0:637031152314 64 #endif