c6dofimu22 2.1.0.0
c6dofimu22.h File Reference

This file contains API for 6DOF IMU 22 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  c6dofimu22_s
 6DOF IMU 22 Click context object. More...
 
struct  c6dofimu22_cfg_t
 6DOF IMU 22 Click configuration object. More...
 
struct  c6dofimu22_axes_t
 6DOF IMU 22 Click axes data structure. More...
 
struct  c6dofimu22_data_t
 6DOF IMU 22 Click data structure. More...
 

Macros

#define C6DOFIMU22_REG0_MCLK_RDY   0x00
 6DOF IMU 22 USER BANK 0 register map summary.
 
#define C6DOFIMU22_REG0_DEVICE_CONFIG   0x01
 
#define C6DOFIMU22_REG0_SIGNAL_PATH_RESET   0x02
 
#define C6DOFIMU22_REG0_DRIVE_CONFIG1   0x03
 
#define C6DOFIMU22_REG0_DRIVE_CONFIG2   0x04
 
#define C6DOFIMU22_REG0_DRIVE_CONFIG3   0x05
 
#define C6DOFIMU22_REG0_INT_CONFIG   0x06
 
#define C6DOFIMU22_REG0_TEMP_DATA1   0x09
 
#define C6DOFIMU22_REG0_TEMP_DATA0   0x0A
 
#define C6DOFIMU22_REG0_ACCEL_DATA_X1   0x0B
 
#define C6DOFIMU22_REG0_ACCEL_DATA_X0   0x0C
 
#define C6DOFIMU22_REG0_ACCEL_DATA_Y1   0x0D
 
#define C6DOFIMU22_REG0_ACCEL_DATA_Y0   0x0E
 
#define C6DOFIMU22_REG0_ACCEL_DATA_Z1   0x0F
 
#define C6DOFIMU22_REG0_ACCEL_DATA_Z0   0x10
 
#define C6DOFIMU22_REG0_GYRO_DATA_X1   0x11
 
#define C6DOFIMU22_REG0_GYRO_DATA_X0   0x12
 
#define C6DOFIMU22_REG0_GYRO_DATA_Y1   0x13
 
#define C6DOFIMU22_REG0_GYRO_DATA_Y0   0x14
 
#define C6DOFIMU22_REG0_GYRO_DATA_Z1   0x15
 
#define C6DOFIMU22_REG0_GYRO_DATA_Z0   0x16
 
#define C6DOFIMU22_REG0_TMST_FSYNCH   0x17
 
#define C6DOFIMU22_REG0_TMST_FSYNCL   0x18
 
#define C6DOFIMU22_REG0_APEX_DATA4   0x1D
 
#define C6DOFIMU22_REG0_APEX_DATA5   0x1E
 
#define C6DOFIMU22_REG0_PWR_MGMT0   0x1F
 
#define C6DOFIMU22_REG0_GYRO_CONFIG0   0x20
 
#define C6DOFIMU22_REG0_ACCEL_CONFIG0   0x21
 
#define C6DOFIMU22_REG0_TEMP_CONFIG0   0x22
 
#define C6DOFIMU22_REG0_GYRO_CONFIG1   0x23
 
#define C6DOFIMU22_REG0_ACCEL_CONFIG1   0x24
 
#define C6DOFIMU22_REG0_APEX_CONFIG0   0x25
 
#define C6DOFIMU22_REG0_APEX_CONFIG1   0x26
 
#define C6DOFIMU22_REG0_WOM_CONFIG   0x27
 
#define C6DOFIMU22_REG0_FIFO_CONFIG1   0x28
 
#define C6DOFIMU22_REG0_FIFO_CONFIG2   0x29
 
#define C6DOFIMU22_REG0_FIFO_CONFIG3   0x2A
 
#define C6DOFIMU22_REG0_INT_SOURCE0   0x2B
 
#define C6DOFIMU22_REG0_INT_SOURCE1   0x2C
 
#define C6DOFIMU22_REG0_INT_SOURCE3   0x2D
 
