c6dofimu25  2.1.0.0
Data Structures | Macros | Typedefs | Enumerations | Functions
c6dofimu25.h File Reference

This file contains API for 6DOF IMU 25 Click Driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_i2c_master.h"
#include "drv_spi_master.h"
#include "spi_specifics.h"

Go to the source code of this file.

Data Structures

struct  c6dofimu25_s
 6DOF IMU 25 Click context object. More...
 
struct  c6dofimu25_cfg_t
 6DOF IMU 25 Click configuration object. More...
 
struct  c6dofimu25_axes_t
 6DOF IMU 25 Click axes data structure. More...
 
struct  c6dofimu25_data_t
 6DOF IMU 25 Click data structure. More...
 

Macros

#define C6DOFIMU25_REG_FUNC_CFG_ACCESS   0x01
 6DOF IMU 25 user memory register list. More...
 
#define C6DOFIMU25_REG_PIN_CTRL   0x02
 
#define C6DOFIMU25_REG_IF_CFG   0x03
 
#define C6DOFIMU25_REG_FIFO_CTRL1   0x07
 
#define C6DOFIMU25_REG_FIFO_CTRL2   0x08
 
#define C6DOFIMU25_REG_FIFO_CTRL3   0x09
 
#define C6DOFIMU25_REG_FIFO_CTRL4   0x0A
 
#define C6DOFIMU25_REG_COUNTER_BDR_1   0x0B
 
#define C6DOFIMU25_REG_COUNTER_BDR_2   0x0C
 
#define C6DOFIMU25_REG_INT1_CTRL   0x0D
 
#define C6DOFIMU25_REG_INT2_CTRL   0x0E
 
#define C6DOFIMU25_REG_WHO_AM_I   0x0F
 
#define C6DOFIMU25_REG_CTRL1   0x10
 
#define C6DOFIMU25_REG_CTRL2   0x11
 
#define C6DOFIMU25_REG_CTRL3   0x12
 
#define C6DOFIMU25_REG_CTRL4   0x13
 
#define C6DOFIMU25_REG_CTRL5   0x14
 
#define C6DOFIMU25_REG_CTRL6   0x15
 
#define C6DOFIMU25_REG_CTRL7   0x16
 
#define C6DOFIMU25_REG_CTRL8   0x17
 
#define C6DOFIMU25_REG_CTRL9   0x18
 
#define C6DOFIMU25_REG_CTRL10   0x19
 
#define C6DOFIMU25_REG_CTRL_STATUS   0x1A
 
#define C6DOFIMU25_REG_FIFO_STATUS1   0x1B
 
#define C6DOFIMU25_REG_FIFO_STATUS2   0x1C
 
#define C6DOFIMU25_REG_ALL_INT_SRC   0x1D
 
#define C6DOFIMU25_REG_STATUS   0x1E
 
#define C6DOFIMU25_REG_OUT_TEMP_L   0x20
 
#define C6DOFIMU25_REG_OUT_TEMP_H   0x21
 
#define C6DOFIMU25_REG_OUTX_L_G   0x22
 
#define C6DOFIMU25_REG_OUTX_H_G   0x23
 
#define C6DOFIMU25_REG_OUTY_L_G   0x24
 
#define C6DOFIMU25_REG_OUTY_H_G   0x25
 
#define C6DOFIMU25_REG_OUTZ_L_G   0x26
 
#define C6DOFIMU25_REG_OUTZ_H_G   0x27
 
#define C6DOFIMU25_REG_OUTZ_L_A   0x28
 
#define C6DOFIMU25_REG_OUTZ_H_A   0x29
 
#define C6DOFIMU25_REG_OUTY_L_A   0x2A
 
#define C6DOFIMU25_REG_OUTY_H_A   0x2B
 
#define C6DOFIMU25_REG_OUTX_L_A   0x2C
 
#define C6DOFIMU25_REG_OUTX_H_A   0x2D
 
