accel10 2.0.0.0
accel10.h File Reference

This file contains API for Accel 10 Click driver. More...

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

Go to the source code of this file.

Data Structures

struct  accel10_s
 Click ctx object definition. More...
 
struct  accel10_cfg_t
 Click configuration structure definition. More...
 
struct  accel10_data_t
 Accel data structure definition. More...
 

Macros

#define ACCEL10_MAP_MIKROBUS(cfg, mikrobus)
 
#define ACCEL10_MASTER_I2C   0
 
#define ACCEL10_MASTER_SPI   1
 
#define ACCEL10_RETVAL   uint8_t
 
#define ACCEL10_OK   0x00
 
#define ACCEL10_INIT_ERROR   0xFF
 
#define ACCEL10_SLAVE_ADDRESS_GND   0x18
 
#define ACCEL10_SLAVE_ADDRESS_VCC   0x19
 
#define ACCEL10_REG_OUT_T_L   0x0D
 
#define ACCEL10_REG_OUT_T_H   0x0E
 
#define ACCEL10_REG_WHO_AM_I   0x0F
 
#define ACCEL10_REG_CTRL1   0x20
 
#define ACCEL10_REG_CTRL2   0x21
 
#define ACCEL10_REG_CTRL3   0x22
 
#define ACCEL10_REG_CTRL4_INT1_PAD_CTRL   0x23
 
#define ACCEL10_REG_CTRL5_INT2_PAD_CTRL   0x24
 
#define ACCEL10_REG_CTRL6   0x25
 
#define ACCEL10_REG_OUT_T   0x26
 
#define ACCEL10_REG_STATUS   0x27
 
#define ACCEL10_REG_OUT_X_L   0x28
 
#define ACCEL10_REG_OUT_X_H   0x29
 
#define ACCEL10_REG_OUT_Y_L   0x2A
 
#define ACCEL10_REG_OUT_Y_H   0x2B
 
#define ACCEL10_REG_OUT_Z_L   0x2C
 
#define ACCEL10_REG_OUT_Z_H   0x2D
 
#define ACCEL10_REG_FIFO_CTRL   0x2E
 
#define ACCEL10_REG_FIFO_SAMPLES   0x2F
 
#define ACCEL10_REG_TAP_THS_X   0x30
 
#define ACCEL10_REG_TAP_THS_Y   0x31
 
#define ACCEL10_REG_TAP_THS_Z   0x32
 
#define ACCEL10_REG_INT_DUR   0x33
 
#define ACCEL10_REG_WAKE_UP_THS   0x34
 
#define ACCEL10_REG_WAKE_UP_DUR   0x35
 
#define ACCEL10_REG_FREE_FALL   0x36
 
#define ACCEL10_REG_STATUS_DUP   0x37
 
#define ACCEL10_REG_WAKE_UP_SRC   0x38
 
#define ACCEL10_REG_TAP_SRC   0x39
 
#define ACCEL10_REG_SIXD_SRC   0x3A
 
#define ACCEL10_REG_ALL_INT_SRC   0x3B
 
#define ACCEL10_REG_X_OFS_USR   0x3C
 
#define ACCEL10_REG_Y_OFS_USR   0x3D
 
#define ACCEL10_REG_Z_OFS_USR   0x3E
 
#define ACCEL10_REG_CTRL_REG7   0x3F
 
#define ACCEL10_WHO_AM_I_DEFAULT_VALUE   0x44
 
#define ACCEL10_LP_MODE_1   0x00
 
#define ACCEL10_LP_MODE_2   0x01
 
#define ACCEL10_LP_MODE_3   0x02
 
#define ACCEL10_LP_MODE_4   0x03
 
#define ACCEL10_MODE_LOW_POWER   0x00
 
#define ACCEL10_MODE_HIGH_PERF   0x04
 
#define ACCEL10_MODE_SINGLE_CONV   0x08
 
#define ACCEL10_ODR_POWER_DOWN   0x00
 
#define ACCEL10_ODR_12_5_1_6HZ   0x10
 
#define ACCEL10_ODR_12_5Hz   0x20
 
#define ACCEL10_ODR_25Hz   0x30
 
#define ACCEL10_ODR_50Hz   0x40
 
#define ACCEL10_ODR_100Hz   0x50
 
#define ACCEL10_ODR_200Hz   0x60
 
#define ACCEL10_ODR_400_200Hz   0x70
 
#define ACCEL10_ODR_800_200Hz   0x80
 
#define ACCEL10_ODR_1600_200Hz   0x90
 
#define ACCEL10_SIM_4_WIRE   0x00
 
#define ACCEL10_SIM_3_WIRE   0x01
 
#define ACCEL10_I2C_ENABLE_I2C_AND_SPI   0x00
 
#define ACCEL10_I2C_ENABLE_SPI_ONLY   0x02
 
#define ACCEL10_IF_ADD_INC_DISABLE   0x00
 
#define ACCEL10_IF_ADD_INC_ENABLE   0x04
 
#define ACCEL10_BDU_CONTINUOUS_UPDATE   0x00
 
#define ACCEL10_BDU_NOT_UPDATE_MSB_LSB   0x08
 
#define ACCEL10_CS_PU_DISC_CONNECT   0x00
 
#define ACCEL10_CS_PU_DISC_DISCONNECT   0x10
 
#define ACCEL10_SOFT_RESET_DISABLE   0x00
 
#define ACCEL10_SOFT_RESET_ENABLE   0x40
 
#define ACCEL10_BOOT_DISABLE   0x00
 
#define ACCEL10_BOOT_ENABLE   0x80
 
#define ACCEL10_SLP_MODE_1_CONV_START   0x01
 