#define C6DOFIMU22_REG0_INT_SOURCE4   0x2E
 
#define C6DOFIMU22_REG0_FIFO_LOST_PKT0   0x2F
 
#define C6DOFIMU22_REG0_FIFO_LOST_PKT1   0x30
 
#define C6DOFIMU22_REG0_APEX_DATA0   0x31
 
#define C6DOFIMU22_REG0_APEX_DATA1   0x32
 
#define C6DOFIMU22_REG0_APEX_DATA2   0x33
 
#define C6DOFIMU22_REG0_APEX_DATA3   0x34
 
#define C6DOFIMU22_REG0_INTF_CONFIG0   0x35
 
#define C6DOFIMU22_REG0_INTF_CONFIG1   0x36
 
#define C6DOFIMU22_REG0_INT_STATUS_DRDY   0x39
 
#define C6DOFIMU22_REG0_INT_STATUS   0x3A
 
#define C6DOFIMU22_REG0_INT_STATUS2   0x3B
 
#define C6DOFIMU22_REG0_INT_STATUS3   0x3C
 
#define C6DOFIMU22_REG0_FIFO_COUNTH   0x3D
 
#define C6DOFIMU22_REG0_FIFO_COUNTL   0x3E
 
#define C6DOFIMU22_REG0_FIFO_DATA   0x3F
 
#define C6DOFIMU22_REG0_WHO_AM_I   0x75
 
#define C6DOFIMU22_REG0_BLK_SEL_W   0x79
 
#define C6DOFIMU22_REG0_MADDR_W   0x7A
 
#define C6DOFIMU22_REG0_M_W   0x7B
 
#define C6DOFIMU22_REG0_BLK_SEL_R   0x7C
 
#define C6DOFIMU22_REG0_MADDR_R   0x7D
 
#define C6DOFIMU22_REG0_M_R   0x7E
 
#define C6DOFIMU22_MREG1_TMST_CONFIG1   0x0000
 6DOF IMU 22 USER BANK MREG1 register map summary.
 
#define C6DOFIMU22_MREG1_FIFO_CONFIG5   0x0001
 
#define C6DOFIMU22_MREG1_FIFO_CONFIG6   0x0002
 
#define C6DOFIMU22_MREG1_FSYNC_CONFIG   0x0003
 
#define C6DOFIMU22_MREG1_INT_CONFIG0   0x0004
 
#define C6DOFIMU22_MREG1_INT_CONFIG1   0x0005
 
#define C6DOFIMU22_MREG1_SENSOR_CONFIG3   0x0006
 
#define C6DOFIMU22_MREG1_ST_CONFIG   0x0013
 
#define C6DOFIMU22_MREG1_SELFTEST   0x0014
 
#define C6DOFIMU22_MREG1_INTF_CONFIG6   0x0023
 
#define C6DOFIMU22_MREG1_INTF_CONFIG10   0x0025
 
#define C6DOFIMU22_MREG1_INTF_CONFIG7   0x0028
 
#define C6DOFIMU22_MREG1_OTP_CONFIG   0x002B
 
#define C6DOFIMU22_MREG1_INT_SOURCE6   0x002F
 
#define C6DOFIMU22_MREG1_INT_SOURCE7   0x0030
 
#define C6DOFIMU22_MREG1_INT_SOURCE8   0x0031
 
#define C6DOFIMU22_MREG1_INT_SOURCE9   0x0032
 
#define C6DOFIMU22_MREG1_INT_SOURCE10   0x0033
 
#define C6DOFIMU22_MREG1_APEX_CONFIG2   0x0044
 
#define C6DOFIMU22_MREG1_APEX_CONFIG3   0x0045
 
#define C6DOFIMU22_MREG1_APEX_CONFIG4   0x0046
 
#define C6DOFIMU22_MREG1_APEX_CONFIG5   0x0047
 
#define C6DOFIMU22_MREG1_APEX_CONFIG9   0x0048
 
