Infuse-IoT SDK API 0.0.1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
imu.h File Reference

IMU task. More...

Go to the source code of this file.

Data Structures

struct  imu_magnitude_array
 

Macros

#define IMU_MAG_ARRAY_TYPE_DEFINE(type_name, max_samples)
 
#define IMU_TASK(define_mem, define_config, imu_ptr)
 IMU task.
 

Functions

void imu_task_fn (const struct task_schedule *schedule, struct k_poll_signal *terminate, void *imu_dev)
 IMU task function.
 

Detailed Description

IMU task.

Author
Jordan Yates jorda.nosp@m.n@em.nosp@m.beint.nosp@m..com

SPDX-License-Identifier: FSL-1.1-ALv2

Macro Definition Documentation

◆ IMU_MAG_ARRAY_TYPE_DEFINE

#define IMU_MAG_ARRAY_TYPE_DEFINE ( type_name,
max_samples )
Value:
struct type_name { \
struct imu_sensor_meta meta; \
uint32_t magnitudes[max_samples]; \
}
Metadata for each sub-sensor in a FIFO buffer.
Definition imu.h:73

◆ IMU_TASK

#define IMU_TASK ( define_mem,
define_config,
imu_ptr )
Value:
IF_ENABLED(define_mem, \
(K_THREAD_STACK_DEFINE(imu_stack_area, CONFIG_TASK_RUNNER_TASK_IMU_STACK_SIZE); \
struct k_thread imu_thread_obj)) \
IF_ENABLED(define_config, \
({ \
.name = "imu", \
.task_id = TASK_ID_IMU, \
.exec_type = TASK_EXECUTOR_THREAD, \
.task_arg.dev = imu_ptr, \
.executor.thread = \
{ \
.thread = &imu_thread_obj, \
.task_fn = imu_task_fn, \
.stack = imu_stack_area, \
.stack_size = K_THREAD_STACK_SIZEOF(imu_stack_area), \
}, \
}))
@ TASK_ID_IMU
Definition infuse_task_ids.h:25
@ TASK_FLAG_ARG_IS_DEVICE
task_arg union is a device pointer
Definition task.h:38
@ TASK_EXECUTOR_THREAD
Task runs on its own thread.
Definition task.h:31
void imu_task_fn(const struct task_schedule *schedule, struct k_poll_signal *terminate, void *imu_dev)
IMU task function.

IMU task.

Parameters
define_memDefine memory
define_configDefine task
imu_ptrIMU device bound to task

Function Documentation

◆ imu_task_fn()

void imu_task_fn ( const struct task_schedule * schedule,
struct k_poll_signal * terminate,
void * imu_dev )

IMU task function.

Parameters
scheduleSchedule that triggered task
terminateTerminate request from task runner
imu_devIMU device to use