Coexistence Interface (coex)#

Coexistence BGAPI class. Coexistence interface is enabled and initialized with gecko_initCoexHAL() function.

coex commands#

coex_get_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.

C API#

/* Function */  
struct gecko_msg_coex_get_counters_rsp_t *gecko_cmd_coex_get_counters(uint8 reset);  
  
/* Response id */  
gecko_rsp_coex_get_counters_id  
  
/* Response structure */  
struct gecko_msg_coex_get_counters_rsp_t  
{  
  uint16 result;  
  uint8array counters;  
}  

Command Parameters (for BGAPI headers refer to link)#

Type

Name

Description

uint8

reset

Reset counters if parameter value is not zero.

Response Parameters (for BGAPI headers refer to link)#

Type

Name

Description

uint16

result

Result code

  • 0: success

  • Non-zero: an error has occurred

For other values see Error codes
uint8array | counters | Variable length byte array. The first byte defines the length of data that follows, 0 - 255 bytes.

coex_set_directional_priority_pulse#

Set Directional Priority Pulse Width

C API#

/* Function */  
struct gecko_msg_coex_set_directional_priority_pulse_rsp_t *gecko_cmd_coex_set_directional_priority_pulse(uint8 pulse);  
  
/* Response id */  
gecko_rsp_coex_set_directional_priority_pulse_id  
  
/* Response structure */  
struct gecko_msg_coex_set_directional_priority_pulse_rsp_t  
{  
  uint16 result;  
}  

Command Parameters (for BGAPI headers refer to link)#

Type

Name

Description

uint8

pulse

Directional priority pulse width in us

Response Parameters (for BGAPI headers refer to link)#

Type

Name

Description

uint16

result

Result code

  • 0: success

  • Non-zero: an error has occurred

For other values see Error codes

coex_set_options#

Configure coexistence options at runtime.

C API#

/* Function */  
struct gecko_msg_coex_set_options_rsp_t *gecko_cmd_coex_set_options(uint32 mask, uint32 options);  
  
/* Response id */  
gecko_rsp_coex_set_options_id  
  
/* Response structure */  
struct gecko_msg_coex_set_options_rsp_t  
{  
  uint16 result;  
}  

Command Parameters (for BGAPI headers refer to link)#

Type

Name

Description

uint32

mask

Mask defines which coexistence options are changed.

uint32

options

Value of options to be changed. This parameter is used

together with the mask parameter.

Response Parameters (for BGAPI headers refer to link)#

Type

Name

Description

uint16

result

Result code

  • 0: success

  • Non-zero: an error has occurred

For other values see Error codes

coex_set_parameters#

Configure coexistence parameters.

C API#

/* Function */  
struct gecko_msg_coex_set_parameters_rsp_t *gecko_cmd_coex_set_parameters(uint8 priority, uint8 request, uint8 pwm_period, uint8 pwm_dutycycle);  
  
/* Response id */  
gecko_rsp_coex_set_parameters_id  
  
/* Response structure */  
struct gecko_msg_coex_set_parameters_rsp_t  
{  
  uint16 result;  
}  

Command Parameters (for BGAPI headers refer to link)#

Type

Name

Description

uint8

priority

Coexistence priority threshold. Coexistence priority is

toggled if priority is below this value.

uint8

request

Coexistence request threshold. Coexistence request is

toggled if priority is below this value.

uint8

pwm_period

PWM functionality period length in 1ms units

uint8

pwm_dutycycle

PWM functionality dutycycle in percentage

Response Parameters (for BGAPI headers refer to link)#

Type

Name

Description

uint16

result

Result code

  • 0: success

  • Non-zero: an error has occurred

For other values see Error codes

coex enumerations#

coex_option#

Coexistence configuration options

Enumerations#

Value

Name

Description

256

coex_option_enable

Enable coexistence feature

1024

coex_option_tx_abort

Abort transmission if grant is denied

2048

coex_option_high_priority

Enable priority signal