20#ifndef MPSL_TIMESLOT_H__
21#define MPSL_TIMESLOT_H__
32#define MPSL_TIMESLOT_LENGTH_MIN_US (100UL)
35#define MPSL_TIMESLOT_LENGTH_MAX_US (100000UL)
39#define MPSL_TIMESLOT_DISTANCE_MAX_US (256000000UL - 1UL)
42#define MPSL_TIMESLOT_EARLIEST_TIMEOUT_MAX_US (256000000UL - 1UL)
45#if defined(GRTC_PRESENT)
46#define MPSL_TIMESLOT_START_JITTER_US (0UL)
48#define MPSL_TIMESLOT_START_JITTER_US (1UL)
52#define MPSL_TIMESLOT_EXTENSION_TIME_MIN_US (200UL)
55#define MPSL_TIMESLOT_EXTENSION_PROCESSING_TIME_MAX_US (25UL)
58#define MPSL_TIMESLOT_EXTENSION_MARGIN_MIN_US (87UL)
61#define MPSL_TIMESLOT_CONTEXT_SIZE (96U)
64#define MPSL_TIMESLOT_CONTEXT_COUNT_MAX (8)
MPSL_TIMESLOT_SIGNAL_ACTION
The actions requested by the signal callback.
Definition mpsl_timeslot.h:120
@ MPSL_TIMESLOT_SIGNAL_ACTION_EXTEND
Definition mpsl_timeslot.h:122
@ MPSL_TIMESLOT_SIGNAL_ACTION_END
Definition mpsl_timeslot.h:131
@ MPSL_TIMESLOT_SIGNAL_ACTION_NONE
Definition mpsl_timeslot.h:121
@ MPSL_TIMESLOT_SIGNAL_ACTION_REQUEST
Definition mpsl_timeslot.h:134
int32_t mpsl_timeslot_session_count_set(void *p_mem, uint8_t n_sessions)
Set or update the MPSL timeslot configuration.
MPSL_TIMESLOT_PRIORITY
Timeslot event priorities.
Definition mpsl_timeslot.h:164
@ MPSL_TIMESLOT_PRIORITY_HIGH
Definition mpsl_timeslot.h:165
@ MPSL_TIMESLOT_PRIORITY_NORMAL
Definition mpsl_timeslot.h:166
MPSL_TIMESLOT_SIGNAL
The timeslot signal types.
Definition mpsl_timeslot.h:71
@ MPSL_TIMESLOT_SIGNAL_TIMER0
Definition mpsl_timeslot.h:75
@ MPSL_TIMESLOT_SIGNAL_EXTEND_SUCCEEDED
Definition mpsl_timeslot.h:86
@ MPSL_TIMESLOT_SIGNAL_INVALID_RETURN
Definition mpsl_timeslot.h:99
@ MPSL_TIMESLOT_SIGNAL_START
Definition mpsl_timeslot.h:72
@ MPSL_TIMESLOT_SIGNAL_CANCELLED
Definition mpsl_timeslot.h:93
@ MPSL_TIMESLOT_SIGNAL_BLOCKED
Definition mpsl_timeslot.h:90
@ MPSL_TIMESLOT_SIGNAL_EXTEND_FAILED
Definition mpsl_timeslot.h:83
@ MPSL_TIMESLOT_SIGNAL_SESSION_CLOSED
Definition mpsl_timeslot.h:105
@ MPSL_TIMESLOT_SIGNAL_RADIO
Definition mpsl_timeslot.h:80
@ MPSL_TIMESLOT_SIGNAL_SESSION_IDLE
Definition mpsl_timeslot.h:96
@ MPSL_TIMESLOT_SIGNAL_OVERSTAYED
Definition mpsl_timeslot.h:106
MPSL_TIMESLOT_REQUEST_TYPE
Timeslot request type.
Definition mpsl_timeslot.h:171
@ MPSL_TIMESLOT_REQ_TYPE_NORMAL
Definition mpsl_timeslot.h:177
@ MPSL_TIMESLOT_REQ_TYPE_EARLIEST
Definition mpsl_timeslot.h:172
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.
uint8_t mpsl_timeslot_session_id_t
The timeslot session id type.
Definition mpsl_timeslot.h:67
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.
Definition mpsl_timeslot.h:258
int32_t mpsl_timeslot_request(mpsl_timeslot_session_id_t session_id, mpsl_timeslot_request_t const *p_request)
Requests a timeslot.
MPSL_TIMESLOT_HFCLK_CFG
Timeslot high frequency clock source configuration.
Definition mpsl_timeslot.h:141
@ MPSL_TIMESLOT_HFCLK_CFG_XTAL_GUARANTEED
Definition mpsl_timeslot.h:142
@ MPSL_TIMESLOT_HFCLK_CFG_NO_GUARANTEE
Definition mpsl_timeslot.h:149
int32_t mpsl_timeslot_session_close(mpsl_timeslot_session_id_t session_id)
Closes a session for timeslot requests.
uint32_t length_us
Definition mpsl_timeslot.h:188
uint8_t hfclk
Definition mpsl_timeslot.h:186
uint8_t priority
Definition mpsl_timeslot.h:187
uint32_t timeout_us
Definition mpsl_timeslot.h:190
Parameters for a request for a timeslot as early as possible.
Definition mpsl_timeslot.h:185
uint8_t hfclk
Definition mpsl_timeslot.h:198
uint8_t priority
Definition mpsl_timeslot.h:199
uint32_t distance_us
Definition mpsl_timeslot.h:200
uint32_t length_us
Definition mpsl_timeslot.h:202
Parameters for a normal timeslot request.
Definition mpsl_timeslot.h:197
uint8_t request_type
Definition mpsl_timeslot.h:209
mpsl_timeslot_request_normal_t normal
Definition mpsl_timeslot.h:214
mpsl_timeslot_request_earliest_t earliest
Definition mpsl_timeslot.h:212
Timeslot request parameters.
Definition mpsl_timeslot.h:208
uint32_t length_us
Definition mpsl_timeslot.h:233
mpsl_timeslot_request_t * p_next
Definition mpsl_timeslot.h:228
uint8_t callback_action
Definition mpsl_timeslot.h:221
Return parameters of the timeslot signal callback.
Definition mpsl_timeslot.h:220