#define C6DOFIMU25_REG_UI_OUTZ_L_A_DUALC   0x34
 
#define C6DOFIMU25_REG_UI_OUTZ_H_A_DUALC   0x35
 
#define C6DOFIMU25_REG_UI_OUTY_L_A_DUALC   0x36
 
#define C6DOFIMU25_REG_UI_OUTY_H_A_DUALC   0x37
 
#define C6DOFIMU25_REG_UI_OUTX_L_A_DUALC   0x38
 
#define C6DOFIMU25_REG_UI_OUTX_H_A_DUALC   0x39
 
#define C6DOFIMU25_REG_AH_BIO_OUT_L   0x3A
 
#define C6DOFIMU25_REG_AH_BIO_OUT_H   0x3B
 
#define C6DOFIMU25_REG_TIMESTAMP0   0x40
 
#define C6DOFIMU25_REG_TIMESTAMP1   0x41
 
#define C6DOFIMU25_REG_TIMESTAMP2   0x42
 
#define C6DOFIMU25_REG_TIMESTAMP3   0x43
 
#define C6DOFIMU25_REG_WAKE_UP_SRC   0x45
 
#define C6DOFIMU25_REG_TAP_SRC   0x46
 
#define C6DOFIMU25_REG_D6D_SRC   0x47
 
#define C6DOFIMU25_REG_EMB_FUNC_STATUS_MAINPAGE   0x49
 
#define C6DOFIMU25_REG_FSM_STATUS_MAINPAGE   0x4A
 
#define C6DOFIMU25_REG_MLC_STATUS_MAINPAGE   0x4B
 
#define C6DOFIMU25_REG_INTERNAL_FREQ_FINE   0x4F
 
#define C6DOFIMU25_REG_FUNCTIONS_ENABLE   0x50
 
#define C6DOFIMU25_REG_INACTIVITY_DUR   0x54
 
#define C6DOFIMU25_REG_INACTIVITY_THS   0x55
 
#define C6DOFIMU25_REG_TAP_CFG0   0x56
 
#define C6DOFIMU25_REG_TAP_CFG1   0x57
 
#define C6DOFIMU25_REG_TAP_CFG2   0x58
 
#define C6DOFIMU25_REG_TAP_THS_6D   0x59
 
#define C6DOFIMU25_REG_TAP_DUR   0x5A
 
#define C6DOFIMU25_REG_WAKE_UP_THS   0x5B
 
#define C6DOFIMU25_REG_WAKE_UP_DUR   0x5C
 
#define C6DOFIMU25_REG_FREE_FALL   0x5D
 
#define C6DOFIMU25_REG_MD1_CFG   0x5E
 
#define C6DOFIMU25_REG_MD2_CFG   0x5F
 
#define C6DOFIMU25_REG_EMB_FUNC_CFG   0x63
 
#define C6DOFIMU25_REG_X_OFS_USR   0x73
 
#define C6DOFIMU25_REG_Y_OFS_USR   0x74
 
#define C6DOFIMU25_REG_Z_OFS_USR   0x75
 
#define C6DOFIMU25_REG_FIFO_DATA_OUT_TAG   0x78
 
#define C6DOFIMU25_REG_FIFO_DATA_OUT_BYTE_0   0x79
 
#define C6DOFIMU25_REG_FIFO_DATA_OUT_BYTE_1   0x7A
 
#define C6DOFIMU25_REG_FIFO_DATA_OUT_BYTE_2   0x7B
 
#define C6DOFIMU25_REG_FIFO_DATA_OUT_BYTE_3   0x7C
 
#define C6DOFIMU25_REG_FIFO_DATA_OUT_BYTE_4   0x7D
 
#define C6DOFIMU25_REG_FIFO_DATA_OUT_BYTE_5   0x7E
 
#define C6DOFIMU25_REG_EMBF_PAGE_SEL   0x02
 6DOF IMU 25 embedded functions register list. More...
 