#define C6DOFIMU22_MREG1_APEX_CONFIG10   0x0049
 
#define C6DOFIMU22_MREG1_APEX_CONFIG11   0x004A
 
#define C6DOFIMU22_MREG1_ACCEL_WOM_X_THR   0x004B
 
#define C6DOFIMU22_MREG1_ACCEL_WOM_Y_THR   0x004C
 
#define C6DOFIMU22_MREG1_ACCEL_WOM_Z_THR   0x004D
 
#define C6DOFIMU22_MREG1_OFFSET_USER0   0x004E
 
#define C6DOFIMU22_MREG1_OFFSET_USER1   0x004F
 
#define C6DOFIMU22_MREG1_OFFSET_USER2   0x0050
 
#define C6DOFIMU22_MREG1_OFFSET_USER3   0x0051
 
#define C6DOFIMU22_MREG1_OFFSET_USER4   0x0052
 
#define C6DOFIMU22_MREG1_OFFSET_USER5   0x0053
 
#define C6DOFIMU22_MREG1_OFFSET_USER6   0x0054
 
#define C6DOFIMU22_MREG1_OFFSET_USER7   0x0055
 
#define C6DOFIMU22_MREG1_OFFSET_USER8   0x0056
 
#define C6DOFIMU22_MREG1_ST_STATUS1   0x0063
 
#define C6DOFIMU22_MREG1_ST_STATUS2   0x0064
 
#define C6DOFIMU22_MREG1_FDR_CONFIG   0x0066
 
#define C6DOFIMU22_MREG1_APEX_CONFIG12   0x0067
 
#define C6DOFIMU22_MREG2_OTP_CTRL7   0x2806
 6DOF IMU 22 USER BANK MREG2 register map summary.
 
#define C6DOFIMU22_MREG3_XA_ST_DATA   0x5000
 6DOF IMU 22 USER BANK MREG3 register map summary.
 
#define C6DOFIMU22_MREG3_YA_ST_DATA   0x5001
 
#define C6DOFIMU22_MREG3_ZA_ST_DATA   0x5002
 
#define C6DOFIMU22_MREG3_XG_ST_DATA   0x5003
 
#define C6DOFIMU22_MREG3_YG_ST_DATA   0x5004
 
#define C6DOFIMU22_MREG3_ZG_ST_DATA   0x5005
 
#define C6DOFIMU22_MCLK_RDY   0x08
 6DOF IMU 22 MCLK_RDY register setting.
 
#define C6DOFIMU22_SIGNAL_PATH_RESET   0x10
 6DOF IMU 22 SIGNAL_PATH_RESET register setting.
 
#define C6DOFIMU22_INT_CONFIG_INT2_MODE_PULSE   0x00
 6DOF IMU 22 INT_CONFIG register setting.
 
#define C6DOFIMU22_INT_CONFIG_INT2_MODE_LATCH   0x20
 
#define C6DOFIMU22_INT_CONFIG_INT2_MODE_MASK   0x20
 
#define C6DOFIMU22_INT_CONFIG_INT2_DRV_OD   0x00
 
#define C6DOFIMU22_INT_CONFIG_INT2_DRV_PP   0x10
 
#define C6DOFIMU22_INT_CONFIG_INT2_DRV_MASK   0x10
 
#define C6DOFIMU22_INT_CONFIG_INT2_POL_LOW   0x00
 
#define C6DOFIMU22_INT_CONFIG_INT2_POL_HIGH   0x08
 
#define C6DOFIMU22_INT_CONFIG_INT2_POL_MASK   0x08
 
#define C6DOFIMU22_INT_CONFIG_INT1_MODE_PULSE   0x00
 
#define C6DOFIMU22_INT_CONFIG_INT1_MODE_LATCH   0x04
 
#define C6DOFIMU22_INT_CONFIG_INT1_MODE_MASK   0x04
 
#define C6DOFIMU22_INT_CONFIG_INT1_DRV_OD   0x00
 
#define C6DOFIMU22_INT_CONFIG_INT1_DRV_PP   0x02
 
