High level Bluetooth Low Energy API and radio abstraction layer

Fork of BLE_API by Bluetooth Low Energy

Committer:
rgrover1
Date:
Fri Nov 21 09:23:25 2014 +0000
Revision:
145:a7ded9ad83c8
Parent:
140:407d134c179d
Child:
146:543877bb1f52
Synchronized with git rev 80f44173
Author: Rohit Grover
Release 0.2.4
=============

Features
~~~~~~~~

* Introduce GattServer::initializeGattDatabase(). This populates the GATT
server with added services.

* Add helper funcs: Gap::MSEC_TO_GAP_DURATION_UNITS() to ease setting up of
connection parameters.

* Enhance connectionEventCallback() to take in peer addr information.

* Minor cleanup of a few public API classes and removal of unnecessary header-file includes.

Bugfixes
~~~~~~~~

* Increase GAP_ADV_PARAMS_INTERVAL_MAX to 0x4000. This addresses mbedmicro/BLE_API/issues/2.

Compatibility
~~~~~~~~~~~~~

One new API has been added (GattServer::initializeGattDatabase()) and
Gap::ConnectionEventCallback_t has been extended. Applications depending on
these should be updated.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Rohit Grover 106:a20be740075d 1 /* mbed Microcontroller Library
Rohit Grover 106:a20be740075d 2 * Copyright (c) 2006-2013 ARM Limited
Rohit Grover 106:a20be740075d 3 *
Rohit Grover 106:a20be740075d 4 * Licensed under the Apache License, Version 2.0 (the "License");
Rohit Grover 106:a20be740075d 5 * you may not use this file except in compliance with the License.
Rohit Grover 106:a20be740075d 6 * You may obtain a copy of the License at
Rohit Grover 106:a20be740075d 7 *
Rohit Grover 106:a20be740075d 8 * http://www.apache.org/licenses/LICENSE-2.0
Rohit Grover 106:a20be740075d 9 *
Rohit Grover 106:a20be740075d 10 * Unless required by applicable law or agreed to in writing, software
Rohit Grover 106:a20be740075d 11 * distributed under the License is distributed on an "AS IS" BASIS,
Rohit Grover 106:a20be740075d 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Rohit Grover 106:a20be740075d 13 * See the License for the specific language governing permissions and
Rohit Grover 106:a20be740075d 14 * limitations under the License.
Rohit Grover 106:a20be740075d 15 */
Rohit Grover 106:a20be740075d 16
Rohit Grover 106:a20be740075d 17 #ifndef __GATT_SERVER_EVENTS_H__
Rohit Grover 106:a20be740075d 18 #define __GATT_SERVER_EVENTS_H__
Rohit Grover 106:a20be740075d 19
Rohit Grover 106:a20be740075d 20 #include "blecommon.h"
Rohit Grover 106:a20be740075d 21
Rohit Grover 106:a20be740075d 22 /**************************************************************************/
Rohit Grover 106:a20be740075d 23 /*!
Rohit Grover 106:a20be740075d 24 \brief
Rohit Grover 106:a20be740075d 25 The base class used to abstract away the callback events that can be
Rohit Grover 106:a20be740075d 26 triggered with the GATT Server.
Rohit Grover 106:a20be740075d 27 */
Rohit Grover 106:a20be740075d 28 /**************************************************************************/
Rohit Grover 106:a20be740075d 29 class GattServerEvents
Rohit Grover 106:a20be740075d 30 {
Rohit Grover 106:a20be740075d 31 public:
Rohit Grover 106:a20be740075d 32 /******************************************************************/
Rohit Grover 106:a20be740075d 33 /*!
Rohit Grover 106:a20be740075d 34 \brief
Rohit Grover 106:a20be740075d 35 Identifies GATT events generated by the radio HW when an event
Rohit Grover 106:a20be740075d 36 callback occurs
Rohit Grover 106:a20be740075d 37 */
Rohit Grover 106:a20be740075d 38 /******************************************************************/
Rohit Grover 106:a20be740075d 39 typedef enum gattEvent_e {
Rohit Grover 106:a20be740075d 40 GATT_EVENT_DATA_SENT = 1, /**< Fired when a msg was successfully sent out (notify only?) */
Rohit Grover 106:a20be740075d 41 GATT_EVENT_DATA_WRITTEN = 2, /**< Client wrote data to Server (separate into char and descriptor writes?) */
Rohit Grover 106:a20be740075d 42 GATT_EVENT_UPDATES_ENABLED = 3, /**< Notify/Indicate Enabled in CCCD */
Rohit Grover 106:a20be740075d 43 GATT_EVENT_UPDATES_DISABLED = 4, /**< Notify/Indicate Disabled in CCCD */
Rohit Grover 106:a20be740075d 44 GATT_EVENT_CONFIRMATION_RECEIVED = 5 /**< Response received from Indicate message */
Rohit Grover 106:a20be740075d 45 } gattEvent_t;
Rohit Grover 106:a20be740075d 46 };
Rohit Grover 106:a20be740075d 47
rgrover1 126:fdebe4d5d62f 48 #endif // ifndef __GATT_SERVER_EVENTS_H__