#define C6DOFIMU25_REG_EMBF_EMB_FUNC_EN_A   0x04
 
#define C6DOFIMU25_REG_EMBF_EMB_FUNC_EN_B   0x05
 
#define C6DOFIMU25_REG_EMBF_EMB_FUNC_EXEC_STATUS   0x07
 
#define C6DOFIMU25_REG_EMBF_PAGE_ADDRESS   0x08
 
#define C6DOFIMU25_REG_EMBF_PAGE_VALUE   0x09
 
#define C6DOFIMU25_REG_EMBF_EMB_FUNC_INT1   0x0A
 
#define C6DOFIMU25_REG_EMBF_FSM_INT1   0x0B
 
#define C6DOFIMU25_REG_EMBF_MLC_INT1   0x0D
 
#define C6DOFIMU25_REG_EMBF_EMB_FUNC_INT2   0x0E
 
#define C6DOFIMU25_REG_EMBF_FSM_INT2   0x0F
 
#define C6DOFIMU25_REG_EMBF_MLC_INT2   0x11
 
#define C6DOFIMU25_REG_EMBF_EMB_FUNC_STATUS   0x12
 
#define C6DOFIMU25_REG_EMBF_FSM_STATUS   0x13
 
#define C6DOFIMU25_REG_EMBF_MLC_STATUS   0x15
 
#define C6DOFIMU25_REG_EMBF_PAGE_RW   0x17
 
#define C6DOFIMU25_REG_EMBF_EMB_FUNC_FIFO_EN_A   0x44
 
#define C6DOFIMU25_REG_EMBF_EMB_FUNC_FIFO_EN_B   0x45
 
#define C6DOFIMU25_REG_EMBF_FSM_ENABLE   0x46
 
#define C6DOFIMU25_REG_EMBF_FSM_LONG_COUNTER_L   0x48
 
#define C6DOFIMU25_REG_EMBF_FSM_LONG_COUNTER_H   0x49
 
#define C6DOFIMU25_REG_EMBF_INT_ACK_MASK   0x4B
 
#define C6DOFIMU25_REG_EMBF_FSM_OUTS1   0x4C
 
#define C6DOFIMU25_REG_EMBF_FSM_OUTS2   0x4D
 
#define C6DOFIMU25_REG_EMBF_FSM_OUTS3   0x4E
 
#define C6DOFIMU25_REG_EMBF_FSM_OUTS4   0x4F
 
#define C6DOFIMU25_REG_EMBF_FSM_OUTS5   0x50
 
#define C6DOFIMU25_REG_EMBF_FSM_OUTS6   0x51
 
#define C6DOFIMU25_REG_EMBF_FSM_OUTS7   0x52
 
#define C6DOFIMU25_REG_EMBF_FSM_OUTS8   0x53
 
#define C6DOFIMU25_REG_EMBF_SFLP_ODR   0x5E
 
#define C6DOFIMU25_REG_EMBF_FSM_ODR   0x5F
 
#define C6DOFIMU25_REG_EMBF_MLC_ODR   0x60
 
#define C6DOFIMU25_REG_EMBF_STEP_COUNTER_L   0x62
 
#define C6DOFIMU25_REG_EMBF_STEP_COUNTER_H   0x63
 
#define C6DOFIMU25_REG_EMBF_EMB_FUNC_SRC   0x64
 
#define C6DOFIMU25_REG_EMBF_EMB_FUNC_INIT_A   0x66
 
#define C6DOFIMU25_REG_EMBF_EMB_FUNC_INIT_B   0x67
 
#define C6DOFIMU25_REG_EMBF_MLC1_SRC   0x70
 
#define C6DOFIMU25_REG_EMBF_MLC2_SRC   0x71
 
#define C6DOFIMU25_REG_EMBF_MLC3_SRC   0x72
 
#define C6DOFIMU25_REG_EMBF_MLC4_SRC   0x73
 
