Infuse-IoT SDK API 0.0.1
A Scalable Open Source RTOS
|
Specialised driver API for IMU devices. More...
#include <zephyr/kernel.h>
#include <zephyr/device.h>
Go to the source code of this file.
Data Structures | |
struct | imu_config |
IMU configuration struct. More... | |
struct | imu_config_output |
Configured IMU value. More... | |
struct | imu_sample |
struct | imu_sensor_meta |
Metadata for each sub-sensor in a FIFO buffer. More... | |
struct | imu_sample_array |
FIFO read structure. More... | |
struct | infuse_imu_api |
struct | imu_linear_downsample_scaled_state |
State for imu_linear_downsample_scaled. More... | |
Macros | |
#define | IMU_SAMPLE_ARRAY_TYPE_DEFINE(type_name, max_samples) |
Create type that holds a given number of IMU samples. | |
#define | IMU_SAMPLE_ARRAY_CREATE(name, max_samples) |
Create static buffer of IMU samples suitable for use with imu_data_read. | |
Functions | |
static int | imu_configure (const struct device *dev, const struct imu_config *config, struct imu_config_output *output) |
Configure IMU for operation. | |
static int | imu_data_wait (const struct device *dev, k_timeout_t timeout) |
Wait for FIFO interrupt from IMU. | |
static int | imu_data_read (const struct device *dev, struct imu_sample_array *samples, uint16_t max_samples) |
Read samples from IMU. | |
static int | imu_self_test (const struct device *dev) |
Run self-test functionality on the IMU. | |
static int16_t | imu_accelerometer_1g (uint8_t full_scale) |
Convert a full scale range to an expected value for 1G. | |
static uint32_t | imu_sample_period (const struct imu_sensor_meta *meta) |
Get the local ticks between samples in a buffer. | |
static uint16_t | imu_sample_rate (const struct imu_sensor_meta *meta) |
Get the approximate sample rate of a buffer. | |
static k_ticks_t | imu_sample_timestamp (const struct imu_sensor_meta *meta, uint8_t sample) |
Get the local tick counter of a given sample in a buffer. | |
int | imu_linear_downsample_scaled (struct imu_linear_downsample_scaled_state *state, const struct imu_sample *input, uint16_t num_input) |
Downsample IMU samples to a new frequency using linear interpolation. | |
Specialised driver API for IMU devices.
SPDX-License-Identifier: FSL-1.1-ALv2
Driver API optimised for high datarate, FIFO buffered IMU sensors.