Smart Remote 3 nRF52 v1.2
Data Structures | Macros | Typedefs | Functions
Custom implementation of app_scheduler

A custom implementation of the app_scheduler that replaces the SDK app_scheduler. More...

Data Structures

struct  app_sched_event_t
 Scheduler event. More...
 

Macros

#define APP_SCHED_EVT_SIZE(_event_data_size)   ALIGN_NUM(sizeof(uint32_t), (offsetof(app_sched_event_t, event_data) + (_event_data_size)))
 Macro that calculates the size of event structure for the given amount of attached data.
 
#define APP_SCHED_INIT(_isched, _max_event_data_size, _pool_size)
 Initialize SDK scheduler emulation. More...
 

Typedefs

typedef void(* app_sched_event_handler_t )(void *p_event_data, uint16_t event_data_size)
 Scheduler event handler type.
 

Functions

uint32_t app_sched_event_put (void *p_event_data, uint16_t event_size, app_sched_event_handler_t handler)
 Function for scheduling an event. More...
 
uint8_t app_sched_get_max_utilization (void)
 Get maximum scheduler utilization. More...
 
uint32_t app_sched_init (app_isched_t *p_isched, const nrf_balloc_t *p_pool, unsigned int max_event_data_size)
 Initialize SDK scheduler emmulation. More...
 

Detailed Description

A custom implementation of the app_scheduler that replaces the SDK app_scheduler.

Macro Definition Documentation

#define APP_SCHED_INIT (   _isched,
  _max_event_data_size,
  _pool_size 
)
Value:
do { \
NRF_BALLOC_DEF(__app_scheduler_event_pool, \
APP_SCHED_EVT_SIZE(_max_event_data_size), \
_pool_size); \
APP_ERROR_CHECK(nrf_balloc_init(&__app_scheduler_event_pool)); \
APP_ERROR_CHECK(app_sched_init((_isched), \
&__app_scheduler_event_pool, \
(_max_event_data_size))); \
} while (0)

Initialize SDK scheduler emulation.

Parameters
[in]_ischedInstance of app_isched used to manage app_scheduler events.
[in]_max_event_data_sizeMaximum size of data attached to event.
[in]_pool_sizeEvent pool size.

Function Documentation

uint32_t app_sched_event_put ( void *  p_event_data,
uint16_t  event_size,
app_sched_event_handler_t  handler 
)

Function for scheduling an event.

Puts an event into the event queue.

Parameters
[in]p_event_dataPointer to event data that is to be scheduled.
[in]event_sizeSize of event data that is to be scheduled.
[in]handlerEvent handler that will receive the event.
Returns
NRF_SUCCESS on success, otherwise an error code.
uint8_t app_sched_get_max_utilization ( void  )

Get maximum scheduler utilization.

Returns
Maximum number of events stored in the scheduler.
uint32_t app_sched_init ( app_isched_t p_isched,
const nrf_balloc_t *  p_pool,
unsigned int  max_event_data_size 
)

Initialize SDK scheduler emmulation.

Note
This is internal function. Use of APP_SCHED_INIT() macro is recommended.
Parameters
[in]p_ischedInstance of app_isched used to manage app_scheduler events.
[in]p_poolInstance of app_balloc_pool used to store events.
[in]max_event_data_sizeMaximum size of data attached to event.
Returns
NRF_SUCCESS on success, otherwise an error code.

Documentation feedback | Developer Zone | Subscribe | Updated