#define C6DOFIMU25_REG_EMBAF0_SFLP_GAME_GBIASX_L   0x6E
 6DOF IMU 25 embedded advanced features register list. More...
 
#define C6DOFIMU25_REG_EMBAF0_SFLP_GAME_GBIASX_H   0x6F
 
#define C6DOFIMU25_REG_EMBAF0_SFLP_GAME_GBIASY_L   0x70
 
#define C6DOFIMU25_REG_EMBAF0_SFLP_GAME_GBIASY_H   0x71
 
#define C6DOFIMU25_REG_EMBAF0_SFLP_GAME_GBIASZ_L   0x72
 
#define C6DOFIMU25_REG_EMBAF0_SFLP_GAME_GBIASZ_H   0x73
 
#define C6DOFIMU25_REG_EMBAF0_FSM_BIO_SENSITIVITY_L   0xBA
 
#define C6DOFIMU25_REG_EMBAF0_FSM_BIO_SENSITIVITY_H   0xBB
 
#define C6DOFIMU25_REG_EMBAF1_FSM_LC_TIMEOUT_L   0x7A
 
#define C6DOFIMU25_REG_EMBAF1_FSM_LC_TIMEOUT_H   0x7B
 
#define C6DOFIMU25_REG_EMBAF1_FSM_PROGRAMS   0x7C
 
#define C6DOFIMU25_REG_EMBAF1_FSM_START_ADD_L   0x7E
 
#define C6DOFIMU25_REG_EMBAF1_FSM_START_ADD_H   0x7F
 
#define C6DOFIMU25_REG_EMBAF1_PEDO_CMD   0x83
 
#define C6DOFIMU25_REG_EMBAF1_PEDO_DEB_STEPS_CONF   0x84
 
#define C6DOFIMU25_REG_EMBAF1_PEDO_SC_DELTAT_L   0xD0
 
#define C6DOFIMU25_REG_EMBAF1_PEDO_SC_DELTAT_H   0xD1
 
#define C6DOFIMU25_REG_EMBAF1_MLC_BIO_SENSITIVITY_L   0xE8
 
#define C6DOFIMU25_REG_EMBAF1_MLC_BIO_SENSITIVITY_H   0xE9
 
#define C6DOFIMU25_FUNC_CFG_ACCESS_EMBF_MASK   0x80
 6DOF IMU 25 FUNC_CFG_ACCESS register setting. More...
 
#define C6DOFIMU25_FUNC_CFG_ACCESS_FSM_WR_CTRL_EN   0x08
 
#define C6DOFIMU25_FUNC_CFG_ACCESS_SW_POR   0x04
 
#define C6DOFIMU25_INT1_CTRL_CNT_BDR   0x40
 6DOF IMU 25 INT1_CTRL register setting. More...
 
#define C6DOFIMU25_INT1_CTRL_FIFO_FULL   0x20
 
#define C6DOFIMU25_INT1_CTRL_FIFO_OVR   0x10
 
#define C6DOFIMU25_INT1_CTRL_FIFO_TH   0x08
 
#define C6DOFIMU25_INT1_CTRL_DRDY_G   0x02
 
#define C6DOFIMU25_INT1_CTRL_DRDY_XL   0x01
 
#define C6DOFIMU25_WHO_AM_I   0x71
 6DOF IMU 25 WHO_AM_I register setting. More...
 
#define C6DOFIMU25_CTRL1_OP_MODE_XL_MASK   0x70
 6DOF IMU 25 CTRL1 register setting. More...
 
#define C6DOFIMU25_CTRL1_ODR_XL_MASK   0x0F
 
#define C6DOFIMU25_CTRL2_OP_MODE_G_MASK   0x70
 6DOF IMU 25 CTRL2 register setting. More...
 
#define C6DOFIMU25_CTRL2_ODR_G_MASK   0x0F
 
#define C6DOFIMU25_CTRL3_BOOT   0x80
 6DOF IMU 25 CTRL3 register setting. More...
 