#define C6DOFIMU22_INT_CONFIG_INT1_DRV_MASK   0x02
 
#define C6DOFIMU22_INT_CONFIG_INT1_POL_LOW   0x00
 
#define C6DOFIMU22_INT_CONFIG_INT1_POL_HIGH   0x01
 
#define C6DOFIMU22_INT_CONFIG_INT1_POL_MASK   0x01
 
#define C6DOFIMU22_INT_CONFIG1_TPULSE_100US   0x00
 6DOF IMU 22 INT_CONFIG1 register setting.
 
#define C6DOFIMU22_INT_CONFIG1_TPULSE_8US   0x40
 
#define C6DOFIMU22_INT_CONFIG1_TPULSE_MASK   0x40
 
#define C6DOFIMU22_INT_CONFIG1_ASYNC_RESET_DIS   0x00
 
#define C6DOFIMU22_INT_CONFIG1_ASYNC_RESET_EN   0x10
 
#define C6DOFIMU22_INT_CONFIG1_ASYNC_RESET_MASK   0x10
 
#define C6DOFIMU22_PWR_MGMT0_ACCEL_LP_CLK_SEL   0x80
 6DOF IMU 22 PWR_MGMT0 register setting.
 
#define C6DOFIMU22_PWR_MGMT0_IDLE   0x10
 
#define C6DOFIMU22_PWR_MGMT0_GYRO_MODE_OFF   0x00
 
#define C6DOFIMU22_PWR_MGMT0_GYRO_MODE_STBY   0x04
 
#define C6DOFIMU22_PWR_MGMT0_GYRO_MODE_LN   0x0C
 
#define C6DOFIMU22_PWR_MGMT0_GYRO_MODE_MASK   0x0C
 
#define C6DOFIMU22_PWR_MGMT0_ACCEL_MODE_OFF   0x00
 
#define C6DOFIMU22_PWR_MGMT0_ACCEL_MODE_LP   0x02
 
#define C6DOFIMU22_PWR_MGMT0_ACCEL_MODE_LN   0x03
 
#define C6DOFIMU22_PWR_MGMT0_ACCEL_MODE_MASK   0x03
 
#define C6DOFIMU22_GYRO_CONFIG0_FS_SEL_2000DPS   0x00
 6DOF IMU 22 GYRO_CONFIG0 register setting.
 
#define C6DOFIMU22_GYRO_CONFIG0_FS_SEL_1000DPS   0x20
 
#define C6DOFIMU22_GYRO_CONFIG0_FS_SEL_500DPS   0x40
 
#define C6DOFIMU22_GYRO_CONFIG0_FS_SEL_250DPS   0x60
 
#define C6DOFIMU22_GYRO_CONFIG0_FS_SEL_MASK   0x60
 
#define C6DOFIMU22_GYRO_CONFIG0_ODR_1600HZ   0x05
 
#define C6DOFIMU22_GYRO_CONFIG0_ODR_800HZ   0x06
 
#define C6DOFIMU22_GYRO_CONFIG0_ODR_400HZ   0x07
 
#define C6DOFIMU22_GYRO_CONFIG0_ODR_200HZ   0x08
 
#define C6DOFIMU22_GYRO_CONFIG0_ODR_100HZ   0x09
 
#define C6DOFIMU22_GYRO_CONFIG0_ODR_50HZ   0x0A
 
#define C6DOFIMU22_GYRO_CONFIG0_ODR_25HZ   0x0B
 
#define C6DOFIMU22_GYRO_CONFIG0_ODR_12_5HZ   0x0C
 
#define C6DOFIMU22_GYRO_CONFIG0_ODR_MASK   0x0F
 
#define C6DOFIMU22_ACCEL_CONFIG0_FS_SEL_16G   0x00
 6DOF IMU 22 ACCEL_CONFIG0 register setting.
 
#define C6DOFIMU22_ACCEL_CONFIG0_FS_SEL_8G   0x20
 
