10#ifndef INFUSE_SDK_INCLUDE_INFUSE_TASK_RUNNER_RUNNER_H_
11#define INFUSE_SDK_INCLUDE_INFUSE_TASK_RUNNER_RUNNER_H_
15#include <zephyr/sys/atomic.h>
16#include <zephyr/kernel.h>
57 uint8_t battery_charge);
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