my fork

Dependencies:   mbed

Committer:
filartrix
Date:
Wed Apr 08 14:17:20 2015 +0000
Revision:
4:987b201ec4b1
first

Who changed what in which revision?

UserRevisionLine numberNew contents of line
filartrix 4:987b201ec4b1 1 /******************** (C) COPYRIGHT 2014 STMicroelectronics ********************
filartrix 4:987b201ec4b1 2 * File Name : bluenrg_aci_const.h
filartrix 4:987b201ec4b1 3 * Author : AMS - AAS
filartrix 4:987b201ec4b1 4 * Version : V1.0.0
filartrix 4:987b201ec4b1 5 * Date : 26-Jun-2014
filartrix 4:987b201ec4b1 6 * Description : Header file with ACI definitions for BlueNRG FW6.3.
filartrix 4:987b201ec4b1 7 ********************************************************************************
filartrix 4:987b201ec4b1 8 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
filartrix 4:987b201ec4b1 9 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
filartrix 4:987b201ec4b1 10 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
filartrix 4:987b201ec4b1 11 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
filartrix 4:987b201ec4b1 12 * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
filartrix 4:987b201ec4b1 13 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
filartrix 4:987b201ec4b1 14 *******************************************************************************/
filartrix 4:987b201ec4b1 15
filartrix 4:987b201ec4b1 16 #ifndef __BLUENRG_ACI_CONST_H_
filartrix 4:987b201ec4b1 17 #define __BLUENRG_ACI_CONST_H_
filartrix 4:987b201ec4b1 18
filartrix 4:987b201ec4b1 19 #include "compiler.h"
filartrix 4:987b201ec4b1 20 #include "link_layer.h"
filartrix 4:987b201ec4b1 21
filartrix 4:987b201ec4b1 22 #ifndef DOXYGEN_SHOULD_SKIP_THIS
filartrix 4:987b201ec4b1 23
filartrix 4:987b201ec4b1 24 #define OCF_HAL_WRITE_CONFIG_DATA 0x000C
filartrix 4:987b201ec4b1 25
filartrix 4:987b201ec4b1 26 #define OCF_HAL_SET_TX_POWER_LEVEL 0x000F
filartrix 4:987b201ec4b1 27 typedef __packed struct _hal_set_tx_power_level_cp{
filartrix 4:987b201ec4b1 28 uint8_t en_high_power;
filartrix 4:987b201ec4b1 29 uint8_t pa_level;
filartrix 4:987b201ec4b1 30 } PACKED hal_set_tx_power_level_cp;
filartrix 4:987b201ec4b1 31 #define HAL_SET_TX_POWER_LEVEL_CP_SIZE 2
filartrix 4:987b201ec4b1 32
filartrix 4:987b201ec4b1 33 #define OCF_HAL_DEVICE_STANDBY 0x0013
filartrix 4:987b201ec4b1 34
filartrix 4:987b201ec4b1 35 #define OCF_HAL_TONE_START 0x0015
filartrix 4:987b201ec4b1 36 typedef __packed struct _hal_tone_start_cp{
filartrix 4:987b201ec4b1 37 uint8_t rf_channel;
filartrix 4:987b201ec4b1 38 } PACKED hal_tone_start_cp;
filartrix 4:987b201ec4b1 39 #define HAL_TONE_START_CP_SIZE 1
filartrix 4:987b201ec4b1 40
filartrix 4:987b201ec4b1 41 #define OCF_HAL_TONE_STOP 0x0016
filartrix 4:987b201ec4b1 42
filartrix 4:987b201ec4b1 43 #define OCF_UPDATER_START 0x0020
filartrix 4:987b201ec4b1 44 #define OCF_UPDATER_REBOOT 0x0021
filartrix 4:987b201ec4b1 45
filartrix 4:987b201ec4b1 46 #define OCF_GET_UPDATER_VERSION 0x0022
filartrix 4:987b201ec4b1 47 typedef __packed struct _get_updater_version_rp{
filartrix 4:987b201ec4b1 48 uint8_t status;
filartrix 4:987b201ec4b1 49 uint8_t version;
filartrix 4:987b201ec4b1 50 } PACKED get_updater_version_rp;
filartrix 4:987b201ec4b1 51 #define GET_UPDATER_VERSION_RP_SIZE 2
filartrix 4:987b201ec4b1 52
filartrix 4:987b201ec4b1 53 #define OCF_GET_UPDATER_BUFSIZE 0x0023
filartrix 4:987b201ec4b1 54 typedef __packed struct _get_updater_bufsize_rp{
filartrix 4:987b201ec4b1 55 uint8_t status;
filartrix 4:987b201ec4b1 56 uint8_t buffer_size;
filartrix 4:987b201ec4b1 57 } PACKED get_updater_bufsize_rp;
filartrix 4:987b201ec4b1 58 #define GET_UPDATER_BUFSIZE_RP_SIZE 2
filartrix 4:987b201ec4b1 59
filartrix 4:987b201ec4b1 60 #define OCF_UPDATER_ERASE_BLUE_FLAG 0x0024
filartrix 4:987b201ec4b1 61
filartrix 4:987b201ec4b1 62 #define OCF_UPDATER_RESET_BLUE_FLAG 0x0025
filartrix 4:987b201ec4b1 63
filartrix 4:987b201ec4b1 64 #define OCF_UPDATER_ERASE_SECTOR 0x0026
filartrix 4:987b201ec4b1 65 typedef __packed struct _updater_erase_sector_cp{
filartrix 4:987b201ec4b1 66 uint32_t address;
filartrix 4:987b201ec4b1 67 } PACKED updater_erase_sector_cp;
filartrix 4:987b201ec4b1 68 #define UPDATER_ERASE_SECTOR_CP_SIZE 4
filartrix 4:987b201ec4b1 69
filartrix 4:987b201ec4b1 70 #define OCF_UPDATER_PROG_DATA_BLOCK 0x0027
filartrix 4:987b201ec4b1 71 /* Variable length parameters */
filartrix 4:987b201ec4b1 72
filartrix 4:987b201ec4b1 73 #define OCF_UPDATER_READ_DATA_BLOCK 0x0028
filartrix 4:987b201ec4b1 74 typedef __packed struct _updater_read_data_block_cp{
filartrix 4:987b201ec4b1 75 uint32_t address;
filartrix 4:987b201ec4b1 76 uint16_t data_len;
filartrix 4:987b201ec4b1 77 } PACKED updater_read_data_block_cp;
filartrix 4:987b201ec4b1 78 #define UPDATER_READ_DATA_BLOCK_CP_SIZE 6
filartrix 4:987b201ec4b1 79 typedef __packed struct _updater_read_data_block_rp{
filartrix 4:987b201ec4b1 80 uint8_t status;
filartrix 4:987b201ec4b1 81 uint8_t data[0];
filartrix 4:987b201ec4b1 82 } PACKED updater_read_data_block_rp;
filartrix 4:987b201ec4b1 83 #define GET_UPDATER_BUFSIZE_RP_SIZE 2
filartrix 4:987b201ec4b1 84
filartrix 4:987b201ec4b1 85 #define OCF_UPDATER_CALC_CRC 0x0029
filartrix 4:987b201ec4b1 86 typedef __packed struct _updater_calc_crc_cp{
filartrix 4:987b201ec4b1 87 uint32_t address;
filartrix 4:987b201ec4b1 88 uint8_t num_sectors;
filartrix 4:987b201ec4b1 89 } PACKED updater_calc_crc_cp;
filartrix 4:987b201ec4b1 90 #define UPDATER_CALC_CRC_CP_SIZE 5
filartrix 4:987b201ec4b1 91 typedef __packed struct _updater_calc_crc_rp{
filartrix 4:987b201ec4b1 92 uint8_t status;
filartrix 4:987b201ec4b1 93 uint32_t crc;
filartrix 4:987b201ec4b1 94 } PACKED updater_calc_crc_rp;
filartrix 4:987b201ec4b1 95 #define UPDATER_CALC_CRC_RP_SIZE 5
filartrix 4:987b201ec4b1 96
filartrix 4:987b201ec4b1 97 #define OCF_UPDATER_HW_VERSION 0x002A
filartrix 4:987b201ec4b1 98 typedef __packed struct _updater_hw_version_rp{
filartrix 4:987b201ec4b1 99 uint8_t status;
filartrix 4:987b201ec4b1 100 uint8_t version;
filartrix 4:987b201ec4b1 101 } PACKED updater_hw_version_rp;
filartrix 4:987b201ec4b1 102 #define UPDATER_HW_VERSION_RP_SIZE 2
filartrix 4:987b201ec4b1 103
filartrix 4:987b201ec4b1 104 #define OCF_GAP_SET_NON_DISCOVERABLE 0x0081
filartrix 4:987b201ec4b1 105
filartrix 4:987b201ec4b1 106 #define OCF_GAP_SET_LIMITED_DISCOVERABLE 0x0082
filartrix 4:987b201ec4b1 107
filartrix 4:987b201ec4b1 108 #define OCF_GAP_SET_DISCOVERABLE 0x0083
filartrix 4:987b201ec4b1 109
filartrix 4:987b201ec4b1 110 #define OCF_GAP_SET_DIRECT_CONNECTABLE 0x0084
filartrix 4:987b201ec4b1 111 typedef __packed struct _gap_set_direct_conectable_cp{
filartrix 4:987b201ec4b1 112 uint8_t own_bdaddr_type;
filartrix 4:987b201ec4b1 113 uint8_t direct_bdaddr_type;
filartrix 4:987b201ec4b1 114 tBDAddr direct_bdaddr;
filartrix 4:987b201ec4b1 115 } PACKED gap_set_direct_conectable_cp;
filartrix 4:987b201ec4b1 116 #define GAP_SET_DIRECT_CONNECTABLE_CP_SIZE 8
filartrix 4:987b201ec4b1 117
filartrix 4:987b201ec4b1 118 #define OCF_GAP_SET_IO_CAPABILITY 0x0085
filartrix 4:987b201ec4b1 119 typedef __packed struct _gap_set_io_capability_cp{
filartrix 4:987b201ec4b1 120 uint8_t io_capability;
filartrix 4:987b201ec4b1 121 } PACKED gap_set_io_capability_cp;
filartrix 4:987b201ec4b1 122 #define GAP_SET_IO_CAPABILITY_CP_SIZE 1
filartrix 4:987b201ec4b1 123
filartrix 4:987b201ec4b1 124 #define OCF_GAP_SET_AUTH_REQUIREMENT 0x0086
filartrix 4:987b201ec4b1 125 typedef __packed struct _gap_set_auth_requirement_cp{
filartrix 4:987b201ec4b1 126 uint8_t mitm_mode;
filartrix 4:987b201ec4b1 127 uint8_t oob_enable;
filartrix 4:987b201ec4b1 128 uint8_t oob_data[16];
filartrix 4:987b201ec4b1 129 uint8_t min_encryption_key_size;
filartrix 4:987b201ec4b1 130 uint8_t max_encryption_key_size;
filartrix 4:987b201ec4b1 131 uint8_t use_fixed_pin;
filartrix 4:987b201ec4b1 132 uint32_t fixed_pin;
filartrix 4:987b201ec4b1 133 uint8_t bonding_mode;
filartrix 4:987b201ec4b1 134 } PACKED gap_set_auth_requirement_cp;
filartrix 4:987b201ec4b1 135 #define GAP_SET_AUTH_REQUIREMENT_CP_SIZE 26
filartrix 4:987b201ec4b1 136
filartrix 4:987b201ec4b1 137 #define OCF_GAP_SET_AUTHOR_REQUIREMENT 0x0087
filartrix 4:987b201ec4b1 138 typedef __packed struct _gap_set_author_requirement_cp{
filartrix 4:987b201ec4b1 139 uint16_t conn_handle;
filartrix 4:987b201ec4b1 140 uint8_t authorization_enable;
filartrix 4:987b201ec4b1 141 } PACKED gap_set_author_requirement_cp;
filartrix 4:987b201ec4b1 142 #define GAP_SET_AUTHOR_REQUIREMENT_CP_SIZE 3
filartrix 4:987b201ec4b1 143
filartrix 4:987b201ec4b1 144 #define OCF_GAP_PASSKEY_RESPONSE 0x0088
filartrix 4:987b201ec4b1 145 typedef __packed struct _gap_passkey_response_cp{
filartrix 4:987b201ec4b1 146 uint16_t conn_handle;
filartrix 4:987b201ec4b1 147 uint32_t passkey;
filartrix 4:987b201ec4b1 148 } PACKED gap_passkey_response_cp;
filartrix 4:987b201ec4b1 149 #define GAP_PASSKEY_RESPONSE_CP_SIZE 6
filartrix 4:987b201ec4b1 150
filartrix 4:987b201ec4b1 151 #define OCF_GAP_AUTHORIZATION_RESPONSE 0x0089
filartrix 4:987b201ec4b1 152 typedef __packed struct _gap_authorization_response_cp{
filartrix 4:987b201ec4b1 153 uint16_t conn_handle;
filartrix 4:987b201ec4b1 154 uint8_t authorize;
filartrix 4:987b201ec4b1 155 } PACKED gap_authorization_response_cp;
filartrix 4:987b201ec4b1 156 #define GAP_AUTHORIZATION_RESPONSE_CP_SIZE 3
filartrix 4:987b201ec4b1 157
filartrix 4:987b201ec4b1 158 #define OCF_GAP_INIT 0x008A
filartrix 4:987b201ec4b1 159 typedef __packed struct _gap_init_cp{
filartrix 4:987b201ec4b1 160 uint8_t role;
filartrix 4:987b201ec4b1 161 } PACKED gap_init_cp;
filartrix 4:987b201ec4b1 162 #define GAP_INIT_CP_SIZE 1
filartrix 4:987b201ec4b1 163 typedef __packed struct _gap_init_rp{
filartrix 4:987b201ec4b1 164 uint8_t status;
filartrix 4:987b201ec4b1 165 uint16_t service_handle;
filartrix 4:987b201ec4b1 166 uint16_t dev_name_char_handle;
filartrix 4:987b201ec4b1 167 uint16_t appearance_char_handle;
filartrix 4:987b201ec4b1 168 } PACKED gap_init_rp;
filartrix 4:987b201ec4b1 169 #define GAP_INIT_RP_SIZE 7
filartrix 4:987b201ec4b1 170
filartrix 4:987b201ec4b1 171 #define OCF_GAP_SET_NON_CONNECTABLE 0x008B
filartrix 4:987b201ec4b1 172 typedef __packed struct _gap_set_non_connectable_cp{
filartrix 4:987b201ec4b1 173 uint8_t advertising_event_type;
filartrix 4:987b201ec4b1 174 } PACKED gap_set_non_connectable_cp;
filartrix 4:987b201ec4b1 175 #define GAP_SET_NON_CONNECTABLE_CP_SIZE 1
filartrix 4:987b201ec4b1 176
filartrix 4:987b201ec4b1 177 #define OCF_GAP_SET_UNDIRECTED_CONNECTABLE 0x008C
filartrix 4:987b201ec4b1 178 typedef __packed struct _gap_set_undirected_connectable_cp{
filartrix 4:987b201ec4b1 179 uint8_t adv_filter_policy;
filartrix 4:987b201ec4b1 180 uint8_t own_addr_type;
filartrix 4:987b201ec4b1 181 } PACKED gap_set_undirected_connectable_cp;
filartrix 4:987b201ec4b1 182 #define GAP_SET_UNDIRECTED_CONNECTABLE_CP_SIZE 2
filartrix 4:987b201ec4b1 183
filartrix 4:987b201ec4b1 184 #define OCF_GAP_SLAVE_SECURITY_REQUEST 0x008D
filartrix 4:987b201ec4b1 185 typedef __packed struct _gap_slave_security_request_cp{
filartrix 4:987b201ec4b1 186 uint16_t conn_handle;
filartrix 4:987b201ec4b1 187 uint8_t bonding;
filartrix 4:987b201ec4b1 188 uint8_t mitm_protection;
filartrix 4:987b201ec4b1 189 } PACKED gap_slave_security_request_cp;
filartrix 4:987b201ec4b1 190 #define GAP_SLAVE_SECURITY_REQUEST_CP_SIZE 4
filartrix 4:987b201ec4b1 191
filartrix 4:987b201ec4b1 192 #define OCF_GAP_UPDATE_ADV_DATA 0x008E
filartrix 4:987b201ec4b1 193
filartrix 4:987b201ec4b1 194 #define OCF_GAP_DELETE_AD_TYPE 0x008F
filartrix 4:987b201ec4b1 195 typedef __packed struct _gap_delete_ad_type_cp{
filartrix 4:987b201ec4b1 196 uint8_t ad_type;
filartrix 4:987b201ec4b1 197 } PACKED gap_delete_ad_type_cp;
filartrix 4:987b201ec4b1 198 #define GAP_DELETE_AD_TYPE_CP_SIZE 1
filartrix 4:987b201ec4b1 199
filartrix 4:987b201ec4b1 200 #define OCF_GAP_GET_SECURITY_LEVEL 0x0090
filartrix 4:987b201ec4b1 201 typedef __packed struct _gap_get_security_level_rp{
filartrix 4:987b201ec4b1 202 uint8_t status;
filartrix 4:987b201ec4b1 203 uint8_t mitm_protection;
filartrix 4:987b201ec4b1 204 uint8_t bonding;
filartrix 4:987b201ec4b1 205 uint8_t oob_data;
filartrix 4:987b201ec4b1 206 uint8_t passkey_required;
filartrix 4:987b201ec4b1 207 } PACKED gap_get_security_level_rp;
filartrix 4:987b201ec4b1 208 #define GAP_GET_SECURITY_LEVEL_RP_SIZE 5
filartrix 4:987b201ec4b1 209
filartrix 4:987b201ec4b1 210 #define OCF_GAP_SET_EVT_MASK 0x0091
filartrix 4:987b201ec4b1 211 typedef __packed struct _gap_set_evt_mask_cp{
filartrix 4:987b201ec4b1 212 uint16_t evt_mask;
filartrix 4:987b201ec4b1 213 } PACKED gap_set_evt_mask_cp;
filartrix 4:987b201ec4b1 214 #define GAP_SET_EVT_MASK_CP_SIZE 2
filartrix 4:987b201ec4b1 215
filartrix 4:987b201ec4b1 216 #define OCF_GAP_CONFIGURE_WHITELIST 0x0092
filartrix 4:987b201ec4b1 217
filartrix 4:987b201ec4b1 218 #define OCF_GAP_TERMINATE 0x0093
filartrix 4:987b201ec4b1 219 typedef __packed struct _gap_terminate_cp{
filartrix 4:987b201ec4b1 220 uint16_t handle;
filartrix 4:987b201ec4b1 221 uint8_t reason;
filartrix 4:987b201ec4b1 222 } PACKED gap_terminate_cp;
filartrix 4:987b201ec4b1 223 #define GAP_TERMINATE_CP_SIZE 3
filartrix 4:987b201ec4b1 224
filartrix 4:987b201ec4b1 225 #define OCF_GAP_CLEAR_SECURITY_DB 0x0094
filartrix 4:987b201ec4b1 226
filartrix 4:987b201ec4b1 227 #define OCF_GAP_ALLOW_REBOND_DB 0x0095
filartrix 4:987b201ec4b1 228
filartrix 4:987b201ec4b1 229 #define OCF_GAP_START_LIMITED_DISCOVERY_PROC 0x0096
filartrix 4:987b201ec4b1 230 typedef __packed struct _gap_start_limited_discovery_proc_cp{
filartrix 4:987b201ec4b1 231 uint16_t scanInterval;
filartrix 4:987b201ec4b1 232 uint16_t scanWindow;
filartrix 4:987b201ec4b1 233 uint8_t own_address_type;
filartrix 4:987b201ec4b1 234 uint8_t filterDuplicates;
filartrix 4:987b201ec4b1 235 } PACKED gap_start_limited_discovery_proc_cp;
filartrix 4:987b201ec4b1 236 #define GAP_START_LIMITED_DISCOVERY_PROC_CP_SIZE 6
filartrix 4:987b201ec4b1 237
filartrix 4:987b201ec4b1 238 #define OCF_GAP_START_GENERAL_DISCOVERY_PROC 0x0097
filartrix 4:987b201ec4b1 239 typedef __packed struct _gap_start_general_discovery_proc_cp{
filartrix 4:987b201ec4b1 240 uint16_t scanInterval;
filartrix 4:987b201ec4b1 241 uint16_t scanWindow;
filartrix 4:987b201ec4b1 242 uint8_t own_address_type;
filartrix 4:987b201ec4b1 243 uint8_t filterDuplicates;
filartrix 4:987b201ec4b1 244 } PACKED gap_start_general_discovery_proc_cp;
filartrix 4:987b201ec4b1 245 #define GAP_START_GENERAL_DISCOVERY_PROC_CP_SIZE 6
filartrix 4:987b201ec4b1 246
filartrix 4:987b201ec4b1 247 #define OCF_GAP_START_AUTO_CONN_ESTABLISHMENT 0x0099
filartrix 4:987b201ec4b1 248
filartrix 4:987b201ec4b1 249 #define OCF_GAP_CREATE_CONNECTION 0x009C
filartrix 4:987b201ec4b1 250 typedef __packed struct _gap_create_connection_cp{
filartrix 4:987b201ec4b1 251 uint16_t scanInterval;
filartrix 4:987b201ec4b1 252 uint16_t scanWindow;
filartrix 4:987b201ec4b1 253 uint8_t peer_bdaddr_type;
filartrix 4:987b201ec4b1 254 tBDAddr peer_bdaddr;
filartrix 4:987b201ec4b1 255 uint8_t own_bdaddr_type;
filartrix 4:987b201ec4b1 256 uint16_t conn_min_interval;
filartrix 4:987b201ec4b1 257 uint16_t conn_max_interval;
filartrix 4:987b201ec4b1 258 uint16_t conn_latency;
filartrix 4:987b201ec4b1 259 uint16_t supervision_timeout;
filartrix 4:987b201ec4b1 260 uint16_t min_conn_length;
filartrix 4:987b201ec4b1 261 uint16_t max_conn_length;
filartrix 4:987b201ec4b1 262 } PACKED gap_create_connection_cp;
filartrix 4:987b201ec4b1 263 #define GAP_CREATE_CONNECTION_CP_SIZE 24
filartrix 4:987b201ec4b1 264
filartrix 4:987b201ec4b1 265 #define OCF_GAP_TERMINATE_GAP_PROCEDURE 0x009D
filartrix 4:987b201ec4b1 266
filartrix 4:987b201ec4b1 267 #define OCF_GAP_SEND_PAIRING_REQUEST 0x009F
filartrix 4:987b201ec4b1 268 typedef __packed struct _gap_send_pairing_request_cp{
filartrix 4:987b201ec4b1 269 uint16_t conn_handle;
filartrix 4:987b201ec4b1 270 uint8_t force_rebond;
filartrix 4:987b201ec4b1 271 } PACKED gap_send_pairing_request_cp;
filartrix 4:987b201ec4b1 272 #define GAP_SEND_PAIRING_REQUEST_CP_SIZE 3
filartrix 4:987b201ec4b1 273
filartrix 4:987b201ec4b1 274 #define OCF_GATT_INIT 0x0101
filartrix 4:987b201ec4b1 275
filartrix 4:987b201ec4b1 276 #define OCF_GATT_ADD_SERV 0x0102
filartrix 4:987b201ec4b1 277 typedef __packed struct _gatt_add_serv_rp{
filartrix 4:987b201ec4b1 278 uint8_t status;
filartrix 4:987b201ec4b1 279 uint16_t handle;
filartrix 4:987b201ec4b1 280 } PACKED gatt_add_serv_rp;
filartrix 4:987b201ec4b1 281 #define GATT_ADD_SERV_RP_SIZE 3
filartrix 4:987b201ec4b1 282
filartrix 4:987b201ec4b1 283 #define OCF_GATT_INCLUDE_SERV 0x0103
filartrix 4:987b201ec4b1 284 typedef __packed struct _gatt_include_serv_rp{
filartrix 4:987b201ec4b1 285 uint8_t status;
filartrix 4:987b201ec4b1 286 uint16_t handle;
filartrix 4:987b201ec4b1 287 } PACKED gatt_include_serv_rp;
filartrix 4:987b201ec4b1 288 #define GATT_INCLUDE_SERV_RP_SIZE 3
filartrix 4:987b201ec4b1 289
filartrix 4:987b201ec4b1 290 #define OCF_GATT_ADD_CHAR 0x0104
filartrix 4:987b201ec4b1 291 typedef __packed struct _gatt_add_char_rp{
filartrix 4:987b201ec4b1 292 uint8_t status;
filartrix 4:987b201ec4b1 293 uint16_t handle;
filartrix 4:987b201ec4b1 294 } PACKED gatt_add_char_rp;
filartrix 4:987b201ec4b1 295 #define GATT_ADD_CHAR_RP_SIZE 3
filartrix 4:987b201ec4b1 296
filartrix 4:987b201ec4b1 297 #define OCF_GATT_ADD_CHAR_DESC 0x0105
filartrix 4:987b201ec4b1 298 typedef __packed struct _gatt_add_char_desc_rp{
filartrix 4:987b201ec4b1 299 uint8_t status;
filartrix 4:987b201ec4b1 300 uint16_t handle;
filartrix 4:987b201ec4b1 301 } PACKED gatt_add_char_desc_rp;
filartrix 4:987b201ec4b1 302 #define GATT_ADD_CHAR_DESC_RP_SIZE 3
filartrix 4:987b201ec4b1 303
filartrix 4:987b201ec4b1 304 #define OCF_GATT_UPD_CHAR_VAL 0x0106
filartrix 4:987b201ec4b1 305
filartrix 4:987b201ec4b1 306 #define OCF_GATT_DEL_CHAR 0x0107
filartrix 4:987b201ec4b1 307 typedef __packed struct _gatt_del_char_cp{
filartrix 4:987b201ec4b1 308 uint16_t service_handle;
filartrix 4:987b201ec4b1 309 uint16_t char_handle;
filartrix 4:987b201ec4b1 310 } PACKED gatt_del_char_cp;
filartrix 4:987b201ec4b1 311 #define GATT_DEL_CHAR_CP_SIZE 4
filartrix 4:987b201ec4b1 312
filartrix 4:987b201ec4b1 313 #define OCF_GATT_DEL_SERV 0x0108
filartrix 4:987b201ec4b1 314 typedef __packed struct _gatt_del_serv_cp{
filartrix 4:987b201ec4b1 315 uint16_t service_handle;
filartrix 4:987b201ec4b1 316 } PACKED gatt_del_serv_cp;
filartrix 4:987b201ec4b1 317 #define GATT_DEL_SERV_CP_SIZE 2
filartrix 4:987b201ec4b1 318
filartrix 4:987b201ec4b1 319 #define OCF_GATT_DEL_INC_SERV 0x0109
filartrix 4:987b201ec4b1 320 typedef __packed struct _gatt_del_inc_serv_cp{
filartrix 4:987b201ec4b1 321 uint16_t service_handle;
filartrix 4:987b201ec4b1 322 uint16_t inc_serv_handle;
filartrix 4:987b201ec4b1 323 } PACKED gatt_del_inc_serv_cp;
filartrix 4:987b201ec4b1 324 #define GATT_DEL_INC_SERV_CP_SIZE 4
filartrix 4:987b201ec4b1 325
filartrix 4:987b201ec4b1 326 #define OCF_GATT_SET_EVT_MASK 0x010A
filartrix 4:987b201ec4b1 327 typedef __packed struct _gatt_set_evt_mask_cp{
filartrix 4:987b201ec4b1 328 uint32_t evt_mask;
filartrix 4:987b201ec4b1 329 } PACKED gatt_set_evt_mask_cp;
filartrix 4:987b201ec4b1 330 #define GATT_SET_EVT_MASK_CP_SIZE 4
filartrix 4:987b201ec4b1 331
filartrix 4:987b201ec4b1 332 #define OCF_GATT_EXCHANGE_CONFIG 0x010B
filartrix 4:987b201ec4b1 333 typedef __packed struct _gatt_exchange_config_cp{
filartrix 4:987b201ec4b1 334 uint16_t conn_handle;
filartrix 4:987b201ec4b1 335 } PACKED gatt_exchange_config_cp;
filartrix 4:987b201ec4b1 336 #define GATT_EXCHANGE_CONFIG_CP_SIZE 2
filartrix 4:987b201ec4b1 337
filartrix 4:987b201ec4b1 338 #define OCF_GATT_FIND_INFO_REQ 0x010C
filartrix 4:987b201ec4b1 339 typedef __packed struct _gatt_find_info_req_cp{
filartrix 4:987b201ec4b1 340 uint16_t conn_handle;
filartrix 4:987b201ec4b1 341 uint16_t start_handle;
filartrix 4:987b201ec4b1 342 uint16_t end_handle;
filartrix 4:987b201ec4b1 343 } PACKED gatt_find_info_req_cp;
filartrix 4:987b201ec4b1 344 #define GATT_GATT_FIND_INFO_REQ_CP_SIZE 6
filartrix 4:987b201ec4b1 345
filartrix 4:987b201ec4b1 346 #define OCF_GATT_DISC_ALL_PRIM_SERVICES 0X0112
filartrix 4:987b201ec4b1 347 typedef __packed struct _gatt_disc_all_prim_serivces_cp{
filartrix 4:987b201ec4b1 348 uint16_t conn_handle;
filartrix 4:987b201ec4b1 349 } PACKED gatt_disc_all_prim_services_cp;
filartrix 4:987b201ec4b1 350 #define GATT_DISC_ALL_PRIM_SERVICES_CP_SIZE 2
filartrix 4:987b201ec4b1 351
filartrix 4:987b201ec4b1 352 #define OCF_GATT_FIND_INCLUDED_SERVICES 0X0114
filartrix 4:987b201ec4b1 353 typedef __packed struct _gatt_disc_find_included_services_cp{
filartrix 4:987b201ec4b1 354 uint16_t conn_handle;
filartrix 4:987b201ec4b1 355 uint16_t start_handle;
filartrix 4:987b201ec4b1 356 uint16_t end_handle;
filartrix 4:987b201ec4b1 357 } PACKED gatt_find_included_services_cp;
filartrix 4:987b201ec4b1 358 #define GATT_FIND_INCLUDED_SERVICES_CP_SIZE 6
filartrix 4:987b201ec4b1 359
filartrix 4:987b201ec4b1 360 #define OCF_GATT_DISC_ALL_CHARAC_OF_SERV 0X0115
filartrix 4:987b201ec4b1 361 typedef __packed struct _gatt_disc_all_charac_of_serv_cp{
filartrix 4:987b201ec4b1 362 uint16_t conn_handle;
filartrix 4:987b201ec4b1 363 uint16_t start_attr_handle;
filartrix 4:987b201ec4b1 364 uint16_t end_attr_handle;
filartrix 4:987b201ec4b1 365 } PACKED gatt_disc_all_charac_of_serv_cp;
filartrix 4:987b201ec4b1 366 #define GATT_DISC_ALL_CHARAC_OF_SERV_CP_SIZE 6
filartrix 4:987b201ec4b1 367
filartrix 4:987b201ec4b1 368 #define OCF_GATT_DISC_CHARAC_BY_UUID 0X0116
filartrix 4:987b201ec4b1 369
filartrix 4:987b201ec4b1 370 #define OCF_GATT_DISC_ALL_CHARAC_DESCRIPTORS 0X0117
filartrix 4:987b201ec4b1 371 typedef __packed struct _gatt_disc_all_charac_descriptors_cp{
filartrix 4:987b201ec4b1 372 uint16_t conn_handle;
filartrix 4:987b201ec4b1 373 uint16_t char_val_handle;
filartrix 4:987b201ec4b1 374 uint16_t char_end_handle;
filartrix 4:987b201ec4b1 375 } PACKED gatt_disc_all_charac_descriptors_cp;
filartrix 4:987b201ec4b1 376 #define GATT_DISC_ALL_CHARAC_DESCRIPTORS_CP_SIZE 6
filartrix 4:987b201ec4b1 377
filartrix 4:987b201ec4b1 378 #define OCF_GATT_READ_CHARAC_VAL 0x0118
filartrix 4:987b201ec4b1 379 typedef __packed struct _gatt_read_charac_val_cp{
filartrix 4:987b201ec4b1 380 uint16_t conn_handle;
filartrix 4:987b201ec4b1 381 uint16_t attr_handle;
filartrix 4:987b201ec4b1 382 } PACKED gatt_read_charac_val_cp;
filartrix 4:987b201ec4b1 383 #define GATT_READ_CHARAC_VAL_CP_SIZE 4
filartrix 4:987b201ec4b1 384
filartrix 4:987b201ec4b1 385 #define OCF_GATT_READ_LONG_CHARAC_VAL 0x011A
filartrix 4:987b201ec4b1 386 typedef __packed struct _gatt_read_long_charac_val_cp{
filartrix 4:987b201ec4b1 387 uint16_t conn_handle;
filartrix 4:987b201ec4b1 388 uint16_t attr_handle;
filartrix 4:987b201ec4b1 389 uint16_t val_offset;
filartrix 4:987b201ec4b1 390 } PACKED gatt_read_long_charac_val_cp;
filartrix 4:987b201ec4b1 391 #define GATT_READ_LONG_CHARAC_VAL_CP_SIZE 6
filartrix 4:987b201ec4b1 392
filartrix 4:987b201ec4b1 393 #define OCF_GATT_WRITE_CHAR_VALUE 0x011C
filartrix 4:987b201ec4b1 394 #define OCF_GATT_WRITE_CHAR_DESCRIPTOR 0x0121
filartrix 4:987b201ec4b1 395
filartrix 4:987b201ec4b1 396 #define OCF_GATT_READ_CHAR_DESCRIPTOR 0x0122
filartrix 4:987b201ec4b1 397
filartrix 4:987b201ec4b1 398 #define OCF_GATT_WRITE_WITHOUT_RESPONSE 0x0123
filartrix 4:987b201ec4b1 399
filartrix 4:987b201ec4b1 400 #define OCF_GATT_SIGNED_WRITE_WITHOUT_RESPONSE 0x0124
filartrix 4:987b201ec4b1 401
filartrix 4:987b201ec4b1 402 #define OCF_GATT_CONFIRM_INDICATION 0x0125
filartrix 4:987b201ec4b1 403 typedef __packed struct _gatt_confirm_indication_cp{
filartrix 4:987b201ec4b1 404 uint16_t conn_handle;
filartrix 4:987b201ec4b1 405 } PACKED gatt_confirm_indication_cp;
filartrix 4:987b201ec4b1 406 #define GATT_CONFIRM_INDICATION_CP_SIZE 2
filartrix 4:987b201ec4b1 407
filartrix 4:987b201ec4b1 408 #define OCF_GATT_WRITE_RESPONSE 0x0126
filartrix 4:987b201ec4b1 409
filartrix 4:987b201ec4b1 410 #define OCF_GATT_ALLOW_READ 0x0127
filartrix 4:987b201ec4b1 411 typedef __packed struct _gatt_allow_read_cp{
filartrix 4:987b201ec4b1 412 uint16_t conn_handle;
filartrix 4:987b201ec4b1 413 } PACKED gatt_allow_read_cp;
filartrix 4:987b201ec4b1 414 #define GATT_ALLOW_READ_CP_SIZE 2
filartrix 4:987b201ec4b1 415
filartrix 4:987b201ec4b1 416 #define OCF_GATT_SET_DESC_VAL 0x0129
filartrix 4:987b201ec4b1 417
filartrix 4:987b201ec4b1 418 #define OCF_GATT_READ_HANDLE_VALUE 0x012A
filartrix 4:987b201ec4b1 419 typedef __packed struct _gatt_read_handle_val_cp{
filartrix 4:987b201ec4b1 420 uint16_t attr_handle;
filartrix 4:987b201ec4b1 421 } PACKED gatt_read_handle_val_cp;
filartrix 4:987b201ec4b1 422 #define GATT_READ_HANDLE_VALUE_CP_SIZE 2
filartrix 4:987b201ec4b1 423
filartrix 4:987b201ec4b1 424 #define OCF_L2CAP_CONN_PARAM_UPDATE_REQ 0x0181
filartrix 4:987b201ec4b1 425 typedef __packed struct _l2cap_conn_param_update_req_cp{
filartrix 4:987b201ec4b1 426 uint16_t conn_handle;
filartrix 4:987b201ec4b1 427 uint16_t interval_min;
filartrix 4:987b201ec4b1 428 uint16_t interval_max;
filartrix 4:987b201ec4b1 429 uint16_t slave_latency;
filartrix 4:987b201ec4b1 430 uint16_t timeout_multiplier;
filartrix 4:987b201ec4b1 431 } PACKED l2cap_conn_param_update_req_cp;
filartrix 4:987b201ec4b1 432 #define L2CAP_CONN_PARAM_UPDATE_REQ_CP_SIZE 10
filartrix 4:987b201ec4b1 433
filartrix 4:987b201ec4b1 434 #define OCF_L2CAP_CONN_PARAM_UPDATE_RESP 0x0182
filartrix 4:987b201ec4b1 435 typedef __packed struct _l2cap_conn_param_update_resp_cp{
filartrix 4:987b201ec4b1 436 uint16_t conn_handle;
filartrix 4:987b201ec4b1 437 uint16_t interval_min;
filartrix 4:987b201ec4b1 438 uint16_t interval_max;
filartrix 4:987b201ec4b1 439 uint16_t slave_latency;
filartrix 4:987b201ec4b1 440 uint16_t timeout_multiplier;
filartrix 4:987b201ec4b1 441 uint8_t id;
filartrix 4:987b201ec4b1 442 uint8_t accept;
filartrix 4:987b201ec4b1 443 } PACKED l2cap_conn_param_update_resp_cp;
filartrix 4:987b201ec4b1 444 #define L2CAP_CONN_PARAM_UPDATE_RESP_CP_SIZE 12
filartrix 4:987b201ec4b1 445
filartrix 4:987b201ec4b1 446 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
filartrix 4:987b201ec4b1 447
filartrix 4:987b201ec4b1 448 /**
filartrix 4:987b201ec4b1 449 * @defgroup BlueNRG_Events BlueNRG events (vendor specific)
filartrix 4:987b201ec4b1 450 * @{
filartrix 4:987b201ec4b1 451 */
filartrix 4:987b201ec4b1 452
filartrix 4:987b201ec4b1 453 /**
filartrix 4:987b201ec4b1 454 * Vendor specific event for BlueNRG.
filartrix 4:987b201ec4b1 455 */
filartrix 4:987b201ec4b1 456 typedef __packed struct _evt_blue_aci{
filartrix 4:987b201ec4b1 457 uint16_t ecode; /**< One of the BlueNRG event codes. */
filartrix 4:987b201ec4b1 458 uint8_t data[0];
filartrix 4:987b201ec4b1 459 } PACKED evt_blue_aci;
filartrix 4:987b201ec4b1 460
filartrix 4:987b201ec4b1 461
filartrix 4:987b201ec4b1 462 /**
filartrix 4:987b201ec4b1 463 * @}
filartrix 4:987b201ec4b1 464 */
filartrix 4:987b201ec4b1 465
filartrix 4:987b201ec4b1 466 #endif /* __BLUENRG_ACI_CONST_H_ */
filartrix 4:987b201ec4b1 467