10#ifndef INFUSE_SDK_INCLUDE_INFUSE_TASK_RUNNER_TASKS_IMU_H_
11#define INFUSE_SDK_INCLUDE_INFUSE_TASK_RUNNER_TASKS_IMU_H_
13#include <zephyr/kernel.h>
48#define IMU_TASK(define_mem, define_config, imu_ptr) \
49 IF_ENABLED(define_mem, \
50 (K_THREAD_STACK_DEFINE(imu_stack_area, CONFIG_TASK_RUNNER_TASK_IMU_STACK_SIZE); \
51 struct k_thread imu_thread_obj)) \
52 IF_ENABLED(define_config, \
55 .task_id = TASK_ID_IMU, \
56 .exec_type = TASK_EXECUTOR_THREAD, \
57 .flags = TASK_FLAG_ARG_IS_DEVICE, \
58 .task_arg.dev = imu_ptr, \
61 .thread = &imu_thread_obj, \
62 .task_fn = imu_task_fn, \
63 .stack = imu_stack_area, \
64 .stack_size = K_THREAD_STACK_SIZEOF(imu_stack_area), \
Specialised driver API for IMU devices.
void imu_task_fn(const struct task_schedule *schedule, struct k_poll_signal *terminate, void *imu_dev)
IMU task function.
Autogenerated task runner task IDs.
Task Runner task scheduling.
Schedule for a given task.
Definition schedule.h:169