mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-04-10 06:44:32 +00:00
gap: add extended advertising api
This commit is contained in:
parent
a408e724ff
commit
b56957b70f
111
src/gap.h
111
src/gap.h
@ -135,6 +135,39 @@ typedef enum {
|
||||
AUTHORIZATION_GRANTED
|
||||
} authorization_state_t;
|
||||
|
||||
// Extended Advertising Parameters
|
||||
typedef struct {
|
||||
uint16_t advertising_event_properties;
|
||||
uint16_t primary_advertising_interval_min;
|
||||
uint16_t primary_advertising_interval_max;
|
||||
uint8_t primary_advertising_channel_map;
|
||||
bd_addr_type_t own_address_type;
|
||||
bd_addr_type_t peer_address_type;
|
||||
bd_addr_t peer_address;
|
||||
uint8_t advertising_filter_policy;
|
||||
int8_t advertising_tx_power;
|
||||
uint8_t primary_advertising_phy;
|
||||
uint8_t secondary_advertising_max_skip;
|
||||
uint8_t secondary_advertising_phy;
|
||||
uint8_t advertising_sid;
|
||||
uint8_t scan_request_notification_enable;
|
||||
} le_extended_advertising_parameters_t;
|
||||
|
||||
// Extended Advertising Set State
|
||||
typedef struct {
|
||||
btstack_linked_item_t item;
|
||||
le_extended_advertising_parameters_t params;
|
||||
bd_addr_t random_address;
|
||||
uint8_t * adv_data;
|
||||
uint8_t * scan_data;
|
||||
uint16_t adv_data_len;
|
||||
uint16_t scan_data_len;
|
||||
uint16_t enable_timeout;
|
||||
uint8_t advertising_handle;
|
||||
uint8_t enable_max_scan_events;
|
||||
uint8_t state;
|
||||
uint8_t tasks;
|
||||
} le_advertising_set_t;
|
||||
|
||||
/* API_START */
|
||||
|
||||
@ -426,7 +459,7 @@ void gap_random_address_set(const bd_addr_t addr);
|
||||
void gap_advertisements_set_data(uint8_t advertising_data_length, uint8_t * advertising_data);
|
||||
|
||||
/**
|
||||
* @brief Set Advertisement Paramters
|
||||
* @brief Set Advertisement Parameters
|
||||
* @param adv_int_min
|
||||
* @param adv_int_max
|
||||
* @param adv_type
|
||||
@ -457,6 +490,82 @@ void gap_advertisements_enable(int enabled);
|
||||
*/
|
||||
void gap_scan_response_set_data(uint8_t scan_response_data_length, uint8_t * scan_response_data);
|
||||
|
||||
/**
|
||||
* @brief Provide storage for new advertising set and setup on Controller
|
||||
* @param storage to use by stack, needs to stay valid until adv set is removed with gap_extended_advertising_remove
|
||||
* @param advertising_parameters
|
||||
* @param out_advertising_handle to use with other adv config commands
|
||||
* @return status
|
||||
* @events: GAP_SUBEVENT_ADVERTISING_SET_INSTALLED
|
||||
*/
|
||||
uint8_t gap_extended_advertising_setup(le_advertising_set_t * storage, const le_extended_advertising_parameters_t * advertising_parameters, uint8_t * out_advertising_handle);
|
||||
|
||||
/**
|
||||
* @param Set advertising params for advertising set
|
||||
* @param advertising_handle
|
||||
* @param advertising_parameters
|
||||
* @return status
|
||||
*/
|
||||
uint8_t gap_extended_advertising_set_params(uint8_t advertising_handle, const le_extended_advertising_parameters_t * advertising_parameters);
|
||||
|
||||
/**
|
||||
* @param Get advertising params for advertising set, e.g. to update params
|
||||
* @param advertising_handle
|
||||
* @param advertising_parameters
|
||||
* @return status
|
||||
*/
|
||||
uint8_t gap_extended_advertising_get_params(uint8_t advertising_handle, le_extended_advertising_parameters_t * advertising_parameters);
|
||||
|
||||
/**
|
||||
* @param Set random addrress for advertising set
|
||||
* @param advertising_handle
|
||||
* @param random_address
|
||||
* @return status
|
||||
*/
|
||||
uint8_t gap_extended_advertising_set_random_address(uint8_t advertising_handle, bd_addr_t random_address);
|
||||
|
||||
/**
|
||||
* @brief Set Advertising Data for a advertisement set
|
||||
* @param advertising_handle
|
||||
* @param advertising_data_length
|
||||
* @param advertising_data
|
||||
* @return status
|
||||
*/
|
||||
uint8_t gap_extended_advertising_set_adv_data(uint8_t advertising_handle, uint16_t advertising_data_length, uint8_t * advertising_data);
|
||||
|
||||
/**
|
||||
* @brief Set Scan Response Data for a advertisement set
|
||||
* @param advertising_handle
|
||||
* @param scan_response_data_length
|
||||
* @param scan_response_data
|
||||
* @return status
|
||||
*/
|
||||
uint8_t gap_extended_advertising_set_scan_response_data(uint8_t advertising_handle, uint16_t scan_response_data_length, uint8_t * scan_response_data);
|
||||
|
||||
/**
|
||||
* @brief Start advertising advertising set
|
||||
* @param advertising_handle
|
||||
* @param timeout in 10ms, or 0 == no timeout
|
||||
* @param num_extended_advertising_events Controller shall send, or 0 == no max number
|
||||
* @return status
|
||||
*/
|
||||
uint8_t gap_extended_advertising_start(uint8_t advertising_handle, uint16_t timeout, uint8_t num_extended_advertising_events);
|
||||
|
||||
/**
|
||||
* @brief Stop advertising
|
||||
* @param advertising_handle
|
||||
* @return status
|
||||
*/
|
||||
uint8_t gap_extended_advertising_stop(uint8_t advertising_handle);
|
||||
|
||||
/**
|
||||
* @brief Remove advertising set from Controller
|
||||
* @param advertising_handle
|
||||
* @return status
|
||||
* @events: GAP_SUBEVENT_ADVERTISING_SET_REMOVED
|
||||
*/
|
||||
uint8_t gap_extended_advertising_remove(uint8_t advertising_handle);
|
||||
|
||||
/**
|
||||
* @brief Set connection parameters for outgoing connections
|
||||
* @param conn_scan_interval (unit: 0.625 msec), default: 60 ms
|
||||
|
Loading…
x
Reference in New Issue
Block a user