Smart Remote 3 nRF52 v1.2
app_scheduler.h
1 /*$$$LICENCE_NORDIC_STANDARD<2016>$$$*/
2 
3 #ifndef APP_SCHEDULER_H__
4 #define APP_SCHEDULER_H__
5 
6 #include <stdint.h>
7 #include "nrf_balloc.h"
8 #include "app_error.h"
9 #include "app_isched.h"
10 
19 typedef void (*app_sched_event_handler_t)(void *p_event_data, uint16_t event_data_size);
20 
22 typedef struct
23 {
25  unsigned int event_data_size;
27  // This field must be the last one in the struture.
28  uint32_t event_data[1];
30 
32 #define APP_SCHED_EVT_SIZE(_event_data_size) \
33  ALIGN_NUM(sizeof(uint32_t), (offsetof(app_sched_event_t, event_data) + (_event_data_size)))
34 
41 #define APP_SCHED_INIT(_isched, _max_event_data_size, _pool_size) \
42  do { \
43  NRF_BALLOC_DEF(__app_scheduler_event_pool, \
44  APP_SCHED_EVT_SIZE(_max_event_data_size), \
45  _pool_size); \
46  \
47  APP_ERROR_CHECK(nrf_balloc_init(&__app_scheduler_event_pool)); \
48  APP_ERROR_CHECK(app_sched_init((_isched), \
49  &__app_scheduler_event_pool, \
50  (_max_event_data_size))); \
51  } while (0)
52 
63 uint32_t app_sched_init(app_isched_t *p_isched,
64  const nrf_balloc_t *p_pool,
65  unsigned int max_event_data_size);
66 
77 uint32_t app_sched_event_put(void * p_event_data,
78  uint16_t event_size,
80 
85 uint8_t app_sched_get_max_utilization(void);
86 
87 #endif // APP_SCHEDULER_H__
88 

Documentation feedback | Developer Zone | Subscribe | Updated