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
10#ifndef INFUSE_SDK_INCLUDE_INFUSE_TASK_RUNNER_RUNNER_H_
11#define INFUSE_SDK_INCLUDE_INFUSE_TASK_RUNNER_RUNNER_H_
12
13#include <stdint.h>
14
15#include <zephyr/sys/atomic.h>
16#include <zephyr/kernel.h>
17
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
41void task_runner_init(const struct task_schedule *schedules,
42 struct task_schedule_state *schedule_states, uint8_t num_schedules,
43 const struct task_config *tasks, struct task_data *task_states,
44 uint8_t num_tasks);
45
56void task_runner_iterate(atomic_t *app_states, uint32_t uptime, uint32_t gps_time,
57 uint8_t battery_charge);
58
69struct k_work_delayable *task_runner_start_auto_iterate(void);
70
77
82#ifdef __cplusplus
83}
84#endif
85
86#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.
void 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:223
Schedule for a given task.
Definition schedule.h:143
Task Runner Task API.