XCORE SDK
XCORE Software Development Kit
Classes | Typedefs | Enumerations

APIs to manage dynamic aspects of Packet Traffic Arbitration (PTA). More...

Classes

struct  sl_wfx_pta_settings_req_body_s
 Request sent by the host to set the PTA mode, the active levels on signals, the Coex type, to define the timings, quotas, combined mode and default grant state. More...
 
struct  sl_wfx_pta_settings_req_s
 
struct  sl_wfx_pta_settings_cnf_body_s
 Confirmation sent by WLAN firmware after a SL_WFX_PTA_SETTINGS_REQ_ID request. More...
 
struct  sl_wfx_pta_settings_cnf_s
 
struct  sl_wfx_pta_priority_req_body_s
 Request sent by the host to define the level of priority used to arbitrate concurrent Coex and WLAN requests. More...
 
struct  sl_wfx_pta_priority_req_s
 
struct  sl_wfx_pta_priority_cnf_body_s
 Confirmation sent by WLAN firmware after a SL_WFX_PTA_PRIORITY_REQ_ID request. More...
 
struct  sl_wfx_pta_priority_cnf_s
 
struct  sl_wfx_pta_state_req_body_s
 Request sent by host to start or stop the PTA. More...
 
struct  sl_wfx_pta_state_req_s
 
struct  sl_wfx_pta_state_cnf_body_s
 Confirmation sent by WLAN firmware after a SL_WFX_PTA_STATE_REQ_ID request. More...
 
struct  sl_wfx_pta_state_cnf_s
 

Typedefs

typedef enum sl_wfx_pta_mode_e sl_wfx_pta_mode_t
 PTA modes.
 
typedef enum sl_wfx_signal_level_e sl_wfx_signal_level_t
 Signal levels.
 
typedef enum sl_wfx_coex_type_e sl_wfx_coex_type_t
 Coexistence types supported by PTA.
 
typedef enum sl_wfx_grant_state_e sl_wfx_grant_state_t
 Grant states.
 
typedef struct sl_wfx_pta_settings_req_body_s sl_wfx_pta_settings_req_body_t
 Request sent by the host to set the PTA mode, the active levels on signals, the Coex type, to define the timings, quotas, combined mode and default grant state. More...
 
typedef struct sl_wfx_pta_settings_req_s sl_wfx_pta_settings_req_t
 
typedef struct sl_wfx_pta_settings_cnf_body_s sl_wfx_pta_settings_cnf_body_t
 Confirmation sent by WLAN firmware after a SL_WFX_PTA_SETTINGS_REQ_ID request.
 
typedef struct sl_wfx_pta_settings_cnf_s sl_wfx_pta_settings_cnf_t
 
typedef enum sl_wfx_pta_priority_e sl_wfx_pta_priority_t
 Priority levels used by PTA for concurrent (Coex and WLAN) request arbitration.
 
typedef struct sl_wfx_pta_priority_req_body_s sl_wfx_pta_priority_req_body_t
 Request sent by the host to define the level of priority used to arbitrate concurrent Coex and WLAN requests. More...
 
typedef struct sl_wfx_pta_priority_req_s sl_wfx_pta_priority_req_t
 
typedef struct sl_wfx_pta_priority_cnf_body_s sl_wfx_pta_priority_cnf_body_t
 Confirmation sent by WLAN firmware after a SL_WFX_PTA_PRIORITY_REQ_ID request.
 
typedef struct sl_wfx_pta_priority_cnf_s sl_wfx_pta_priority_cnf_t
 
typedef enum sl_wfx_pta_state_e sl_wfx_pta_state_t
 PTA states.
 
typedef struct sl_wfx_pta_state_req_body_s sl_wfx_pta_state_req_body_t
 Request sent by host to start or stop the PTA. More...
 
typedef struct sl_wfx_pta_state_req_s sl_wfx_pta_state_req_t
 
typedef struct sl_wfx_pta_state_cnf_body_s sl_wfx_pta_state_cnf_body_t
 Confirmation sent by WLAN firmware after a SL_WFX_PTA_STATE_REQ_ID request.
 
typedef struct sl_wfx_pta_state_cnf_s sl_wfx_pta_state_cnf_t
 

Enumerations

enum  sl_wfx_pta_mode_e {
  SL_WFX_PTA_1W_WLAN_MASTER = 0 , SL_WFX_PTA_1W_COEX_MASTER = 1 , SL_WFX_PTA_2W = 2 , SL_WFX_PTA_3W = 3 ,
  SL_WFX_PTA_4W = 4
}
 PTA modes. More...
 
enum  sl_wfx_signal_level_e { SL_WFX_SIGNAL_LOW = 0 , SL_WFX_SIGNAL_HIGH = 1 }
 Signal levels. More...
 
enum  sl_wfx_coex_type_e { SL_WFX_COEX_TYPE_GENERIC = 0 , SL_WFX_COEX_TYPE_BLE = 1 }
 Coexistence types supported by PTA. More...
 
enum  sl_wfx_grant_state_e { SL_WFX_NO_GRANT = 0 , SL_WFX_GRANT = 1 }
 Grant states. More...
 
enum  sl_wfx_pta_priority_e {
  SL_WFX_PTA_PRIORITY_COEX_MAXIMIZED = 0x00000562 , SL_WFX_PTA_PRIORITY_COEX_HIGH = 0x00000462 , SL_WFX_PTA_PRIORITY_BALANCED = 0x00001461 , SL_WFX_PTA_PRIORITY_WLAN_HIGH = 0x00001851 ,
  SL_WFX_PTA_PRIORITY_WLAN_MAXIMIZED = 0x00001A51
}
 Priority levels used by PTA for concurrent (Coex and WLAN) request arbitration. More...
 
