gap.h (30199e24c811081e34846cfb3b6c82e682b38b47) | gap.h (7aa35f6a68be293b189765703d55a2983fa71909) |
---|---|
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 --- 40 unchanged lines hidden (view full) --- 49 50#include "btstack_defines.h" 51#include "btstack_util.h" 52 53#ifdef ENABLE_CLASSIC 54#include "classic/btstack_link_key_db.h" 55#endif 56 | 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 --- 40 unchanged lines hidden (view full) --- 49 50#include "btstack_defines.h" 51#include "btstack_util.h" 52 53#ifdef ENABLE_CLASSIC 54#include "classic/btstack_link_key_db.h" 55#endif 56 |
57// BIG has up to 2 BIS (stereo) 58#ifndef MAX_NR_BIS 59#define MAX_NR_BIS 2 60#endif 61 |
|
57typedef enum { 58 59 // MITM protection not required 60 // No encryption required 61 // No user interaction required 62 LEVEL_0 = 0, 63 64 // MITM protection not required --- 112 unchanged lines hidden (view full) --- 177 uint16_t enable_timeout; 178 uint8_t advertising_handle; 179 uint8_t enable_max_scan_events; 180 bool periodic_include_adi; 181 uint8_t state; 182 uint8_t tasks; 183} le_advertising_set_t; 184 | 62typedef enum { 63 64 // MITM protection not required 65 // No encryption required 66 // No user interaction required 67 LEVEL_0 = 0, 68 69 // MITM protection not required --- 112 unchanged lines hidden (view full) --- 182 uint16_t enable_timeout; 183 uint8_t advertising_handle; 184 uint8_t enable_max_scan_events; 185 bool periodic_include_adi; 186 uint8_t state; 187 uint8_t tasks; 188} le_advertising_set_t; 189 |
190// Isochronous Streams 191 192// -- Broadcast Isochronous Group BIG 193 194typedef struct { 195 uint8_t big_handle; 196 uint8_t advertising_handle; 197 uint8_t num_bis; 198 uint32_t sdu_interval_us; 199 uint16_t max_sdu; 200 uint16_t max_transport_latency_ms; 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 enum { 210 LE_AUDIO_BIG_STATE_CREATE, 211 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, 216 LE_AUDIO_BIG_STATE_ACTIVE, 217 LE_AUDIO_BIG_STATE_SETUP_ISO_PATHS_FAILED, 218 LE_AUDIO_BIG_STATE_W4_TERMINATED_AFTER_SETUP_FAILED, 219 LE_AUDIO_BIG_STATE_TERMINATE, 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 |
|
185/* API_START */ 186 187// Classic + LE 188 189/** 190 * @brief Read RSSI 191 * @param con_handle 192 * @events: GAP_EVENT_RSSI_MEASUREMENT --- 435 unchanged lines hidden (view full) --- 628 * @brief Remove advertising set from Controller 629 * @param advertising_handle 630 * @return status 631 * @events: GAP_SUBEVENT_ADVERTISING_SET_REMOVED 632 */ 633uint8_t gap_extended_advertising_remove(uint8_t advertising_handle); 634 635/** | 236/* API_START */ 237 238// Classic + LE 239 240/** 241 * @brief Read RSSI 242 * @param con_handle 243 * @events: GAP_EVENT_RSSI_MEASUREMENT --- 435 unchanged lines hidden (view full) --- 679 * @brief Remove advertising set from Controller 680 * @param advertising_handle 681 * @return status 682 * @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 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 698 */ 699uint8_t gap_big_terminate(uint8_t big_handle); 700 701/** |
|
636 * @brief Set connection parameters for outgoing connections 637 * @param conn_scan_interval (unit: 0.625 msec), default: 60 ms 638 * @param conn_scan_window (unit: 0.625 msec), default: 30 ms 639 * @param conn_interval_min (unit: 1.25ms), default: 10 ms 640 * @param conn_interval_max (unit: 1.25ms), default: 30 ms 641 * @param conn_latency, default: 4 642 * @param supervision_timeout (unit: 10ms), default: 720 ms 643 * @param min_ce_length (unit: 0.625ms), default: 10 ms --- 510 unchanged lines hidden --- | 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 --- |