BLE_Nano nRF51 Central heart rate

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers ble_ranges.h Source File

ble_ranges.h

00001 /* 
00002  * Copyright (c) Nordic Semiconductor ASA
00003  * All rights reserved.
00004  * 
00005  * Redistribution and use in source and binary forms, with or without modification,
00006  * are permitted provided that the following conditions are met:
00007  * 
00008  *   1. Redistributions of source code must retain the above copyright notice, this
00009  *   list of conditions and the following disclaimer.
00010  * 
00011  *   2. Redistributions in binary form must reproduce the above copyright notice, this
00012  *   list of conditions and the following disclaimer in the documentation and/or
00013  *   other materials provided with the distribution.
00014  * 
00015  *   3. Neither the name of Nordic Semiconductor ASA nor the names of other
00016  *   contributors to this software may be used to endorse or promote products
00017  *   derived from this software without specific prior written permission.
00018  * 
00019  *   4. This software must only be used in a processor manufactured by Nordic
00020  *   Semiconductor ASA, or in a processor manufactured by a third party that
00021  *   is used in combination with a processor manufactured by Nordic Semiconductor.
00022  * 
00023  * 
00024  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
00025  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
00026  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00027  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
00028  * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
00029  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
00030  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
00031  * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00032  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
00033  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00034  * 
00035  */
00036 
00037 /**
00038   @addtogroup BLE_COMMON
00039   @{
00040   @defgroup ble_ranges Module specific SVC, event and option number subranges
00041   @{
00042 
00043   @brief Definition of SVC, event and option number subranges for each API module.
00044 
00045   @note
00046   SVCs, event and option numbers are split into subranges for each API module.
00047   Each module receives its entire allocated range of SVC calls, whether implemented or not,
00048   but return BLE_ERROR_NOT_SUPPORTED for unimplemented or undefined calls in its range.
00049 
00050   Note that the symbols BLE_<module>_SVC_LAST is the end of the allocated SVC range,
00051   rather than the last SVC function call actually defined and implemented.
00052 
00053   Specific SVC, event and option values are defined in each module's ble_<module>.h file,
00054   which defines names of each individual SVC code based on the range start value.
00055 */
00056 
00057 #ifndef BLE_RANGES_H__
00058 #define BLE_RANGES_H__
00059 
00060 #ifdef __cplusplus
00061 extern "C" {
00062 #endif
00063 
00064 #define BLE_SVC_BASE           0x60       /**< Common BLE SVC base. */
00065 #define BLE_SVC_LAST           0x6B       /**< Total: 12. */
00066 
00067 #define BLE_RESERVED_SVC_BASE  0x6C       /**< Reserved BLE SVC base. */
00068 #define BLE_RESERVED_SVC_LAST  0x6F       /**< Total: 4. */
00069 
00070 #define BLE_GAP_SVC_BASE       0x70       /**< GAP BLE SVC base. */
00071 #define BLE_GAP_SVC_LAST       0x8F       /**< Total: 32. */
00072 
00073 #define BLE_GATTC_SVC_BASE     0x90       /**< GATTC BLE SVC base. */
00074 #define BLE_GATTC_SVC_LAST     0x9F       /**< Total: 32. */
00075 
00076 #define BLE_GATTS_SVC_BASE     0xA0       /**< GATTS BLE SVC base. */
00077 #define BLE_GATTS_SVC_LAST     0xAF       /**< Total: 16. */
00078 
00079 #define BLE_L2CAP_SVC_BASE     0xB0       /**< L2CAP BLE SVC base. */
00080 #define BLE_L2CAP_SVC_LAST     0xBF       /**< Total: 16. */
00081 
00082 
00083 #define BLE_EVT_INVALID        0x00       /**< Invalid BLE Event. */
00084 
00085 #define BLE_EVT_BASE           0x01       /**< Common BLE Event base. */
00086 #define BLE_EVT_LAST           0x0F       /**< Total: 15. */
00087 
00088 #define BLE_GAP_EVT_BASE       0x10       /**< GAP BLE Event base. */
00089 #define BLE_GAP_EVT_LAST       0x2F       /**< Total: 32. */
00090 
00091 #define BLE_GATTC_EVT_BASE     0x30       /**< GATTC BLE Event base. */
00092 #define BLE_GATTC_EVT_LAST     0x4F       /**< Total: 32. */
00093 
00094 #define BLE_GATTS_EVT_BASE     0x50       /**< GATTS BLE Event base. */
00095 #define BLE_GATTS_EVT_LAST     0x6F       /**< Total: 32. */
00096 
00097 #define BLE_L2CAP_EVT_BASE     0x70       /**< L2CAP BLE Event base. */
00098 #define BLE_L2CAP_EVT_LAST     0x8F       /**< Total: 32.  */
00099 
00100 
00101 #define BLE_OPT_INVALID        0x00       /**< Invalid BLE Option. */
00102 
00103 #define BLE_OPT_BASE           0x01       /**< Common BLE Option base. */
00104 #define BLE_OPT_LAST           0x1F       /**< Total: 31. */
00105 
00106 #define BLE_GAP_OPT_BASE       0x20       /**< GAP BLE Option base. */
00107 #define BLE_GAP_OPT_LAST       0x3F       /**< Total: 32. */
00108 
00109 #define BLE_GATTC_OPT_BASE     0x40       /**< GATTC BLE Option base. */
00110 #define BLE_GATTC_OPT_LAST     0x5F       /**< Total: 32. */
00111 
00112 #define BLE_GATTS_OPT_BASE     0x60       /**< GATTS BLE Option base. */
00113 #define BLE_GATTS_OPT_LAST     0x7F       /**< Total: 32. */
00114 
00115 #define BLE_L2CAP_OPT_BASE     0x80       /**< L2CAP BLE Option base. */
00116 #define BLE_L2CAP_OPT_LAST     0x9F       /**< Total: 32.  */
00117 
00118 #ifdef __cplusplus
00119 }
00120 #endif
00121 #endif /* BLE_RANGES_H__ */
00122 
00123 /**
00124   @}
00125   @}
00126 */
00127