#define C6DOFIMU25_CTRL3_BDU   0x40
 
#define C6DOFIMU25_CTRL3_IF_INC   0x04
 
#define C6DOFIMU25_CTRL3_SW_RESET   0x01
 
#define C6DOFIMU25_CTRL6_LPF1_G_BW_MASK   0x70
 6DOF IMU 25 CTRL6 register setting. More...
 
#define C6DOFIMU25_CTRL6_FS_G_125DPS   0x00
 
#define C6DOFIMU25_CTRL6_FS_G_250DPS   0x01
 
#define C6DOFIMU25_CTRL6_FS_G_500DPS   0x02
 
#define C6DOFIMU25_CTRL6_FS_G_1000DPS   0x03
 
#define C6DOFIMU25_CTRL6_FS_G_2000DPS   0x04
 
#define C6DOFIMU25_CTRL6_FS_G_4000DPS   0x0C
 
#define C6DOFIMU25_CTRL6_FS_G_MASK   0x0F
 
#define C6DOFIMU25_CTRL8_HP_LPF2_XL_BW_MASK   0xE0
 6DOF IMU 25 CTRL8 register setting. More...
 
#define C6DOFIMU25_CTRL8_AH_BIO_HPF_MASK   0x10
 
#define C6DOFIMU25_CTRL8_HL_DUALC_EN_MASK   0x08
 
#define C6DOFIMU25_CTRL8_FS_XL_MASK   0x03
 
#define C6DOFIMU25_STATUS_TIMESTAMP_ENDCOUNT   0x80
 6DOF IMU 25 STATUS register setting. More...
 
#define C6DOFIMU25_STATUS_AH_BIODA   0x08
 
#define C6DOFIMU25_STATUS_TDA   0x04
 
#define C6DOFIMU25_STATUS_GDA   0x02
 
#define C6DOFIMU25_STATUS_XLDA   0x01
 
#define C6DOFIMU25_MEM_BANK_USER   0
 6DOF IMU 25 memory bank setting. More...
 
#define C6DOFIMU25_MEM_BANK_EMBEDDED_FUNC   1
 
#define C6DOFIMU25_ACCEL_ODR_OFF   0
 6DOF IMU 25 accel output data rate setting. More...
 
#define C6DOFIMU25_ACCEL_ODR_1_875_HZ   1
 
#define C6DOFIMU25_ACCEL_ODR_7_5_HZ   2
 
#define C6DOFIMU25_ACCEL_ODR_15_HZ   3
 
#define C6DOFIMU25_ACCEL_ODR_30_HZ   4
 
#define C6DOFIMU25_ACCEL_ODR_60_HZ   5
 
#define C6DOFIMU25_ACCEL_ODR_120_HZ   6
 
#define C6DOFIMU25_ACCEL_ODR_240_HZ   7
 
#define C6DOFIMU25_ACCEL_ODR_480_HZ   8
 
#define C6DOFIMU25_ACCEL_ODR_960_HZ   9
 
#define C6DOFIMU25_ACCEL_ODR_1920_HZ   10
 
#define C6DOFIMU25_ACCEL_ODR_3840_HZ   11
 
#define C6DOFIMU25_ACCEL_ODR_7680_HZ   12
 
#define C6DOFIMU25_ACCEL_FS_2G   0
 6DOF IMU 25 accel full scale setting. More...
 
#define C6DOFIMU25_ACCEL_FS_4G   1
 
#define C6DOFIMU25_ACCEL_FS_8G   2
 
#define C6DOFIMU25_ACCEL_FS_16G   3
 
#define C6DOFIMU25_GYRO_ODR_OFF   0
 6DOF IMU 25 gyro output data rate setting. More...
 
#define C6DOFIMU25_GYRO_ODR_7_5_HZ   2
 
#define C6DOFIMU25_GYRO_ODR_15_HZ   3
 