enum  sl_wfx_pta_state_e { SL_WFX_PTA_OFF = 0 , SL_WFX_PTA_ON = 1 }
 PTA states. More...
 

Detailed Description

APIs to manage dynamic aspects of Packet Traffic Arbitration (PTA).

Functions are provided to:

Typedef Documentation

◆ sl_wfx_pta_priority_req_body_t

Request sent by the host to define the level of priority used to arbitrate concurrent Coex and WLAN requests.

Priority can be one value from enum sl_wfx_pta_priority_t but can also be an integer value whom definition is the following bitfield:

struct sl_wfx_pta_priority_s
{
uint32_t coex_prio_low:3; // Priority given to Coex for low-priority requests
uint32_t reserved_1:1; // Reserved for future use
uint32_t coex_prio_high:3; // Priority given to Coex for high-priority requests
uint32_t reserved_2:1; // Reserved for future use
uint32_t grant_coex:1; // Allows Coex to override WLAN
uint32_t grant_wlan:1; // Allows WLAN to override Coex whenever WLAN is not idle
uint32_t protect_coex:1; // WLAN grant is delayed until Coex has finished its present granted transaction
uint32_t protect_wlan_tx:1; // Prevents Coex from being granted when WLAN is transmitting (the protection is also extended to the response)
uint32_t protect_wlan_rx:1; // Prevents Coex from being granted when WLAN is receiving or waiting for a response to an already transmitted frame
uint32_t reserved_3:19; // Reserved for future use
}
Note
Request will fail if PTA is started.

◆ sl_wfx_pta_settings_req_body_t

Request sent by the host to set the PTA mode, the active levels on signals, the Coex type, to define the timings, quotas, combined mode and default grant state.

Depending on specified PTA mode, every setting is not necessarily used and can then be set to '0'.
The following table indicates the PTA mode for which the setting is significant.
Combined mode is activated during concurrent RX (WLAN and Coex) requests and if SimultaneousRxAccesses is set to '1'.

Settings 1-wire WLAN Master 1-wire Coex Master 2-wire 3-wire 3-wire (combined) 4-wire 4-wire (combined)
PrioritySamplingTime x x x x
TxRxSamplingTime x x
FreqSamplingTime x x
GrantValidTime x x x x
FemControlTime x x x x
FirstSlotTime x x
PeriodicTxRxSamplingTime x x
CoexQuota x x
WlanQuota x x


Sequence diagram with 3-wire PTA mode


Sequence diagram with 4-wire PTA mode
Note
Request will fail if PTA is started.
Warning
The following assertions must be respected:
  • priority_sampling_time < tx_rx_sampling_time < grant_valid_time <= first_slot_time
  • freq_sampling_time < grant_valid_time < fem_control_time

◆ sl_wfx_pta_state_req_body_t

Request sent by host to start or stop the PTA.

Note
Starting PTA will fail if not first configured with sl_wfx_pta_settings_req_body_t request.

Enumeration Type Documentation

◆ sl_wfx_coex_type_e

Coexistence types supported by PTA.

Enumerator
SL_WFX_COEX_TYPE_GENERIC 

IEEE 802.15.4 standards ZigBee SDK, Thread SDK, and so on.

SL_WFX_COEX_TYPE_BLE 

Bluetooth Low-Energy Stack.

◆ sl_wfx_grant_state_e

Grant states.

Enumerator
SL_WFX_NO_GRANT 

WLAN has the RF, Coex is not allowed to transmit.

SL_WFX_GRANT 

Coex is granted.

◆ sl_wfx_pta_mode_e

PTA modes.

Enumerator
SL_WFX_PTA_1W_WLAN_MASTER 

PTA 1-wire interface with WLAN master on PTA_TX_CONF pin (GRANT signal),.

SL_WFX_PTA_1W_COEX_MASTER 

PTA 1-wire interface with COEX master on PTA_RF_ACT pin (REQUEST signal),.

SL_WFX_PTA_2W 

PTA 2-wire interface on PTA_RF_ACT and PTA_TX_CONF pins (respectively REQUEST and GRANT signals),.

SL_WFX_PTA_3W 

PTA 3-wire interface on same pins as SL_WFX_PTA_2W, plus PTA_STATUS pin (PRIORITY signal)

SL_WFX_PTA_4W 

PTA 4-wire interface on same pins as SL_WFX_PTA_3W, plus PTA_FREQ pin (FREQ signal).

◆ sl_wfx_pta_priority_e

Priority levels used by PTA for concurrent (Coex and WLAN) request arbitration.

Enumerator
SL_WFX_PTA_PRIORITY_COEX_MAXIMIZED 

Maximizes priority to COEX.

SL_WFX_PTA_PRIORITY_COEX_HIGH 

High priority to COEX, targets low-latency to COEX.

SL_WFX_PTA_PRIORITY_BALANCED 

Balanced PTA arbitration.

SL_WFX_PTA_PRIORITY_WLAN_HIGH 

High priority to WLAN, protects WLAN transmissions.

SL_WFX_PTA_PRIORITY_WLAN_MAXIMIZED 

Maximizes priority to WLAN.

◆ sl_wfx_pta_state_e

PTA states.

Enumerator
SL_WFX_PTA_OFF 

PTA is off.

SL_WFX_PTA_ON 

PTA is on.

◆ sl_wfx_signal_level_e

Signal levels.

Enumerator
SL_WFX_SIGNAL_LOW 

Signal level is low.

SL_WFX_SIGNAL_HIGH 

Signal level is high.