#define ACCEL10_SLP_MODE_SEL_EN_INT2   0x00
 
#define ACCEL10_SLP_MODE_SEL_EN_MODE1   0x02
 
#define ACCEL10_H_LACTIVE_HIGH   0x00
 
#define ACCEL10_H_LACTIVE_LOW   0x08
 
#define ACCEL10_LIR_NOT_LATCHED   0x00
 
#define ACCEL10_LIR_LATCHED   0x10
 
#define ACCEL10_PP_OD_PUSH_PULL   0x00
 
#define ACCEL10_PP_OD_OPEN_DRAIN   0x20
 
#define ACCEL10_ST_NORMAL   0x00
 
#define ACCEL10_ST_POSITIVE   0x40
 
#define ACCEL10_ST_NEGATIVE   0x80
 
#define ACCEL10_INT1_DRDY_DISABLE   0x00
 
#define ACCEL10_INT1_DRDY_ENABLE   0x01
 
#define ACCEL10_INT1_FTH_DISABLE   0x00
 
#define ACCEL10_INT1_FTH_ENABLE   0x02
 
#define ACCEL10_INT1_DIFF5_DISABLE   0x00
 
#define ACCEL10_INT1_DIFF5_ENABLE   0x04
 
#define ACCEL10_INT1_TAP_DISABLE   0x00
 
#define ACCEL10_INT1_TAP_ENABLE   0x08
 
#define ACCEL10_INT1_FF_DISABLE   0x00
 
#define ACCEL10_INT1_FF_ENABLE   0x10
 
#define ACCEL10_INT1_WU_DISABLE   0x00
 
#define ACCEL10_INT1_WU_ENABLE   0x20
 
#define ACCEL10_INT1_SINGLE_TAP_DISABLE   0x00
 
#define ACCEL10_INT1_SINGLE_TAP_ENABLE   0x40
 
#define ACCEL10_INT1_6D_DISABLE   0x00
 
#define ACCEL10_INT1_6D_ENABLE   0x80
 
#define ACCEL10_INT2_DRDY_DISABLE   0x00
 
#define ACCEL10_INT2_DRDY_ENABLE   0x01
 
#define ACCEL10_INT2_FTH_DISABLE   0x00
 
#define ACCEL10_INT2_FTH_ENABLE   0x02
 
#define ACCEL10_INT2_DIFF5_DISABLE   0x00
 
#define ACCEL10_INT2_DIFF5_ENABLE   0x04
 
#define ACCEL10_INT2_OVR_DISABLE   0x00
 
#define ACCEL10_INT2_OVR_ENABLE   0x08
 
#define ACCEL10_INT2_DRDY_T_DISABLE   0x00
 
#define ACCEL10_INT2_DRDY_T_ENABLE   0x10
 
#define ACCEL10_INT2_BOOT_DISABLE   0x00
 
#define ACCEL10_INT2_BOOT_ENABLE   0x20
 
#define ACCEL10_INT2_SLEEP_CHG_DISABLE   0x00
 
#define ACCEL10_INT2_SLEEP_CHG_ENABLE   0x40
 
#define ACCEL10_INT2_SLEEP_STATE_DISABLE   0x00
 
#define ACCEL10_INT2_SLEEP_STATE_ENABLE   0x80
 
#define ACCEL10_LOW_NOISE_DISABLE   0x00
 
#define ACCEL10_LOW_NOISE_ENABLE   0x04
 
#define ACCEL10_FSD_LOW_PASS   0x00
 
#define ACCEL10_FSD_HIGH_PASS   0x08
 
#define ACCEL10_FS_2G   0x00
 
#define ACCEL10_FS_4G   0x10
 
#define ACCEL10_FS_8G   0x20
 
#define ACCEL10_FS_16G   0x30
 
#define ACCEL10_BW_FILT_ODR2   0x00
 
#define ACCEL10_BW_FILT_ODR4   0x40
 
#define ACCEL10_BW_FILT_ODR10   0x80
 
#define ACCEL10_BW_FILT_ODR20   0xC0
 
#define ACCEL10_STATUS_DATA_READY   0x01
 
#define ACCEL10_ERROR   0x00
 
#define ACCEL10_SUCCESS   0x01
 

Typedefs

typedef uint8_t accel10_select_t
 Communication type.
 
typedef void(* accel10_master_io_t) (struct accel10_s *, uint8_t, uint8_t *, uint8_t)
 Master Input/Output type.
 
typedef struct accel10_s accel10_t
 Click ctx object definition.
 

Functions

void accel10_cfg_setup (accel10_cfg_t *cfg)
 Config Object Initialization function.
 
ACCEL10_RETVAL accel10_init (accel10_t *ctx, accel10_cfg_t *cfg)
 Initialization function.
 
void accel10_default_cfg (accel10_t *ctx)
 Click Default Configuration function.
 
void accel10_generic_write (accel10_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic write function.
 
void accel10_generic_read (accel10_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic read function.
 
ACCEL10_RETVAL accel10_check_id (accel10_t *ctx)
 Check ID function.
 
uint8_t accel10_check_data_ready (accel10_t *ctx)
 Check data ready function.
 
void accel10_soft_reset (accel10_t *ctx)
 Soft reset function.
 
void accel10_get_data (accel10_t *ctx, accel10_data_t *p_accel_data)
 Read Accel data function.
 
int8_t accel10_read_temperature (accel10_t *ctx)
 Read temperature function.
 
uint8_t accel10_check_it1 (accel10_t *ctx)
 Get interrupt 1 ststus function.
 
uint8_t accel10_check_it2 (accel10_t *ctx)
 Get interrupt 2 ststus function.
 

Detailed Description

This file contains API for Accel 10 Click driver.