#define C6DOFIMU22_ACCEL_CONFIG0_FS_SEL_4G   0x40
 
#define C6DOFIMU22_ACCEL_CONFIG0_FS_SEL_2G   0x60
 
#define C6DOFIMU22_ACCEL_CONFIG0_FS_SEL_MASK   0x60
 
#define C6DOFIMU22_ACCEL_CONFIG0_ODR_1600HZ   0x05
 
#define C6DOFIMU22_ACCEL_CONFIG0_ODR_800HZ   0x06
 
#define C6DOFIMU22_ACCEL_CONFIG0_ODR_400HZ   0x07
 
#define C6DOFIMU22_ACCEL_CONFIG0_ODR_200HZ   0x08
 
#define C6DOFIMU22_ACCEL_CONFIG0_ODR_100HZ   0x09
 
#define C6DOFIMU22_ACCEL_CONFIG0_ODR_50HZ   0x0A
 
#define C6DOFIMU22_ACCEL_CONFIG0_ODR_25HZ   0x0B
 
#define C6DOFIMU22_ACCEL_CONFIG0_ODR_12_5HZ   0x0C
 
#define C6DOFIMU22_ACCEL_CONFIG0_ODR_6_25HZ   0x0D
 
#define C6DOFIMU22_ACCEL_CONFIG0_ODR_3_125HZ   0x0E
 
#define C6DOFIMU22_ACCEL_CONFIG0_ODR_1_5625HZ   0x0F
 
#define C6DOFIMU22_ACCEL_CONFIG0_ODR_MASK   0x0F
 
#define C6DOFIMU22_INT_SOURCE0_ST_INT1_EN   0x80
 6DOF IMU 22 INT_SOURCE0 register setting.
 
#define C6DOFIMU22_INT_SOURCE0_FSYNC_INT1_EN   0x40
 
#define C6DOFIMU22_INT_SOURCE0_PLL_RDY_INT1_EN   0x20
 
#define C6DOFIMU22_INT_SOURCE0_RESET_DONE_INT1_EN   0x10
 
#define C6DOFIMU22_INT_SOURCE0_DRDY_INT1_EN   0x08
 
#define C6DOFIMU22_INT_SOURCE0_FIFO_THS_INT1_EN   0x04
 
#define C6DOFIMU22_INT_SOURCE0_FIFO_FULL_INT1_EN   0x02
 
#define C6DOFIMU22_INT_SOURCE0_AGC_RDY_INT1_EN   0x01
 
#define C6DOFIMU22_INT_STATUS_DATA_RDY   0x01
 6DOF IMU 22 INT_STATUS_DRDY register setting.
 
#define C6DOFIMU22_INT_STATUS_ST   0x80
 6DOF IMU 22 INT_STATUS register setting.
 
#define C6DOFIMU22_INT_STATUS_FSYNC   0x40
 
#define C6DOFIMU22_INT_STATUS_PLL_RDY   0x20
 
#define C6DOFIMU22_INT_STATUS_RESET_DONE   0x10
 
#define C6DOFIMU22_INT_STATUS_FIFO_THS   0x04
 
#define C6DOFIMU22_INT_STATUS_FIFO_FULL   0x02
 
#define C6DOFIMU22_INT_STATUS_AGC_RDY   0x01
 
#define C6DOFIMU22_WHO_AM_I   0x67
 6DOF IMU 22 WHO_AM_I register setting.
 
#define C6DOFIMU22_DEVICE_ADDRESS_0   0x68
 6DOF IMU 22 device address setting.
 
#define C6DOFIMU22_DEVICE_ADDRESS_1   0x69
 
#define C6DOFIMU22_GYRO_FS_SEL_250DPS   0x00
 6DOF IMU 22 gyro fs sel and odr setting.
 
#define C6DOFIMU22_GYRO_FS_SEL_500DPS   0x01
 
#define C6DOFIMU22_GYRO_FS_SEL_1000DPS   0x02
 
#define C6DOFIMU22_GYRO_FS_SEL_2000DPS   0x03
 