#define C6DOFIMU25_GYRO_ODR_30_HZ   4
 
#define C6DOFIMU25_GYRO_ODR_60_HZ   5
 
#define C6DOFIMU25_GYRO_ODR_120_HZ   6
 
#define C6DOFIMU25_GYRO_ODR_240_HZ   7
 
#define C6DOFIMU25_GYRO_ODR_480_HZ   8
 
#define C6DOFIMU25_GYRO_ODR_960_HZ   9
 
#define C6DOFIMU25_GYRO_ODR_1920_HZ   10
 
#define C6DOFIMU25_GYRO_ODR_3840_HZ   11
 
#define C6DOFIMU25_GYRO_ODR_7680_HZ   12
 
#define C6DOFIMU25_GYRO_FS_125DPS   0
 6DOF IMU 25 gyro full scale setting. More...
 
#define C6DOFIMU25_GYRO_FS_250DPS   1
 
#define C6DOFIMU25_GYRO_FS_500DPS   2
 
#define C6DOFIMU25_GYRO_FS_1000DPS   3
 
#define C6DOFIMU25_GYRO_FS_2000DPS   4
 
#define C6DOFIMU25_GYRO_FS_4000DPS   5
 
#define C6DOFIMU25_ACCEL_SENS_G_PER_LSB   0.000061
 6DOF IMU 25 sensitivity setting. More...
 
#define C6DOFIMU25_GYRO_SENS_DPS_PER_LSB   0.004375
 
#define C6DOFIMU25_TEMP_SENS_LSB_PER_C   256.0
 
#define C6DOFIMU25_TEMP_OFFSET   25.0
 
#define C6DOFIMU25_DEVICE_ADDRESS_0   0x6A
 6DOF IMU 25 device address setting. More...
 
#define C6DOFIMU25_DEVICE_ADDRESS_1   0x6B
 
#define C6DOFIMU25_SET_DATA_SAMPLE_EDGE   SET_SPI_DATA_SAMPLE_EDGE
 Data sample selection. More...
 
#define C6DOFIMU25_SET_DATA_SAMPLE_MIDDLE   SET_SPI_DATA_SAMPLE_MIDDLE
 
#define C6DOFIMU25_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping. More...
 

Typedefs

typedef err_t(* c6dofimu25_master_io_t) (struct c6dofimu25_s *, uint8_t, uint8_t *, uint8_t)
 
typedef struct c6dofimu25_s c6dofimu25_t
 6DOF IMU 25 Click context object. More...
 

Enumerations

enum  c6dofimu25_drv_t { C6DOFIMU25_DRV_SEL_SPI, C6DOFIMU25_DRV_SEL_I2C }
 6DOF IMU 25 Click driver selector. More...
 
enum  c6dofimu25_return_value_t { C6DOFIMU25_OK = 0, C6DOFIMU25_ERROR = -1 }
 6DOF IMU 25 Click return value data. More...
 

Functions

void c6dofimu25_cfg_setup (c6dofimu25_cfg_t *cfg)
 6DOF IMU 25 configuration object setup function. More...
 
void c6dofimu25_drv_interface_sel (c6dofimu25_cfg_t *cfg, c6dofimu25_drv_t drv_sel)
 6DOF IMU 25 driver interface setup function. More...
 
err_t c6dofimu25_init (c6dofimu25_t *ctx, c6dofimu25_cfg_t *cfg)
 6DOF IMU 25 initialization function. More...
 
err_t c6dofimu25_default_cfg (c6dofimu25_t *ctx)
 6DOF IMU 25 default configuration function. More...
 
err_t c6dofimu25_write_reg (c6dofimu25_t *ctx, uint8_t reg, uint8_t data_in)
 6DOF IMU 25 write reg function. More...
 
