nrfxlib API 2.8.99
|
Topics | |
MPSL protocol interface abstraction for coexistence module | |
Data Structures | |
struct | mpsl_cx_request_t |
Structure with parameters describing next coexistence request. More... | |
Typedefs | |
typedef uint8_t | mpsl_cx_op_map_t |
Bitmap representing a list of radio operations. | |
typedef uint8_t | mpsl_cx_prio_t |
Priority of given radio operation. | |
typedef void(* | mpsl_cx_cb_t) (mpsl_cx_op_map_t granted_ops) |
Callback used to notify radio protocol about changes of granted radio operations. | |
Enumerations | |
enum | mpsl_cx_op_t { MPSL_CX_OP_IDLE_LISTEN = 0x01 , MPSL_CX_OP_RX = 0x02 , MPSL_CX_OP_TX = 0x04 } |
Radio operations which may be requested from or granted by PTA. More... | |
enum | mpsl_cx_req_trig_t { MPSL_CX_REQ_TRIG_INSTANT } |
Coexistence request signal triggers. More... | |
Functions | |
int32_t | mpsl_cx_request (const mpsl_cx_request_t *p_req_params) |
Request radio operation from PTA. | |
int32_t | mpsl_cx_release (void) |
Release last radio operation requested from PTA. | |
int32_t | mpsl_cx_granted_ops_get (mpsl_cx_op_map_t *p_granted_ops) |
Get list of radio operations currently granted by PTA. | |
uint32_t | mpsl_cx_req_grant_delay_get (void) |
Get time PTA needs to respond with grant signal to request signal. | |
int32_t | mpsl_cx_register_callback (mpsl_cx_cb_t cb) |
Register callback function called when radio operations granted by PTA change. | |
This module provides the interface for the protocols to communicate with a coexistence arbitrator, Packet Traffic Arbitrator, PTA.
Concurrency model of this module: Each function defined in this interface may be called from any execution context (thread, including preemptive thread in operating system, or handler). However, none of the functions is re-entrant. It is responsibility of API user to ensure that even if one function is preempted by other execution context, the other execution context does not call preempted function.
It is not allowed to call a function defined in this module while the same function is called from another preempted context. It is allowed to call any function defined in this module while any other is preempted. It is allowed to call any function defined in this module from mpsl_cx_cb_t implementation. Callback function mpsl_cx_cb_t called from this module may be called from thread or handler context. But it never preempts itself.