10#ifndef INFUSE_SDK_INCLUDE_INFUSE_DRIVERS_IMU_DATA_TYPES_H_
11#define INFUSE_SDK_INCLUDE_INFUSE_DRIVERS_IMU_DATA_TYPES_H_
15#include <zephyr/toolchain.h>
64#define IMU_SAMPLE_ARRAY_TYPE_DEFINE(type_name, max_samples) \
66 struct imu_sample_array header; \
67 struct imu_sample samples[max_samples]; \
71#define IMU_SAMPLE_ARRAY_CREATE(name, max_samples) \
72 IMU_SAMPLE_ARRAY_TYPE_DEFINE(_anon_t_##name, max_samples); \
73 static struct _anon_t_##name _anon_##name; \
74 static struct imu_sample_array *name = (void *)&_anon_##name
85#define IMU_MAG_ARRAY_TYPE_DEFINE(type_name, max_samples) \
87 struct imu_sensor_meta meta; \
88 uint32_t magnitudes[max_samples]; \
Definition data_types.h:77
struct imu_sensor_meta meta
Definition data_types.h:79
uint32_t magnitudes[]
Definition data_types.h:81
FIFO read structure.
Definition data_types.h:52
struct imu_sensor_meta gyroscope
Metadata for gyroscope samples.
Definition data_types.h:56
struct imu_sensor_meta accelerometer
Metadata for accelerometer samples.
Definition data_types.h:54
struct imu_sample samples[]
Linear array of all samples.
Definition data_types.h:60
struct imu_sensor_meta magnetometer
Metadata for magnetometer samples.
Definition data_types.h:58
IMU sample struct.
Definition data_types.h:28
int16_t x
Definition data_types.h:29
int16_t z
Definition data_types.h:31
int16_t y
Definition data_types.h:30