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