Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
bluenrg_aci_const.h
00001 /******************** (C) COPYRIGHT 2014 STMicroelectronics ******************** 00002 * File Name : bluenrg_aci_const.h 00003 * Author : AMS - AAS 00004 * Version : V1.0.0 00005 * Date : 26-Jun-2014 00006 * Description : Header file with ACI definitions for BlueNRG FW6.3. 00007 ******************************************************************************** 00008 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 00009 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 00010 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 00011 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 00012 * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 00013 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 00014 *******************************************************************************/ 00015 00016 #ifndef __BLUENRG_ACI_CONST_H_ 00017 #define __BLUENRG_ACI_CONST_H_ 00018 00019 #include "compiler.h" 00020 #include "link_layer.h" 00021 00022 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00023 00024 #define OCF_HAL_WRITE_CONFIG_DATA 0x000C 00025 00026 #define OCF_HAL_SET_TX_POWER_LEVEL 0x000F 00027 typedef __packed struct _hal_set_tx_power_level_cp{ 00028 uint8_t en_high_power; 00029 uint8_t pa_level; 00030 } PACKED hal_set_tx_power_level_cp; 00031 #define HAL_SET_TX_POWER_LEVEL_CP_SIZE 2 00032 00033 #define OCF_HAL_DEVICE_STANDBY 0x0013 00034 00035 #define OCF_HAL_TONE_START 0x0015 00036 typedef __packed struct _hal_tone_start_cp{ 00037 uint8_t rf_channel; 00038 } PACKED hal_tone_start_cp; 00039 #define HAL_TONE_START_CP_SIZE 1 00040 00041 #define OCF_HAL_TONE_STOP 0x0016 00042 00043 #define OCF_UPDATER_START 0x0020 00044 #define OCF_UPDATER_REBOOT 0x0021 00045 00046 #define OCF_GET_UPDATER_VERSION 0x0022 00047 typedef __packed struct _get_updater_version_rp{ 00048 uint8_t status; 00049 uint8_t version; 00050 } PACKED get_updater_version_rp; 00051 #define GET_UPDATER_VERSION_RP_SIZE 2 00052 00053 #define OCF_GET_UPDATER_BUFSIZE 0x0023 00054 typedef __packed struct _get_updater_bufsize_rp{ 00055 uint8_t status; 00056 uint8_t buffer_size; 00057 } PACKED get_updater_bufsize_rp; 00058 #define GET_UPDATER_BUFSIZE_RP_SIZE 2 00059 00060 #define OCF_UPDATER_ERASE_BLUE_FLAG 0x0024 00061 00062 #define OCF_UPDATER_RESET_BLUE_FLAG 0x0025 00063 00064 #define OCF_UPDATER_ERASE_SECTOR 0x0026 00065 typedef __packed struct _updater_erase_sector_cp{ 00066 uint32_t address; 00067 } PACKED updater_erase_sector_cp; 00068 #define UPDATER_ERASE_SECTOR_CP_SIZE 4 00069 00070 #define OCF_UPDATER_PROG_DATA_BLOCK 0x0027 00071 /* Variable length parameters */ 00072 00073 #define OCF_UPDATER_READ_DATA_BLOCK 0x0028 00074 typedef __packed struct _updater_read_data_block_cp{ 00075 uint32_t address; 00076 uint16_t data_len; 00077 } PACKED updater_read_data_block_cp; 00078 #define UPDATER_READ_DATA_BLOCK_CP_SIZE 6 00079 typedef __packed struct _updater_read_data_block_rp{ 00080 uint8_t status; 00081 uint8_t data[0]; 00082 } PACKED updater_read_data_block_rp; 00083 #define GET_UPDATER_BUFSIZE_RP_SIZE 2 00084 00085 #define OCF_UPDATER_CALC_CRC 0x0029 00086 typedef __packed struct _updater_calc_crc_cp{ 00087 uint32_t address; 00088 uint8_t num_sectors; 00089 } PACKED updater_calc_crc_cp; 00090 #define UPDATER_CALC_CRC_CP_SIZE 5 00091 typedef __packed struct _updater_calc_crc_rp{ 00092 uint8_t status; 00093 uint32_t crc; 00094 } PACKED updater_calc_crc_rp; 00095 #define UPDATER_CALC_CRC_RP_SIZE 5 00096 00097 #define OCF_UPDATER_HW_VERSION 0x002A 00098 typedef __packed struct _updater_hw_version_rp{ 00099 uint8_t status; 00100 uint8_t version; 00101 } PACKED updater_hw_version_rp; 00102 #define UPDATER_HW_VERSION_RP_SIZE 2 00103 00104 #define OCF_GAP_SET_NON_DISCOVERABLE 0x0081 00105 00106 #define OCF_GAP_SET_LIMITED_DISCOVERABLE 0x0082 00107 00108 #define OCF_GAP_SET_DISCOVERABLE 0x0083 00109 00110 #define OCF_GAP_SET_DIRECT_CONNECTABLE 0x0084 00111 typedef __packed struct _gap_set_direct_conectable_cp{ 00112 uint8_t own_bdaddr_type; 00113 uint8_t direct_bdaddr_type; 00114 tBDAddr direct_bdaddr; 00115 } PACKED gap_set_direct_conectable_cp; 00116 #define GAP_SET_DIRECT_CONNECTABLE_CP_SIZE 8 00117 00118 #define OCF_GAP_SET_IO_CAPABILITY 0x0085 00119 typedef __packed struct _gap_set_io_capability_cp{ 00120 uint8_t io_capability; 00121 } PACKED gap_set_io_capability_cp; 00122 #define GAP_SET_IO_CAPABILITY_CP_SIZE 1 00123 00124 #define OCF_GAP_SET_AUTH_REQUIREMENT 0x0086 00125 typedef __packed struct _gap_set_auth_requirement_cp{ 00126 uint8_t mitm_mode; 00127 uint8_t oob_enable; 00128 uint8_t oob_data[16]; 00129 uint8_t min_encryption_key_size; 00130 uint8_t max_encryption_key_size; 00131 uint8_t use_fixed_pin; 00132 uint32_t fixed_pin; 00133 uint8_t bonding_mode; 00134 } PACKED gap_set_auth_requirement_cp; 00135 #define GAP_SET_AUTH_REQUIREMENT_CP_SIZE 26 00136 00137 #define OCF_GAP_SET_AUTHOR_REQUIREMENT 0x0087 00138 typedef __packed struct _gap_set_author_requirement_cp{ 00139 uint16_t conn_handle; 00140 uint8_t authorization_enable; 00141 } PACKED gap_set_author_requirement_cp; 00142 #define GAP_SET_AUTHOR_REQUIREMENT_CP_SIZE 3 00143 00144 #define OCF_GAP_PASSKEY_RESPONSE 0x0088 00145 typedef __packed struct _gap_passkey_response_cp{ 00146 uint16_t conn_handle; 00147 uint32_t passkey; 00148 } PACKED gap_passkey_response_cp; 00149 #define GAP_PASSKEY_RESPONSE_CP_SIZE 6 00150 00151 #define OCF_GAP_AUTHORIZATION_RESPONSE 0x0089 00152 typedef __packed struct _gap_authorization_response_cp{ 00153 uint16_t conn_handle; 00154 uint8_t authorize; 00155 } PACKED gap_authorization_response_cp; 00156 #define GAP_AUTHORIZATION_RESPONSE_CP_SIZE 3 00157 00158 #define OCF_GAP_INIT 0x008A 00159 typedef __packed struct _gap_init_cp{ 00160 uint8_t role; 00161 } PACKED gap_init_cp; 00162 #define GAP_INIT_CP_SIZE 1 00163 typedef __packed struct _gap_init_rp{ 00164 uint8_t status; 00165 uint16_t service_handle; 00166 uint16_t dev_name_char_handle; 00167 uint16_t appearance_char_handle; 00168 } PACKED gap_init_rp; 00169 #define GAP_INIT_RP_SIZE 7 00170 00171 #define OCF_GAP_SET_NON_CONNECTABLE 0x008B 00172 typedef __packed struct _gap_set_non_connectable_cp{ 00173 uint8_t advertising_event_type; 00174 } PACKED gap_set_non_connectable_cp; 00175 #define GAP_SET_NON_CONNECTABLE_CP_SIZE 1 00176 00177 #define OCF_GAP_SET_UNDIRECTED_CONNECTABLE 0x008C 00178 typedef __packed struct _gap_set_undirected_connectable_cp{ 00179 uint8_t adv_filter_policy; 00180 uint8_t own_addr_type; 00181 } PACKED gap_set_undirected_connectable_cp; 00182 #define GAP_SET_UNDIRECTED_CONNECTABLE_CP_SIZE 2 00183 00184 #define OCF_GAP_SLAVE_SECURITY_REQUEST 0x008D 00185 typedef __packed struct _gap_slave_security_request_cp{ 00186 uint16_t conn_handle; 00187 uint8_t bonding; 00188 uint8_t mitm_protection; 00189 } PACKED gap_slave_security_request_cp; 00190 #define GAP_SLAVE_SECURITY_REQUEST_CP_SIZE 4 00191 00192 #define OCF_GAP_UPDATE_ADV_DATA 0x008E 00193 00194 #define OCF_GAP_DELETE_AD_TYPE 0x008F 00195 typedef __packed struct _gap_delete_ad_type_cp{ 00196 uint8_t ad_type; 00197 } PACKED gap_delete_ad_type_cp; 00198 #define GAP_DELETE_AD_TYPE_CP_SIZE 1 00199 00200 #define OCF_GAP_GET_SECURITY_LEVEL 0x0090 00201 typedef __packed struct _gap_get_security_level_rp{ 00202 uint8_t status; 00203 uint8_t mitm_protection; 00204 uint8_t bonding; 00205 uint8_t oob_data; 00206 uint8_t passkey_required; 00207 } PACKED gap_get_security_level_rp; 00208 #define GAP_GET_SECURITY_LEVEL_RP_SIZE 5 00209 00210 #define OCF_GAP_SET_EVT_MASK 0x0091 00211 typedef __packed struct _gap_set_evt_mask_cp{ 00212 uint16_t evt_mask; 00213 } PACKED gap_set_evt_mask_cp; 00214 #define GAP_SET_EVT_MASK_CP_SIZE 2 00215 00216 #define OCF_GAP_CONFIGURE_WHITELIST 0x0092 00217 00218 #define OCF_GAP_TERMINATE 0x0093 00219 typedef __packed struct _gap_terminate_cp{ 00220 uint16_t handle; 00221 uint8_t reason; 00222 } PACKED gap_terminate_cp; 00223 #define GAP_TERMINATE_CP_SIZE 3 00224 00225 #define OCF_GAP_CLEAR_SECURITY_DB 0x0094 00226 00227 #define OCF_GAP_ALLOW_REBOND_DB 0x0095 00228 00229 #define OCF_GAP_START_LIMITED_DISCOVERY_PROC 0x0096 00230 typedef __packed struct _gap_start_limited_discovery_proc_cp{ 00231 uint16_t scanInterval; 00232 uint16_t scanWindow; 00233 uint8_t own_address_type; 00234 uint8_t filterDuplicates; 00235 } PACKED gap_start_limited_discovery_proc_cp; 00236 #define GAP_START_LIMITED_DISCOVERY_PROC_CP_SIZE 6 00237 00238 #define OCF_GAP_START_GENERAL_DISCOVERY_PROC 0x0097 00239 typedef __packed struct _gap_start_general_discovery_proc_cp{ 00240 uint16_t scanInterval; 00241 uint16_t scanWindow; 00242 uint8_t own_address_type; 00243 uint8_t filterDuplicates; 00244 } PACKED gap_start_general_discovery_proc_cp; 00245 #define GAP_START_GENERAL_DISCOVERY_PROC_CP_SIZE 6 00246 00247 #define OCF_GAP_START_AUTO_CONN_ESTABLISHMENT 0x0099 00248 00249 #define OCF_GAP_CREATE_CONNECTION 0x009C 00250 typedef __packed struct _gap_create_connection_cp{ 00251 uint16_t scanInterval; 00252 uint16_t scanWindow; 00253 uint8_t peer_bdaddr_type; 00254 tBDAddr peer_bdaddr; 00255 uint8_t own_bdaddr_type; 00256 uint16_t conn_min_interval; 00257 uint16_t conn_max_interval; 00258 uint16_t conn_latency; 00259 uint16_t supervision_timeout; 00260 uint16_t min_conn_length; 00261 uint16_t max_conn_length; 00262 } PACKED gap_create_connection_cp; 00263 #define GAP_CREATE_CONNECTION_CP_SIZE 24 00264 00265 #define OCF_GAP_TERMINATE_GAP_PROCEDURE 0x009D 00266 00267 #define OCF_GAP_SEND_PAIRING_REQUEST 0x009F 00268 typedef __packed struct _gap_send_pairing_request_cp{ 00269 uint16_t conn_handle; 00270 uint8_t force_rebond; 00271 } PACKED gap_send_pairing_request_cp; 00272 #define GAP_SEND_PAIRING_REQUEST_CP_SIZE 3 00273 00274 #define OCF_GATT_INIT 0x0101 00275 00276 #define OCF_GATT_ADD_SERV 0x0102 00277 typedef __packed struct _gatt_add_serv_rp{ 00278 uint8_t status; 00279 uint16_t handle; 00280 } PACKED gatt_add_serv_rp; 00281 #define GATT_ADD_SERV_RP_SIZE 3 00282 00283 #define OCF_GATT_INCLUDE_SERV 0x0103 00284 typedef __packed struct _gatt_include_serv_rp{ 00285 uint8_t status; 00286 uint16_t handle; 00287 } PACKED gatt_include_serv_rp; 00288 #define GATT_INCLUDE_SERV_RP_SIZE 3 00289 00290 #define OCF_GATT_ADD_CHAR 0x0104 00291 typedef __packed struct _gatt_add_char_rp{ 00292 uint8_t status; 00293 uint16_t handle; 00294 } PACKED gatt_add_char_rp; 00295 #define GATT_ADD_CHAR_RP_SIZE 3 00296 00297 #define OCF_GATT_ADD_CHAR_DESC 0x0105 00298 typedef __packed struct _gatt_add_char_desc_rp{ 00299 uint8_t status; 00300 uint16_t handle; 00301 } PACKED gatt_add_char_desc_rp; 00302 #define GATT_ADD_CHAR_DESC_RP_SIZE 3 00303 00304 #define OCF_GATT_UPD_CHAR_VAL 0x0106 00305 00306 #define OCF_GATT_DEL_CHAR 0x0107 00307 typedef __packed struct _gatt_del_char_cp{ 00308 uint16_t service_handle; 00309 uint16_t char_handle; 00310 } PACKED gatt_del_char_cp; 00311 #define GATT_DEL_CHAR_CP_SIZE 4 00312 00313 #define OCF_GATT_DEL_SERV 0x0108 00314 typedef __packed struct _gatt_del_serv_cp{ 00315 uint16_t service_handle; 00316 } PACKED gatt_del_serv_cp; 00317 #define GATT_DEL_SERV_CP_SIZE 2 00318 00319 #define OCF_GATT_DEL_INC_SERV 0x0109 00320 typedef __packed struct _gatt_del_inc_serv_cp{ 00321 uint16_t service_handle; 00322 uint16_t inc_serv_handle; 00323 } PACKED gatt_del_inc_serv_cp; 00324 #define GATT_DEL_INC_SERV_CP_SIZE 4 00325 00326 #define OCF_GATT_SET_EVT_MASK 0x010A 00327 typedef __packed struct _gatt_set_evt_mask_cp{ 00328 uint32_t evt_mask; 00329 } PACKED gatt_set_evt_mask_cp; 00330 #define GATT_SET_EVT_MASK_CP_SIZE 4 00331 00332 #define OCF_GATT_EXCHANGE_CONFIG 0x010B 00333 typedef __packed struct _gatt_exchange_config_cp{ 00334 uint16_t conn_handle; 00335 } PACKED gatt_exchange_config_cp; 00336 #define GATT_EXCHANGE_CONFIG_CP_SIZE 2 00337 00338 #define OCF_GATT_FIND_INFO_REQ 0x010C 00339 typedef __packed struct _gatt_find_info_req_cp{ 00340 uint16_t conn_handle; 00341 uint16_t start_handle; 00342 uint16_t end_handle; 00343 } PACKED gatt_find_info_req_cp; 00344 #define GATT_GATT_FIND_INFO_REQ_CP_SIZE 6 00345 00346 #define OCF_GATT_DISC_ALL_PRIM_SERVICES 0X0112 00347 typedef __packed struct _gatt_disc_all_prim_serivces_cp{ 00348 uint16_t conn_handle; 00349 } PACKED gatt_disc_all_prim_services_cp; 00350 #define GATT_DISC_ALL_PRIM_SERVICES_CP_SIZE 2 00351 00352 #define OCF_GATT_FIND_INCLUDED_SERVICES 0X0114 00353 typedef __packed struct _gatt_disc_find_included_services_cp{ 00354 uint16_t conn_handle; 00355 uint16_t start_handle; 00356 uint16_t end_handle; 00357 } PACKED gatt_find_included_services_cp; 00358 #define GATT_FIND_INCLUDED_SERVICES_CP_SIZE 6 00359 00360 #define OCF_GATT_DISC_ALL_CHARAC_OF_SERV 0X0115 00361 typedef __packed struct _gatt_disc_all_charac_of_serv_cp{ 00362 uint16_t conn_handle; 00363 uint16_t start_attr_handle; 00364 uint16_t end_attr_handle; 00365 } PACKED gatt_disc_all_charac_of_serv_cp; 00366 #define GATT_DISC_ALL_CHARAC_OF_SERV_CP_SIZE 6 00367 00368 #define OCF_GATT_DISC_CHARAC_BY_UUID 0X0116 00369 00370 #define OCF_GATT_DISC_ALL_CHARAC_DESCRIPTORS 0X0117 00371 typedef __packed struct _gatt_disc_all_charac_descriptors_cp{ 00372 uint16_t conn_handle; 00373 uint16_t char_val_handle; 00374 uint16_t char_end_handle; 00375 } PACKED gatt_disc_all_charac_descriptors_cp; 00376 #define GATT_DISC_ALL_CHARAC_DESCRIPTORS_CP_SIZE 6 00377 00378 #define OCF_GATT_READ_CHARAC_VAL 0x0118 00379 typedef __packed struct _gatt_read_charac_val_cp{ 00380 uint16_t conn_handle; 00381 uint16_t attr_handle; 00382 } PACKED gatt_read_charac_val_cp; 00383 #define GATT_READ_CHARAC_VAL_CP_SIZE 4 00384 00385 #define OCF_GATT_READ_LONG_CHARAC_VAL 0x011A 00386 typedef __packed struct _gatt_read_long_charac_val_cp{ 00387 uint16_t conn_handle; 00388 uint16_t attr_handle; 00389 uint16_t val_offset; 00390 } PACKED gatt_read_long_charac_val_cp; 00391 #define GATT_READ_LONG_CHARAC_VAL_CP_SIZE 6 00392 00393 #define OCF_GATT_WRITE_CHAR_VALUE 0x011C 00394 #define OCF_GATT_WRITE_CHAR_DESCRIPTOR 0x0121 00395 00396 #define OCF_GATT_READ_CHAR_DESCRIPTOR 0x0122 00397 00398 #define OCF_GATT_WRITE_WITHOUT_RESPONSE 0x0123 00399 00400 #define OCF_GATT_SIGNED_WRITE_WITHOUT_RESPONSE 0x0124 00401 00402 #define OCF_GATT_CONFIRM_INDICATION 0x0125 00403 typedef __packed struct _gatt_confirm_indication_cp{ 00404 uint16_t conn_handle; 00405 } PACKED gatt_confirm_indication_cp; 00406 #define GATT_CONFIRM_INDICATION_CP_SIZE 2 00407 00408 #define OCF_GATT_WRITE_RESPONSE 0x0126 00409 00410 #define OCF_GATT_ALLOW_READ 0x0127 00411 typedef __packed struct _gatt_allow_read_cp{ 00412 uint16_t conn_handle; 00413 } PACKED gatt_allow_read_cp; 00414 #define GATT_ALLOW_READ_CP_SIZE 2 00415 00416 #define OCF_GATT_SET_DESC_VAL 0x0129 00417 00418 #define OCF_GATT_READ_HANDLE_VALUE 0x012A 00419 typedef __packed struct _gatt_read_handle_val_cp{ 00420 uint16_t attr_handle; 00421 } PACKED gatt_read_handle_val_cp; 00422 #define GATT_READ_HANDLE_VALUE_CP_SIZE 2 00423 00424 #define OCF_L2CAP_CONN_PARAM_UPDATE_REQ 0x0181 00425 typedef __packed struct _l2cap_conn_param_update_req_cp{ 00426 uint16_t conn_handle; 00427 uint16_t interval_min; 00428 uint16_t interval_max; 00429 uint16_t slave_latency; 00430 uint16_t timeout_multiplier; 00431 } PACKED l2cap_conn_param_update_req_cp; 00432 #define L2CAP_CONN_PARAM_UPDATE_REQ_CP_SIZE 10 00433 00434 #define OCF_L2CAP_CONN_PARAM_UPDATE_RESP 0x0182 00435 typedef __packed struct _l2cap_conn_param_update_resp_cp{ 00436 uint16_t conn_handle; 00437 uint16_t interval_min; 00438 uint16_t interval_max; 00439 uint16_t slave_latency; 00440 uint16_t timeout_multiplier; 00441 uint8_t id; 00442 uint8_t accept; 00443 } PACKED l2cap_conn_param_update_resp_cp; 00444 #define L2CAP_CONN_PARAM_UPDATE_RESP_CP_SIZE 12 00445 00446 #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 00447 00448 /** 00449 * @defgroup BlueNRG_Events BlueNRG events (vendor specific) 00450 * @{ 00451 */ 00452 00453 /** 00454 * Vendor specific event for BlueNRG. 00455 */ 00456 typedef __packed struct _evt_blue_aci{ 00457 uint16_t ecode; /**< One of the BlueNRG event codes. */ 00458 uint8_t data[0]; 00459 } PACKED evt_blue_aci; 00460 00461 00462 /** 00463 * @} 00464 */ 00465 00466 #endif /* __BLUENRG_ACI_CONST_H_ */ 00467
Generated on Tue Jul 12 2022 17:28:28 by
 1.7.2
 1.7.2