#define C6DOFIMU22_GYRO_ODR_12_5HZ   0x00
 
#define C6DOFIMU22_GYRO_ODR_25HZ   0x01
 
#define C6DOFIMU22_GYRO_ODR_50HZ   0x02
 
#define C6DOFIMU22_GYRO_ODR_100HZ   0x03
 
#define C6DOFIMU22_GYRO_ODR_200HZ   0x04
 
#define C6DOFIMU22_GYRO_ODR_400HZ   0x05
 
#define C6DOFIMU22_GYRO_ODR_800HZ   0x06
 
#define C6DOFIMU22_GYRO_ODR_1600HZ   0x07
 
#define C6DOFIMU22_GYRO_DATA_RES   0x7FFF
 
#define C6DOFIMU22_GYRO_MIN_DPS   250
 
#define C6DOFIMU22_ACCEL_FS_SEL_2G   0x00
 6DOF IMU 22 accel fs sel and odr setting.
 
#define C6DOFIMU22_ACCEL_FS_SEL_4G   0x01
 
#define C6DOFIMU22_ACCEL_FS_SEL_8G   0x02
 
#define C6DOFIMU22_ACCEL_FS_SEL_16G   0x03
 
#define C6DOFIMU22_ACCEL_ODR_1_5625HZ   0x00
 
#define C6DOFIMU22_ACCEL_ODR_3_125HZ   0x01
 
#define C6DOFIMU22_ACCEL_ODR_6_25HZ   0x02
 
#define C6DOFIMU22_ACCEL_ODR_12_5HZ   0x03
 
#define C6DOFIMU22_ACCEL_ODR_25HZ   0x04
 
#define C6DOFIMU22_ACCEL_ODR_50HZ   0x05
 
#define C6DOFIMU22_ACCEL_ODR_100HZ   0x06
 
#define C6DOFIMU22_ACCEL_ODR_200HZ   0x07
 
#define C6DOFIMU22_ACCEL_ODR_400HZ   0x08
 
#define C6DOFIMU22_ACCEL_ODR_800HZ   0x09
 
#define C6DOFIMU22_ACCEL_ODR_1600HZ   0x0A
 
#define C6DOFIMU22_ACCEL_DATA_RES   0x7FFF
 
#define C6DOFIMU22_ACCEL_MIN_G   2
 
#define C6DOFIMU22_TEMP_RES   128
 6DOF IMU 22 temperature calculation setting.
 
#define C6DOFIMU22_TEMP_OFFSET   25
 
#define C6DOFIMU22_SET_DATA_SAMPLE_EDGE   SET_SPI_DATA_SAMPLE_EDGE
 Data sample selection.
 
#define C6DOFIMU22_SET_DATA_SAMPLE_MIDDLE   SET_SPI_DATA_SAMPLE_MIDDLE
 
#define C6DOFIMU22_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.
 

Typedefs

typedef err_t(* c6dofimu22_master_io_t) (struct c6dofimu22_s *, uint8_t, uint8_t *, uint8_t)
 
typedef struct c6dofimu22_s c6dofimu22_t
 6DOF IMU 22 Click context object.
 

Enumerations

enum  c6dofimu22_drv_t { C6DOFIMU22_DRV_SEL_SPI , C6DOFIMU22_DRV_SEL_I2C }
 6DOF IMU 22 Click driver selector. More...
 
enum  c6dofimu22_return_value_t { C6DOFIMU22_OK = 0 , C6DOFIMU22_ERROR = -1 }
 6DOF IMU 22 Click return value data. More...
 

Functions

void c6dofimu22_cfg_setup (c6dofimu22_cfg_t *cfg)
 6DOF IMU 22 configuration object setup function.
 
void c6dofimu22_drv_interface_sel (c6dofimu22_cfg_t *cfg, c6dofimu22_drv_t drv_sel)
 6DOF IMU 22 driver interface setup function.
 
