Coexistence#

Coexistence.

Enumerations

enum  

sl_bt_coex_option_t { sl_bt_coex_option_enable = 0x100,

sl_bt_coex_option_tx_abort = 0x400,

sl_bt_coex_option_high_priority = 0x800

}

Coexistence configuration options.

Functions

sl_status_t 

sl_bt_coex_set_options (uint32_t mask, uint32_t options)

sl_status_t 

sl_bt_coex_set_parameters (uint8_t priority, uint8_t request, uint8_t pwm_period, uint8_t pwm_dutycycle)

sl_status_t 

sl_bt_coex_set_directional_priority_pulse (uint8_t pulse)

sl_status_t 

sl_bt_coex_get_parameters (uint8_t *priority, uint8_t *request, uint8_t *pwm_period, uint8_t *pwm_dutycycle)

sl_status_t 

sl_bt_coex_get_counters (uint8_t reset, size_t max_counters_size, size_t *counters_len, uint8_t *counters)

Detailed Description#

Coexistence.

Coexistence BGAPI class. Coexistence interface is enabled and initialized with sl_bt_init_coex_hal function.

Enumeration Type Documentation#

sl_bt_coex_option_t#

enum sl_bt_coex_option_t

Coexistence configuration options.

Enumerator

sl_bt_coex_option_enable 

(0x100) Enable coexistence feature

sl_bt_coex_option_tx_abort 

(0x400) Abort transmission if grant is denied

sl_bt_coex_option_high_priority 

(0x800) Enable priority signal

Function Documentation#

sl_bt_coex_set_options()#

sl_status_t sl_bt_coex_set_options

(

uint32_t 

mask,

uint32_t 

options

)

Configure coexistence options at runtime.

Parameters

[in]

mask

Bitmask of following coexistence options to change* sl_bt_coex_option_enable : (0x100) Enable coexistence feature

ReturnsSL_STATUS_OK if successful. Error code otherwise.

sl_bt_coex_set_parameters()#

sl_status_t sl_bt_coex_set_parameters

(

uint8_t 

priority,

uint8_t 

request,

uint8_t 

pwm_period,

uint8_t 

pwm_dutycycle

)

Configure coexistence parameters.

Parameters

[in]

priority

Coexistence priority threshold. Coexistence priority is toggled if priority is below this value.

[in]

request

Coexistence request threshold. Coexistence request is toggled if priority is below this value.

[in]

pwm_period

PWM functionality period length in 1 ms units

[in]

pwm_dutycycle

PWM functionality duty cycle in percentage

ReturnsSL_STATUS_OK if successful. Error code otherwise.

sl_bt_coex_set_directional_priority_pulse()#

sl_status_t sl_bt_coex_set_directional_priority_pulse

(

uint8_t 

pulse

)

Set Directional Priority Pulse Width.

Parameters

[in]

pulse

Directional priority pulse width in us

ReturnsSL_STATUS_OK if successful. Error code otherwise.

sl_bt_coex_get_parameters()#

sl_status_t sl_bt_coex_get_parameters

(

uint8_t * 

priority,

uint8_t * 

request,

uint8_t * 

pwm_period,

uint8_t * 

pwm_dutycycle

)

Get the coexistence parameters.

Parameters

[out]

priority

Coexistence priority threshold. Coexistence priority is toggled if priority is below this value.

[out]

request

Coexistence request threshold. Coexistence request is toggled if priority is below this value.

[out]

pwm_period

PWM functionality period length in 1 ms units

[out]

pwm_dutycycle

PWM functionality duty cycle in percentage

ReturnsSL_STATUS_OK if successful. Error code otherwise.

sl_bt_coex_get_counters()#

sl_status_t sl_bt_coex_get_counters

(

uint8_t 

reset,

size_t 

max_counters_size,

size_t * 

counters_len,

uint8_t * 

counters

)

Read coexistence statistic counters from the device. Response contains the list of uint32 type counter values. Counters in the list are in following order: low priority requested, high priority requested, low priority denied, high priority denied, low-priority TX aborted, and high-priority TX aborted. Passing a non-zero value also resets counters.

Parameters

[in]

reset

Reset counters if parameter value is not zero.

[in]

max_counters_size

Size of output buffer passed in counters

[out]

counters_len

On return, set to the length of output data written to counters

[out]

counters

Coexistence statistic counters

ReturnsSL_STATUS_OK if successful. Error code otherwise.