Infuse-IoT SDK API 0.0.1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
runner.h
Go to the documentation of this file.
1
9
10#ifndef INFUSE_SDK_INCLUDE_INFUSE_TASK_RUNNER_RUNNER_H_
11#define INFUSE_SDK_INCLUDE_INFUSE_TASK_RUNNER_RUNNER_H_
12
13#include <stdbool.h>
14#include <stdint.h>
15
16#include <zephyr/sys/atomic.h>
17#include <zephyr/kernel.h>
18
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
31
45bool task_runner_init(const struct task_schedule *schedules,
46 struct task_schedule_state *schedule_states, uint8_t num_schedules,
47 const struct task_config *tasks, struct task_data *task_states,
48 uint8_t num_tasks);
49
60void task_runner_iterate(atomic_t *app_states, uint32_t uptime, uint32_t gps_time,
61 uint8_t battery_charge);
62
73struct k_work_delayable *task_runner_start_auto_iterate(void);
74
81
85
86#ifdef __cplusplus
87}
88#endif
89
90#endif /* INFUSE_SDK_INCLUDE_INFUSE_TASK_RUNNER_RUNNER_H_ */
uint8_t task_runner_watchdog_channel(void)
Get the watchdog channel associated with the task runner.
bool task_runner_init(const struct task_schedule *schedules, struct task_schedule_state *schedule_states, uint8_t num_schedules, const struct task_config *tasks, struct task_data *task_states, uint8_t num_tasks)
Initialise the task runner with a schedule list.
void task_runner_iterate(atomic_t *app_states, uint32_t uptime, uint32_t gps_time, uint8_t battery_charge)
Iterate the task runner.
struct k_work_delayable * task_runner_start_auto_iterate(void)
Automatically iterate the task runner.
Task Runner task scheduling.
Constant task configuration.
Definition task.h:47
Task runtime state.
Definition task.h:85
State for a given task schedule.
Definition schedule.h:263
Schedule for a given task.
Definition schedule.h:166
Task Runner Task API.