Mouse code for the MacroRat

Dependencies:   ITG3200 QEI

Committer:
sahilmgandhi
Date:
Sun May 14 23:18:57 2017 +0000
Revision:
18:6a4db94011d3
Publishing again

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sahilmgandhi 18:6a4db94011d3 1 /*
sahilmgandhi 18:6a4db94011d3 2 * Copyright (c) 2000 Nordic Semiconductor ASA
sahilmgandhi 18:6a4db94011d3 3 * All rights reserved.
sahilmgandhi 18:6a4db94011d3 4 *
sahilmgandhi 18:6a4db94011d3 5 * Redistribution and use in source and binary forms, with or without modification,
sahilmgandhi 18:6a4db94011d3 6 * are permitted provided that the following conditions are met:
sahilmgandhi 18:6a4db94011d3 7 *
sahilmgandhi 18:6a4db94011d3 8 * 1. Redistributions of source code must retain the above copyright notice, this list
sahilmgandhi 18:6a4db94011d3 9 * of conditions and the following disclaimer.
sahilmgandhi 18:6a4db94011d3 10 *
sahilmgandhi 18:6a4db94011d3 11 * 2. Redistributions in binary form, except as embedded into a Nordic Semiconductor ASA
sahilmgandhi 18:6a4db94011d3 12 * integrated circuit in a product or a software update for such product, must reproduce
sahilmgandhi 18:6a4db94011d3 13 * the above copyright notice, this list of conditions and the following disclaimer in
sahilmgandhi 18:6a4db94011d3 14 * the documentation and/or other materials provided with the distribution.
sahilmgandhi 18:6a4db94011d3 15 *
sahilmgandhi 18:6a4db94011d3 16 * 3. Neither the name of Nordic Semiconductor ASA nor the names of its contributors may be
sahilmgandhi 18:6a4db94011d3 17 * used to endorse or promote products derived from this software without specific prior
sahilmgandhi 18:6a4db94011d3 18 * written permission.
sahilmgandhi 18:6a4db94011d3 19 *
sahilmgandhi 18:6a4db94011d3 20 * 4. This software, with or without modification, must only be used with a
sahilmgandhi 18:6a4db94011d3 21 * Nordic Semiconductor ASA integrated circuit.
sahilmgandhi 18:6a4db94011d3 22 *
sahilmgandhi 18:6a4db94011d3 23 * 5. Any software provided in binary or object form under this license must not be reverse
sahilmgandhi 18:6a4db94011d3 24 * engineered, decompiled, modified and/or disassembled.
sahilmgandhi 18:6a4db94011d3 25 *
sahilmgandhi 18:6a4db94011d3 26 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
sahilmgandhi 18:6a4db94011d3 27 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
sahilmgandhi 18:6a4db94011d3 28 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
sahilmgandhi 18:6a4db94011d3 29 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
sahilmgandhi 18:6a4db94011d3 30 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
sahilmgandhi 18:6a4db94011d3 31 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
sahilmgandhi 18:6a4db94011d3 32 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
sahilmgandhi 18:6a4db94011d3 33 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
sahilmgandhi 18:6a4db94011d3 34 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
sahilmgandhi 18:6a4db94011d3 35 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
sahilmgandhi 18:6a4db94011d3 36 *
sahilmgandhi 18:6a4db94011d3 37 */
sahilmgandhi 18:6a4db94011d3 38
sahilmgandhi 18:6a4db94011d3 39
sahilmgandhi 18:6a4db94011d3 40 /**
sahilmgandhi 18:6a4db94011d3 41 @addtogroup BLE_GATT Generic Attribute Profile (GATT) Common
sahilmgandhi 18:6a4db94011d3 42 @{
sahilmgandhi 18:6a4db94011d3 43 @brief Common definitions and prototypes for the GATT interfaces.
sahilmgandhi 18:6a4db94011d3 44 */
sahilmgandhi 18:6a4db94011d3 45
sahilmgandhi 18:6a4db94011d3 46 #ifndef NRF_BLE_GATT_H__
sahilmgandhi 18:6a4db94011d3 47 #define NRF_BLE_GATT_H__
sahilmgandhi 18:6a4db94011d3 48
sahilmgandhi 18:6a4db94011d3 49 #include "nrf_ble_types.h"
sahilmgandhi 18:6a4db94011d3 50 #include "nrf_ble_ranges.h"
sahilmgandhi 18:6a4db94011d3 51
sahilmgandhi 18:6a4db94011d3 52 #ifdef __cplusplus
sahilmgandhi 18:6a4db94011d3 53 extern "C" {
sahilmgandhi 18:6a4db94011d3 54 #endif
sahilmgandhi 18:6a4db94011d3 55
sahilmgandhi 18:6a4db94011d3 56 /** @addtogroup BLE_GATT_DEFINES Defines
sahilmgandhi 18:6a4db94011d3 57 * @{ */
sahilmgandhi 18:6a4db94011d3 58
sahilmgandhi 18:6a4db94011d3 59 /** @brief Default MTU size. */
sahilmgandhi 18:6a4db94011d3 60 #define GATT_MTU_SIZE_DEFAULT 23
sahilmgandhi 18:6a4db94011d3 61
sahilmgandhi 18:6a4db94011d3 62 /** @brief Only the default MTU size of 23 is currently supported. */
sahilmgandhi 18:6a4db94011d3 63 #define GATT_RX_MTU 23
sahilmgandhi 18:6a4db94011d3 64
sahilmgandhi 18:6a4db94011d3 65
sahilmgandhi 18:6a4db94011d3 66 /**@brief Invalid Attribute Handle. */
sahilmgandhi 18:6a4db94011d3 67 #define BLE_GATT_HANDLE_INVALID 0x0000
sahilmgandhi 18:6a4db94011d3 68
sahilmgandhi 18:6a4db94011d3 69 /**@brief First Attribute Handle. */
sahilmgandhi 18:6a4db94011d3 70 #define BLE_GATT_HANDLE_START 0x0001
sahilmgandhi 18:6a4db94011d3 71
sahilmgandhi 18:6a4db94011d3 72 /**@brief Last Attribute Handle. */
sahilmgandhi 18:6a4db94011d3 73 #define BLE_GATT_HANDLE_END 0xFFFF
sahilmgandhi 18:6a4db94011d3 74
sahilmgandhi 18:6a4db94011d3 75 /** @defgroup BLE_GATT_TIMEOUT_SOURCES GATT Timeout sources
sahilmgandhi 18:6a4db94011d3 76 * @{ */
sahilmgandhi 18:6a4db94011d3 77 #define BLE_GATT_TIMEOUT_SRC_PROTOCOL 0x00 /**< ATT Protocol timeout. */
sahilmgandhi 18:6a4db94011d3 78 /** @} */
sahilmgandhi 18:6a4db94011d3 79
sahilmgandhi 18:6a4db94011d3 80 /** @defgroup BLE_GATT_WRITE_OPS GATT Write operations
sahilmgandhi 18:6a4db94011d3 81 * @{ */
sahilmgandhi 18:6a4db94011d3 82 #define BLE_GATT_OP_INVALID 0x00 /**< Invalid Operation. */
sahilmgandhi 18:6a4db94011d3 83 #define BLE_GATT_OP_WRITE_REQ 0x01 /**< Write Request. */
sahilmgandhi 18:6a4db94011d3 84 #define BLE_GATT_OP_WRITE_CMD 0x02 /**< Write Command. */
sahilmgandhi 18:6a4db94011d3 85 #define BLE_GATT_OP_SIGN_WRITE_CMD 0x03 /**< Signed Write Command. */
sahilmgandhi 18:6a4db94011d3 86 #define BLE_GATT_OP_PREP_WRITE_REQ 0x04 /**< Prepare Write Request. */
sahilmgandhi 18:6a4db94011d3 87 #define BLE_GATT_OP_EXEC_WRITE_REQ 0x05 /**< Execute Write Request. */
sahilmgandhi 18:6a4db94011d3 88 /** @} */
sahilmgandhi 18:6a4db94011d3 89
sahilmgandhi 18:6a4db94011d3 90 /** @defgroup BLE_GATT_EXEC_WRITE_FLAGS GATT Execute Write flags
sahilmgandhi 18:6a4db94011d3 91 * @{ */
sahilmgandhi 18:6a4db94011d3 92 #define BLE_GATT_EXEC_WRITE_FLAG_PREPARED_CANCEL 0x00
sahilmgandhi 18:6a4db94011d3 93 #define BLE_GATT_EXEC_WRITE_FLAG_PREPARED_WRITE 0x01
sahilmgandhi 18:6a4db94011d3 94 /** @} */
sahilmgandhi 18:6a4db94011d3 95
sahilmgandhi 18:6a4db94011d3 96 /** @defgroup BLE_GATT_HVX_TYPES GATT Handle Value operations
sahilmgandhi 18:6a4db94011d3 97 * @{ */
sahilmgandhi 18:6a4db94011d3 98 #define BLE_GATT_HVX_INVALID 0x00 /**< Invalid Operation. */
sahilmgandhi 18:6a4db94011d3 99 #define BLE_GATT_HVX_NOTIFICATION 0x01 /**< Handle Value Notification. */
sahilmgandhi 18:6a4db94011d3 100 #define BLE_GATT_HVX_INDICATION 0x02 /**< Handle Value Indication. */
sahilmgandhi 18:6a4db94011d3 101 /** @} */
sahilmgandhi 18:6a4db94011d3 102
sahilmgandhi 18:6a4db94011d3 103 /** @defgroup BLE_GATT_STATUS_CODES GATT Status Codes
sahilmgandhi 18:6a4db94011d3 104 * @{ */
sahilmgandhi 18:6a4db94011d3 105 #define BLE_GATT_STATUS_SUCCESS 0x0000 /**< Success. */
sahilmgandhi 18:6a4db94011d3 106 #define BLE_GATT_STATUS_UNKNOWN 0x0001 /**< Unknown or not applicable status. */
sahilmgandhi 18:6a4db94011d3 107 #define BLE_GATT_STATUS_ATTERR_INVALID 0x0100 /**< ATT Error: Invalid Error Code. */
sahilmgandhi 18:6a4db94011d3 108 #define BLE_GATT_STATUS_ATTERR_INVALID_HANDLE 0x0101 /**< ATT Error: Invalid Attribute Handle. */
sahilmgandhi 18:6a4db94011d3 109 #define BLE_GATT_STATUS_ATTERR_READ_NOT_PERMITTED 0x0102 /**< ATT Error: Read not permitted. */
sahilmgandhi 18:6a4db94011d3 110 #define BLE_GATT_STATUS_ATTERR_WRITE_NOT_PERMITTED 0x0103 /**< ATT Error: Write not permitted. */
sahilmgandhi 18:6a4db94011d3 111 #define BLE_GATT_STATUS_ATTERR_INVALID_PDU 0x0104 /**< ATT Error: Used in ATT as Invalid PDU. */
sahilmgandhi 18:6a4db94011d3 112 #define BLE_GATT_STATUS_ATTERR_INSUF_AUTHENTICATION 0x0105 /**< ATT Error: Authenticated link required. */
sahilmgandhi 18:6a4db94011d3 113 #define BLE_GATT_STATUS_ATTERR_REQUEST_NOT_SUPPORTED 0x0106 /**< ATT Error: Used in ATT as Request Not Supported. */
sahilmgandhi 18:6a4db94011d3 114 #define BLE_GATT_STATUS_ATTERR_INVALID_OFFSET 0x0107 /**< ATT Error: Offset specified was past the end of the attribute. */
sahilmgandhi 18:6a4db94011d3 115 #define BLE_GATT_STATUS_ATTERR_INSUF_AUTHORIZATION 0x0108 /**< ATT Error: Used in ATT as Insufficient Authorisation. */
sahilmgandhi 18:6a4db94011d3 116 #define BLE_GATT_STATUS_ATTERR_PREPARE_QUEUE_FULL 0x0109 /**< ATT Error: Used in ATT as Prepare Queue Full. */
sahilmgandhi 18:6a4db94011d3 117 #define BLE_GATT_STATUS_ATTERR_ATTRIBUTE_NOT_FOUND 0x010A /**< ATT Error: Used in ATT as Attribute not found. */
sahilmgandhi 18:6a4db94011d3 118 #define BLE_GATT_STATUS_ATTERR_ATTRIBUTE_NOT_LONG 0x010B /**< ATT Error: Attribute cannot be read or written using read/write blob requests. */
sahilmgandhi 18:6a4db94011d3 119 #define BLE_GATT_STATUS_ATTERR_INSUF_ENC_KEY_SIZE 0x010C /**< ATT Error: Encryption key size used is insufficient. */
sahilmgandhi 18:6a4db94011d3 120 #define BLE_GATT_STATUS_ATTERR_INVALID_ATT_VAL_LENGTH 0x010D /**< ATT Error: Invalid value size. */
sahilmgandhi 18:6a4db94011d3 121 #define BLE_GATT_STATUS_ATTERR_UNLIKELY_ERROR 0x010E /**< ATT Error: Very unlikely error. */
sahilmgandhi 18:6a4db94011d3 122 #define BLE_GATT_STATUS_ATTERR_INSUF_ENCRYPTION 0x010F /**< ATT Error: Encrypted link required. */
sahilmgandhi 18:6a4db94011d3 123 #define BLE_GATT_STATUS_ATTERR_UNSUPPORTED_GROUP_TYPE 0x0110 /**< ATT Error: Attribute type is not a supported grouping attribute. */
sahilmgandhi 18:6a4db94011d3 124 #define BLE_GATT_STATUS_ATTERR_INSUF_RESOURCES 0x0111 /**< ATT Error: Encrypted link required. */
sahilmgandhi 18:6a4db94011d3 125 #define BLE_GATT_STATUS_ATTERR_RFU_RANGE1_BEGIN 0x0112 /**< ATT Error: Reserved for Future Use range #1 begin. */
sahilmgandhi 18:6a4db94011d3 126 #define BLE_GATT_STATUS_ATTERR_RFU_RANGE1_END 0x017F /**< ATT Error: Reserved for Future Use range #1 end. */
sahilmgandhi 18:6a4db94011d3 127 #define BLE_GATT_STATUS_ATTERR_APP_BEGIN 0x0180 /**< ATT Error: Application range begin. */
sahilmgandhi 18:6a4db94011d3 128 #define BLE_GATT_STATUS_ATTERR_APP_END 0x019F /**< ATT Error: Application range end. */
sahilmgandhi 18:6a4db94011d3 129 #define BLE_GATT_STATUS_ATTERR_RFU_RANGE2_BEGIN 0x01A0 /**< ATT Error: Reserved for Future Use range #2 begin. */
sahilmgandhi 18:6a4db94011d3 130 #define BLE_GATT_STATUS_ATTERR_RFU_RANGE2_END 0x01DF /**< ATT Error: Reserved for Future Use range #2 end. */
sahilmgandhi 18:6a4db94011d3 131 #define BLE_GATT_STATUS_ATTERR_RFU_RANGE3_BEGIN 0x01E0 /**< ATT Error: Reserved for Future Use range #3 begin. */
sahilmgandhi 18:6a4db94011d3 132 #define BLE_GATT_STATUS_ATTERR_RFU_RANGE3_END 0x01FC /**< ATT Error: Reserved for Future Use range #3 end. */
sahilmgandhi 18:6a4db94011d3 133 #define BLE_GATT_STATUS_ATTERR_CPS_CCCD_CONFIG_ERROR 0x01FD /**< ATT Common Profile and Service Error: Client Characteristic Configuration Descriptor improperly configured. */
sahilmgandhi 18:6a4db94011d3 134 #define BLE_GATT_STATUS_ATTERR_CPS_PROC_ALR_IN_PROG 0x01FE /**< ATT Common Profile and Service Error: Procedure Already in Progress. */
sahilmgandhi 18:6a4db94011d3 135 #define BLE_GATT_STATUS_ATTERR_CPS_OUT_OF_RANGE 0x01FF /**< ATT Common Profile and Service Error: Out Of Range. */
sahilmgandhi 18:6a4db94011d3 136 /** @} */
sahilmgandhi 18:6a4db94011d3 137
sahilmgandhi 18:6a4db94011d3 138
sahilmgandhi 18:6a4db94011d3 139 /** @defgroup BLE_GATT_CPF_FORMATS Characteristic Presentation Formats
sahilmgandhi 18:6a4db94011d3 140 * @note Found at http://developer.bluetooth.org/gatt/descriptors/Pages/DescriptorViewer.aspx?u=org.bluetooth.descriptor.gatt.characteristic_presentation_format.xml
sahilmgandhi 18:6a4db94011d3 141 * @{ */
sahilmgandhi 18:6a4db94011d3 142 #define BLE_GATT_CPF_FORMAT_RFU 0x00 /**< Reserved For Future Use. */
sahilmgandhi 18:6a4db94011d3 143 #define BLE_GATT_CPF_FORMAT_BOOLEAN 0x01 /**< Boolean. */
sahilmgandhi 18:6a4db94011d3 144 #define BLE_GATT_CPF_FORMAT_2BIT 0x02 /**< Unsigned 2-bit integer. */
sahilmgandhi 18:6a4db94011d3 145 #define BLE_GATT_CPF_FORMAT_NIBBLE 0x03 /**< Unsigned 4-bit integer. */
sahilmgandhi 18:6a4db94011d3 146 #define BLE_GATT_CPF_FORMAT_UINT8 0x04 /**< Unsigned 8-bit integer. */
sahilmgandhi 18:6a4db94011d3 147 #define BLE_GATT_CPF_FORMAT_UINT12 0x05 /**< Unsigned 12-bit integer. */
sahilmgandhi 18:6a4db94011d3 148 #define BLE_GATT_CPF_FORMAT_UINT16 0x06 /**< Unsigned 16-bit integer. */
sahilmgandhi 18:6a4db94011d3 149 #define BLE_GATT_CPF_FORMAT_UINT24 0x07 /**< Unsigned 24-bit integer. */
sahilmgandhi 18:6a4db94011d3 150 #define BLE_GATT_CPF_FORMAT_UINT32 0x08 /**< Unsigned 32-bit integer. */
sahilmgandhi 18:6a4db94011d3 151 #define BLE_GATT_CPF_FORMAT_UINT48 0x09 /**< Unsigned 48-bit integer. */
sahilmgandhi 18:6a4db94011d3 152 #define BLE_GATT_CPF_FORMAT_UINT64 0x0A /**< Unsigned 64-bit integer. */
sahilmgandhi 18:6a4db94011d3 153 #define BLE_GATT_CPF_FORMAT_UINT128 0x0B /**< Unsigned 128-bit integer. */
sahilmgandhi 18:6a4db94011d3 154 #define BLE_GATT_CPF_FORMAT_SINT8 0x0C /**< Signed 2-bit integer. */
sahilmgandhi 18:6a4db94011d3 155 #define BLE_GATT_CPF_FORMAT_SINT12 0x0D /**< Signed 12-bit integer. */
sahilmgandhi 18:6a4db94011d3 156 #define BLE_GATT_CPF_FORMAT_SINT16 0x0E /**< Signed 16-bit integer. */
sahilmgandhi 18:6a4db94011d3 157 #define BLE_GATT_CPF_FORMAT_SINT24 0x0F /**< Signed 24-bit integer. */
sahilmgandhi 18:6a4db94011d3 158 #define BLE_GATT_CPF_FORMAT_SINT32 0x10 /**< Signed 32-bit integer. */
sahilmgandhi 18:6a4db94011d3 159 #define BLE_GATT_CPF_FORMAT_SINT48 0x11 /**< Signed 48-bit integer. */
sahilmgandhi 18:6a4db94011d3 160 #define BLE_GATT_CPF_FORMAT_SINT64 0x12 /**< Signed 64-bit integer. */
sahilmgandhi 18:6a4db94011d3 161 #define BLE_GATT_CPF_FORMAT_SINT128 0x13 /**< Signed 128-bit integer. */
sahilmgandhi 18:6a4db94011d3 162 #define BLE_GATT_CPF_FORMAT_FLOAT32 0x14 /**< IEEE-754 32-bit floating point. */
sahilmgandhi 18:6a4db94011d3 163 #define BLE_GATT_CPF_FORMAT_FLOAT64 0x15 /**< IEEE-754 64-bit floating point. */
sahilmgandhi 18:6a4db94011d3 164 #define BLE_GATT_CPF_FORMAT_SFLOAT 0x16 /**< IEEE-11073 16-bit SFLOAT. */
sahilmgandhi 18:6a4db94011d3 165 #define BLE_GATT_CPF_FORMAT_FLOAT 0x17 /**< IEEE-11073 32-bit FLOAT. */
sahilmgandhi 18:6a4db94011d3 166 #define BLE_GATT_CPF_FORMAT_DUINT16 0x18 /**< IEEE-20601 format. */
sahilmgandhi 18:6a4db94011d3 167 #define BLE_GATT_CPF_FORMAT_UTF8S 0x19 /**< UTF-8 string. */
sahilmgandhi 18:6a4db94011d3 168 #define BLE_GATT_CPF_FORMAT_UTF16S 0x1A /**< UTF-16 string. */
sahilmgandhi 18:6a4db94011d3 169 #define BLE_GATT_CPF_FORMAT_STRUCT 0x1B /**< Opaque Structure. */
sahilmgandhi 18:6a4db94011d3 170 /** @} */
sahilmgandhi 18:6a4db94011d3 171
sahilmgandhi 18:6a4db94011d3 172 /** @defgroup BLE_GATT_CPF_NAMESPACES GATT Bluetooth Namespaces
sahilmgandhi 18:6a4db94011d3 173 * @{
sahilmgandhi 18:6a4db94011d3 174 */
sahilmgandhi 18:6a4db94011d3 175 #define BLE_GATT_CPF_NAMESPACE_BTSIG 0x01 /**< Bluetooth SIG defined Namespace. */
sahilmgandhi 18:6a4db94011d3 176 #define BLE_GATT_CPF_NAMESPACE_DESCRIPTION_UNKNOWN 0x0000 /**< Namespace Description Unknown. */
sahilmgandhi 18:6a4db94011d3 177 /** @} */
sahilmgandhi 18:6a4db94011d3 178
sahilmgandhi 18:6a4db94011d3 179 /** @} */
sahilmgandhi 18:6a4db94011d3 180
sahilmgandhi 18:6a4db94011d3 181 /** @addtogroup BLE_GATT_STRUCTURES Structures
sahilmgandhi 18:6a4db94011d3 182 * @{ */
sahilmgandhi 18:6a4db94011d3 183
sahilmgandhi 18:6a4db94011d3 184 /**@brief GATT Characteristic Properties. */
sahilmgandhi 18:6a4db94011d3 185 typedef struct
sahilmgandhi 18:6a4db94011d3 186 {
sahilmgandhi 18:6a4db94011d3 187 /* Standard properties */
sahilmgandhi 18:6a4db94011d3 188 uint8_t broadcast :1; /**< Broadcasting of the value permitted. */
sahilmgandhi 18:6a4db94011d3 189 uint8_t read :1; /**< Reading the value permitted. */
sahilmgandhi 18:6a4db94011d3 190 uint8_t write_wo_resp :1; /**< Writing the value with Write Command permitted. */
sahilmgandhi 18:6a4db94011d3 191 uint8_t write :1; /**< Writing the value with Write Request permitted. */
sahilmgandhi 18:6a4db94011d3 192 uint8_t notify :1; /**< Notications of the value permitted. */
sahilmgandhi 18:6a4db94011d3 193 uint8_t indicate :1; /**< Indications of the value permitted. */
sahilmgandhi 18:6a4db94011d3 194 uint8_t auth_signed_wr :1; /**< Writing the value with Signed Write Command permitted. */
sahilmgandhi 18:6a4db94011d3 195 } ble_gatt_char_props_t;
sahilmgandhi 18:6a4db94011d3 196
sahilmgandhi 18:6a4db94011d3 197 /**@brief GATT Characteristic Extended Properties. */
sahilmgandhi 18:6a4db94011d3 198 typedef struct
sahilmgandhi 18:6a4db94011d3 199 {
sahilmgandhi 18:6a4db94011d3 200 /* Extended properties */
sahilmgandhi 18:6a4db94011d3 201 uint8_t reliable_wr :1; /**< Writing the value with Queued Write operations permitted. */
sahilmgandhi 18:6a4db94011d3 202 uint8_t wr_aux :1; /**< Writing the Characteristic User Description descriptor permitted. */
sahilmgandhi 18:6a4db94011d3 203 } ble_gatt_char_ext_props_t;
sahilmgandhi 18:6a4db94011d3 204
sahilmgandhi 18:6a4db94011d3 205 #ifdef __cplusplus
sahilmgandhi 18:6a4db94011d3 206 }
sahilmgandhi 18:6a4db94011d3 207 #endif
sahilmgandhi 18:6a4db94011d3 208 #endif // NRF_BLE_GATT_H__
sahilmgandhi 18:6a4db94011d3 209
sahilmgandhi 18:6a4db94011d3 210 /** @} */
sahilmgandhi 18:6a4db94011d3 211
sahilmgandhi 18:6a4db94011d3 212 /**
sahilmgandhi 18:6a4db94011d3 213 @}
sahilmgandhi 18:6a4db94011d3 214 @}
sahilmgandhi 18:6a4db94011d3 215 */