gap.h (7aa35f6a68be293b189765703d55a2983fa71909) | gap.h (2a6c0f8203a6e80b026f1d5508f53de0dbb70501) |
---|---|
1/* 2 * Copyright (C) 2014 BlueKitchen GmbH 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 8 * 1. Redistributions of source code must retain the above copyright --- 192 unchanged lines hidden (view full) --- 201 uint8_t rtn; 202 uint8_t phy; 203 uint8_t packing; 204 uint8_t framing; 205 uint8_t encryption; 206 uint8_t broadcast_code[16]; 207} le_audio_big_params_t; 208 | 1/* 2 * Copyright (C) 2014 BlueKitchen GmbH 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 8 * 1. Redistributions of source code must retain the above copyright --- 192 unchanged lines hidden (view full) --- 201 uint8_t rtn; 202 uint8_t phy; 203 uint8_t packing; 204 uint8_t framing; 205 uint8_t encryption; 206 uint8_t broadcast_code[16]; 207} le_audio_big_params_t; 208 |
209typedef struct { 210 uint8_t big_handle; 211 uint8_t sync_handle; 212 uint8_t encryption; 213 uint8_t broadcast_code[16]; 214 uint8_t mse; 215 uint16_t big_sync_timeout_10ms; 216 uint8_t num_bis; 217 hci_con_handle_t bis_indices[MAX_NR_BIS]; 218} le_audio_big_sync_params_t; 219 |
|
209typedef enum { 210 LE_AUDIO_BIG_STATE_CREATE, 211 LE_AUDIO_BIG_STATE_W4_ESTABLISHED, | 220typedef enum { 221 LE_AUDIO_BIG_STATE_CREATE, 222 LE_AUDIO_BIG_STATE_W4_ESTABLISHED, |
212 LE_AUDIO_BIG_STATE_W4_ESTABLISHED_THEN_TERMINATE, | |
213 LE_AUDIO_BIG_STATE_SETUP_ISO_PATH, 214 LE_AUDIO_BIG_STATE_W4_SETUP_ISO_PATH, 215 LE_AUDIO_BIG_STATE_W4_SETUP_ISO_PATH_THEN_TERMINATE, | 223 LE_AUDIO_BIG_STATE_SETUP_ISO_PATH, 224 LE_AUDIO_BIG_STATE_W4_SETUP_ISO_PATH, 225 LE_AUDIO_BIG_STATE_W4_SETUP_ISO_PATH_THEN_TERMINATE, |
216 LE_AUDIO_BIG_STATE_ACTIVE, | |
217 LE_AUDIO_BIG_STATE_SETUP_ISO_PATHS_FAILED, | 226 LE_AUDIO_BIG_STATE_SETUP_ISO_PATHS_FAILED, |
218 LE_AUDIO_BIG_STATE_W4_TERMINATED_AFTER_SETUP_FAILED, | 227 LE_AUDIO_BIG_STATE_ACTIVE, |
219 LE_AUDIO_BIG_STATE_TERMINATE, | 228 LE_AUDIO_BIG_STATE_TERMINATE, |
229 LE_AUDIO_BIG_STATE_W4_TERMINATED_AFTER_SETUP_FAILED, |
|
220 LE_AUDIO_BIG_STATE_W4_TERMINATED, 221} le_audio_big_state_t; 222 223typedef struct { 224 btstack_linked_item_t item; 225 uint8_t big_handle; 226 le_audio_big_state_t state; 227 union { 228 uint8_t next_bis; 229 uint8_t status; 230 } state_vars; 231 uint8_t num_bis; 232 hci_con_handle_t bis_con_handles[MAX_NR_BIS]; 233 const le_audio_big_params_t * params; 234} le_audio_big_t; 235 | 230 LE_AUDIO_BIG_STATE_W4_TERMINATED, 231} le_audio_big_state_t; 232 233typedef struct { 234 btstack_linked_item_t item; 235 uint8_t big_handle; 236 le_audio_big_state_t state; 237 union { 238 uint8_t next_bis; 239 uint8_t status; 240 } state_vars; 241 uint8_t num_bis; 242 hci_con_handle_t bis_con_handles[MAX_NR_BIS]; 243 const le_audio_big_params_t * params; 244} le_audio_big_t; 245 |
246typedef struct { 247 btstack_linked_item_t item; 248 uint8_t big_handle; 249 le_audio_big_state_t state; 250 union { 251 uint8_t next_bis; 252 uint8_t status; 253 } state_vars; 254 uint8_t num_bis; 255 hci_con_handle_t bis_con_handles[MAX_NR_BIS]; 256 const le_audio_big_sync_params_t * params; 257} le_audio_big_sync_t; 258 |
|
236/* API_START */ 237 238// Classic + LE 239 240/** 241 * @brief Read RSSI 242 * @param con_handle 243 * @events: GAP_EVENT_RSSI_MEASUREMENT --- 430 unchanged lines hidden (view full) --- 674 * @return status 675 */ 676uint8_t gap_periodic_advertising_stop(uint8_t advertising_handle); 677 678/** 679 * @brief Remove advertising set from Controller 680 * @param advertising_handle 681 * @return status | 259/* API_START */ 260 261// Classic + LE 262 263/** 264 * @brief Read RSSI 265 * @param con_handle 266 * @events: GAP_EVENT_RSSI_MEASUREMENT --- 430 unchanged lines hidden (view full) --- 697 * @return status 698 */ 699uint8_t gap_periodic_advertising_stop(uint8_t advertising_handle); 700 701/** 702 * @brief Remove advertising set from Controller 703 * @param advertising_handle 704 * @return status |
682 * @events: GAP_SUBEVENT_ADVERTISING_SET_REMOVED | 705 * @events GAP_SUBEVENT_ADVERTISING_SET_REMOVED |
683 */ 684uint8_t gap_extended_advertising_remove(uint8_t advertising_handle); 685 686/** 687 * @brief Create Broadcast Isochronous Group (BIG) 688 * @param storage to use by stack, needs to stay valid until adv set is removed with gap_big_terminate 689 * @param big_params 690 * @return status | 706 */ 707uint8_t gap_extended_advertising_remove(uint8_t advertising_handle); 708 709/** 710 * @brief Create Broadcast Isochronous Group (BIG) 711 * @param storage to use by stack, needs to stay valid until adv set is removed with gap_big_terminate 712 * @param big_params 713 * @return status |
714 * @events GAP_SUBEVENT_BIG_CREATED unless interrupted by call to gap_big_terminate |
|
691 */ 692uint8_t gap_big_create(le_audio_big_t * storage, le_audio_big_params_t * big_params); 693 694/** 695 * @brief Terminate Broadcast Isochronous Group (BIG) 696 * @param big_handle 697 * @return status | 715 */ 716uint8_t gap_big_create(le_audio_big_t * storage, le_audio_big_params_t * big_params); 717 718/** 719 * @brief Terminate Broadcast Isochronous Group (BIG) 720 * @param big_handle 721 * @return status |
722 * @events: GAP_SUBEVENT_BIG_TERMINATED |
|
698 */ 699uint8_t gap_big_terminate(uint8_t big_handle); 700 701/** | 723 */ 724uint8_t gap_big_terminate(uint8_t big_handle); 725 726/** |
727 * @brief Synchronize to Broadcast Isochronous Group (BIG) 728 * @param storage to use by stack, needs to stay valid until adv set is removed with gap_big_terminate 729 * @param big_sync_params 730 * @return status 731 * @events GAP_SUBEVENT_BIG_SYNC_CREATED unless interrupted by call to gap_big_sync_terminate 732 */ 733uint8_t gap_big_sync_create(le_audio_big_sync_t * storage, le_audio_big_sync_params_t * big_sync_params); 734 735/** 736 * @brief Stop synchronizing to Broadcast Isochronous Group (BIG). Triggers GAP_SUBEVENT_BIG_SYNC_STOPPED 737 * @note Also used to stop synchronizing before BIG Sync was established 738 * @param big_handle 739 * @return status 740 * @events GAP_SUBEVENT_BIG_SYNC_STOPPED 741 */ 742uint8_t gap_big_sync_terminate(uint8_t big_handle); 743 744/** |
|
702 * @brief Set connection parameters for outgoing connections 703 * @param conn_scan_interval (unit: 0.625 msec), default: 60 ms 704 * @param conn_scan_window (unit: 0.625 msec), default: 30 ms 705 * @param conn_interval_min (unit: 1.25ms), default: 10 ms 706 * @param conn_interval_max (unit: 1.25ms), default: 30 ms 707 * @param conn_latency, default: 4 708 * @param supervision_timeout (unit: 10ms), default: 720 ms 709 * @param min_ce_length (unit: 0.625ms), default: 10 ms --- 510 unchanged lines hidden --- | 745 * @brief Set connection parameters for outgoing connections 746 * @param conn_scan_interval (unit: 0.625 msec), default: 60 ms 747 * @param conn_scan_window (unit: 0.625 msec), default: 30 ms 748 * @param conn_interval_min (unit: 1.25ms), default: 10 ms 749 * @param conn_interval_max (unit: 1.25ms), default: 30 ms 750 * @param conn_latency, default: 4 751 * @param supervision_timeout (unit: 10ms), default: 720 ms 752 * @param min_ce_length (unit: 0.625ms), default: 10 ms --- 510 unchanged lines hidden --- |