err_t c6dofimu25_write_regs (c6dofimu25_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
 6DOF IMU 25 write regs function. More...
 
err_t c6dofimu25_read_reg (c6dofimu25_t *ctx, uint8_t reg, uint8_t *data_out)
 6DOF IMU 25 read reg function. More...
 
err_t c6dofimu25_read_regs (c6dofimu25_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
 6DOF IMU 25 read regs function. More...
 
uint8_t c6dofimu25_get_int1_pin (c6dofimu25_t *ctx)
 6DOF IMU 25 get int1 pin function. More...
 
uint8_t c6dofimu25_get_int2_pin (c6dofimu25_t *ctx)
 6DOF IMU 25 get int2 pin function. More...
 
err_t c6dofimu25_check_communication (c6dofimu25_t *ctx)
 6DOF IMU 25 check communication function. More...
 
err_t c6dofimu25_set_mem_bank (c6dofimu25_t *ctx, uint8_t mem_bank)
 6DOF IMU 25 set mem bank function. More...
 
err_t c6dofimu25_sw_reset (c6dofimu25_t *ctx)
 6DOF IMU 25 sw reset function. More...
 
err_t c6dofimu25_set_accel_odr (c6dofimu25_t *ctx, uint8_t odr)
 6DOF IMU 25 set accel odr function. More...
 
err_t c6dofimu25_set_gyro_odr (c6dofimu25_t *ctx, uint8_t odr)
 6DOF IMU 25 set gyro odr function. More...
 
err_t c6dofimu25_set_accel_fsr (c6dofimu25_t *ctx, uint8_t fsr)
 6DOF IMU 25 set accel fsr function. More...
 
err_t c6dofimu25_set_gyro_fsr (c6dofimu25_t *ctx, uint8_t fsr)
 6DOF IMU 25 set gyro fsr function. More...
 
err_t c6dofimu25_get_accel_drdy (c6dofimu25_t *ctx, uint8_t *drdy)
 6DOF IMU 25 get accel drdy function. More...
 
err_t c6dofimu25_get_gyro_drdy (c6dofimu25_t *ctx, uint8_t *drdy)
 6DOF IMU 25 get gyro drdy function. More...
 
err_t c6dofimu25_get_temp_drdy (c6dofimu25_t *ctx, uint8_t *drdy)
 6DOF IMU 25 get temp drdy function. More...
 
err_t c6dofimu25_get_accel (c6dofimu25_t *ctx, c6dofimu25_axes_t *accel)
 6DOF IMU 25 get accel function. More...
 
err_t c6dofimu25_get_gyro (c6dofimu25_t *ctx, c6dofimu25_axes_t *gyro)
 6DOF IMU 25 get gyro function. More...
 
err_t c6dofimu25_get_temp (c6dofimu25_t *ctx, float *temp)
 6DOF IMU 25 get temp function. More...
 
err_t c6dofimu25_get_data (c6dofimu25_t *ctx, c6dofimu25_data_t *data_out)
 6DOF IMU 25 get data function. More...
 

Detailed Description

This file contains API for 6DOF IMU 25 Click Driver.

Typedef Documentation

◆ c6dofimu25_master_io_t

typedef err_t( * c6dofimu25_master_io_t) (struct c6dofimu25_s *, uint8_t, uint8_t *, uint8_t)

Driver serial interface.

◆ c6dofimu25_t

typedef struct c6dofimu25_s c6dofimu25_t

6DOF IMU 25 Click context object.

Context object definition of 6DOF IMU 25 Click driver.

Enumeration Type Documentation

◆ c6dofimu25_drv_t

6DOF IMU 25 Click driver selector.

Selects target driver interface of 6DOF IMU 25 Click driver.

Enumerator
C6DOFIMU25_DRV_SEL_SPI 

SPI driver descriptor.

C6DOFIMU25_DRV_SEL_I2C 

I2C driver descriptor.

◆ c6dofimu25_return_value_t

6DOF IMU 25 Click return value data.

Predefined enum values for driver return values.

Enumerator
C6DOFIMU25_OK 
C6DOFIMU25_ERROR