nrfxlib API 0.1.0
Loading...
Searching...
No Matches

Data Structures

struct  mpsl_timeslot_request_earliest_t
 Parameters for a request for a timeslot as early as possible. More...
 
struct  mpsl_timeslot_request_normal_t
 Parameters for a normal timeslot request. More...
 
struct  mpsl_timeslot_request_t
 Timeslot request parameters. More...
 
struct  mpsl_timeslot_signal_return_param_t
 Return parameters of the timeslot signal callback. More...
 

Macros

#define MPSL_TIMESLOT_LENGTH_MIN_US   (100UL)
 The shortest allowed timeslot event in microseconds.
 
#define MPSL_TIMESLOT_LENGTH_MAX_US   (100000UL)
 The longest allowed timeslot event in microseconds.
 
#define MPSL_TIMESLOT_DISTANCE_MAX_US   (256000000UL - 1UL)
 The longest timeslot distance in microseconds allowed for the distance parameter see mpsl_timeslot_request_normal_t.
 
#define MPSL_TIMESLOT_EARLIEST_TIMEOUT_MAX_US   (256000000UL - 1UL)
 The longest timeout in microseconds allowed when requesting the earliest possible timeslot.
 
#define MPSL_TIMESLOT_START_JITTER_US   (1UL)
 The maximum jitter in MPSL_TIMESLOT_SIGNAL_START relative to the requested start time.
 
#define MPSL_TIMESLOT_EXTENSION_TIME_MIN_US   (200UL)
 The minimum allowed timeslot extension time.
 
#define MPSL_TIMESLOT_EXTENSION_PROCESSING_TIME_MAX_US   (25UL)
 The maximum processing time to handle a timeslot extension.
 
#define MPSL_TIMESLOT_EXTENSION_MARGIN_MIN_US   (87UL)
 The latest time before the end of a timeslot when timeslot can be extended.
 
#define MPSL_TIMESLOT_CONTEXT_SIZE   (48)
 Size of a single timeslot context.
 
#define MPSL_TIMESLOT_CONTEXT_COUNT_MAX   (8)
 Maximum number of timeslot sessions.
 

Typedefs

typedef uint8_t mpsl_timeslot_session_id_t
 The timeslot session id type.
 
typedef mpsl_timeslot_signal_return_param_t *(* mpsl_timeslot_callback_t) (mpsl_timeslot_session_id_t session_id, uint32_t signal)
 The timeslot signal callback type.
 

Enumerations

enum  MPSL_TIMESLOT_SIGNAL {
  MPSL_TIMESLOT_SIGNAL_START = 0 , MPSL_TIMESLOT_SIGNAL_TIMER0 = 1 , MPSL_TIMESLOT_SIGNAL_RADIO = 2 , MPSL_TIMESLOT_SIGNAL_EXTEND_FAILED = 3 ,
  MPSL_TIMESLOT_SIGNAL_EXTEND_SUCCEEDED = 4 , MPSL_TIMESLOT_SIGNAL_BLOCKED = 5 , MPSL_TIMESLOT_SIGNAL_CANCELLED = 6 , MPSL_TIMESLOT_SIGNAL_SESSION_IDLE = 7 ,
  MPSL_TIMESLOT_SIGNAL_INVALID_RETURN = 8 , MPSL_TIMESLOT_SIGNAL_SESSION_CLOSED = 9 , MPSL_TIMESLOT_SIGNAL_OVERSTAYED = 10
}
 The timeslot signal types. More...
 
enum  MPSL_TIMESLOT_SIGNAL_ACTION { MPSL_TIMESLOT_SIGNAL_ACTION_NONE = 0 , MPSL_TIMESLOT_SIGNAL_ACTION_EXTEND = 1 , MPSL_TIMESLOT_SIGNAL_ACTION_END = 2 , MPSL_TIMESLOT_SIGNAL_ACTION_REQUEST = 3 }
 The actions requested by the signal callback. More...
 
enum  MPSL_TIMESLOT_HFCLK_CFG { MPSL_TIMESLOT_HFCLK_CFG_XTAL_GUARANTEED = 0 , MPSL_TIMESLOT_HFCLK_CFG_NO_GUARANTEE = 1 }
 Timeslot high frequency clock source configuration. More...
 
enum  MPSL_TIMESLOT_PRIORITY { MPSL_TIMESLOT_PRIORITY_HIGH = 0 , MPSL_TIMESLOT_PRIORITY_NORMAL = 1 }
 Timeslot event priorities. More...
 
enum  MPSL_TIMESLOT_REQUEST_TYPE { MPSL_TIMESLOT_REQ_TYPE_EARLIEST = 0 , MPSL_TIMESLOT_REQ_TYPE_NORMAL = 1 }
 Timeslot request type. More...
 

Functions

int32_t mpsl_timeslot_session_count_set (void *p_mem, uint8_t n_sessions)
 Set or update the MPSL timeslot configuration.
 
int32_t mpsl_timeslot_session_open (mpsl_timeslot_callback_t mpsl_timeslot_signal_callback, mpsl_timeslot_session_id_t *p_session_id)
 Opens a session for timeslot requests.
 
int32_t mpsl_timeslot_session_close (mpsl_timeslot_session_id_t session_id)
 Closes a session for timeslot requests.
 
int32_t mpsl_timeslot_request (mpsl_timeslot_session_id_t session_id, mpsl_timeslot_request_t const *p_request)
 Requests a timeslot.
 

Detailed Description

The Timeslot interface allows the application to run another radio protocol concurrently with Bluetooth LE activity. When a timeslot is granted, the application has exclusive access to the normally blocked RADIO, TIMER0, CCM, and AAR peripherals. The application can use the peripherals freely for the duration of the timeslot.