Wirepas SDK
app_scheduler.h
Go to the documentation of this file.
1/* Copyright 2018 Wirepas Ltd. All Rights Reserved.
2 *
3 * See file LICENSE.txt for full license details.
4 *
5 */
6
17#ifndef _APP_SCHEDULER_H_
18#define _APP_SCHEDULER_H_
19
20#include <stdint.h>
21#include <stdbool.h>
22#include "api.h"
23
32typedef uint32_t (*task_cb_f)();
33
37#define APP_SCHEDULER_STOP_TASK ((uint32_t)(-1))
38
42#define APP_SCHEDULER_SCHEDULE_ASAP (0)
43
62
71
113app_scheduler_res_e App_Scheduler_addTask_execTime(task_cb_f cb, uint32_t delay_ms, uint32_t exec_time_us);
114
115#ifdef APP_SCHEDULER_MAX_EXEC_TIME_US
128static inline app_scheduler_res_e App_Scheduler_addTask(task_cb_f cb, uint32_t delay_ms)
129{
130 return App_Scheduler_addTask_execTime(cb, delay_ms, APP_SCHEDULER_MAX_EXEC_TIME_US);
131}
132#endif
133
141
142#endif //_APP_SCHEDULER_H_
uint32_t(* task_cb_f)()
Task callback to be registered.
app_scheduler_res_e
List of return code.
@ APP_SCHEDULER_RES_TOO_LONG_EXECUTION_TIME
@ APP_SCHEDULER_RES_UNINITIALIZED
@ APP_SCHEDULER_RES_UNKNOWN_TASK
@ APP_SCHEDULER_RES_NO_MORE_TASK
@ APP_SCHEDULER_RES_OK
@ APP_SCHEDULER_RES_TOO_SHORT_EXECUTION_TIME
app_scheduler_res_e App_Scheduler_addTask_execTime(task_cb_f cb, uint32_t delay_ms, uint32_t exec_time_us)
Add a task.
void App_Scheduler_init(void)
Initialize scheduler.
app_scheduler_res_e App_Scheduler_cancelTask(task_cb_f cb)
Cancel a task.