err_t c6dofimu22_init (c6dofimu22_t *ctx, c6dofimu22_cfg_t *cfg)
 6DOF IMU 22 initialization function.
 
err_t c6dofimu22_default_cfg (c6dofimu22_t *ctx)
 6DOF IMU 22 default configuration function.
 
err_t c6dofimu22_generic_write (c6dofimu22_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
 6DOF IMU 22 data writing function.
 
err_t c6dofimu22_generic_read (c6dofimu22_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
 6DOF IMU 22 data reading function.
 
err_t c6dofimu22_write_reg (c6dofimu22_t *ctx, uint8_t reg, uint8_t data_in)
 6DOF IMU 22 write register function.
 
err_t c6dofimu22_read_reg (c6dofimu22_t *ctx, uint8_t reg, uint8_t *data_out)
 6DOF IMU 22 read register function.
 
err_t c6dofimu22_write_mreg (c6dofimu22_t *ctx, uint16_t mreg, uint8_t data_in)
 6DOF IMU 22 write mreg function.
 
err_t c6dofimu22_read_mreg (c6dofimu22_t *ctx, uint16_t mreg, uint8_t *data_out)
 6DOF IMU 22 read mreg function.
 
void c6dofimu22_set_fsync_pin (c6dofimu22_t *ctx, uint8_t state)
 6DOF IMU 22 set fsync pin function.
 
uint8_t c6dofimu22_get_int1_pin (c6dofimu22_t *ctx)
 6DOF IMU 22 get int1 pin function.
 
uint8_t c6dofimu22_get_int2_pin (c6dofimu22_t *ctx)
 6DOF IMU 22 get int2 pin function.
 
err_t c6dofimu22_reset_device (c6dofimu22_t *ctx)
 6DOF IMU 22 reset device function.
 
err_t c6dofimu22_check_communication (c6dofimu22_t *ctx)
 6DOF IMU 22 check communication function.
 
err_t c6dofimu22_clear_data_ready (c6dofimu22_t *ctx)
 6DOF IMU 22 clear data ready function.
 
err_t c6dofimu22_set_gyro_fs_odr (c6dofimu22_t *ctx, uint8_t fs_sel, uint8_t odr)
 6DOF IMU 22 set gyro fs odr function.
 
err_t c6dofimu22_set_accel_fs_odr (c6dofimu22_t *ctx, uint8_t fs_sel, uint8_t odr)
 6DOF IMU 22 set accel fs odr function.
 
err_t c6dofimu22_read_gyro (c6dofimu22_t *ctx, c6dofimu22_axes_t *gyro)
 6DOF IMU 22 read gyro function.
 
err_t c6dofimu22_read_accel (c6dofimu22_t *ctx, c6dofimu22_axes_t *accel)
 6DOF IMU 22 read accel function.
 
err_t c6dofimu22_read_temperature (c6dofimu22_t *ctx, float *temperature)
 6DOF IMU 22 read temperature function.
 
err_t c6dofimu22_read_data (c6dofimu22_t *ctx, c6dofimu22_data_t *data_out)
 6DOF IMU 22 read data function.
 

Detailed Description

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

Typedef Documentation

◆ c6dofimu22_master_io_t

typedef err_t(* c6dofimu22_master_io_t) (struct c6dofimu22_s *, uint8_t, uint8_t *, uint8_t)

Driver serial interface.

◆ c6dofimu22_t

typedef struct c6dofimu22_s c6dofimu22_t

6DOF IMU 22 Click context object.

Context object definition of 6DOF IMU 22 Click driver.

Enumeration Type Documentation

◆ c6dofimu22_drv_t

6DOF IMU 22 Click driver selector.

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

Enumerator
C6DOFIMU22_DRV_SEL_SPI 

SPI driver descriptor.

C6DOFIMU22_DRV_SEL_I2C 

I2C driver descriptor.

◆ c6dofimu22_return_value_t

6DOF IMU 22 Click return value data.

Predefined enum values for driver return values.

Enumerator
C6DOFIMU22_OK 
C6DOFIMU22_ERROR