accel12 2.0.0.0
accel12.h File Reference

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

#include "drv_digital_in.h"
#include "drv_i2c_master.h"

Go to the source code of this file.

Data Structures

struct  accel12_t
 Click ctx object definition. More...
 
struct  accel12_cfg_t
 Click configuration structure definition. More...
 

Macros

#define ACCEL12_MAP_MIKROBUS(cfg, mikrobus)
 
#define ACCEL12_RETVAL   uint8_t
 
#define ACCEL12_OK   0x00
 
#define ACCEL12_INIT_ERROR   0xFF
 
#define ACCEL12_REG_GENERAL_STATUS   0x03
 
#define ACCEL12_REG_DEVICE_STATUS   0x04
 
#define ACCEL12_REG_INTERRUPT_ENABLE   0x06
 
#define ACCEL12_REG_MODE_CONTROL   0x07
 
#define ACCEL12_REG_SAMPLE_RATE_AND_TAP   0x08
 
#define ACCEL12_REG_TAP_CONTROL   0x09
 
#define ACCEL12_REG_TAP_X_DURATION   0x0A
 
#define ACCEL12_REG_TAP_Y_DURATION   0x0B
 
#define ACCEL12_REG_TAP_Z_DURATION   0x0C
 
#define ACCEL12_REG_TAP_X_THRESHOLD   0x0A
 
#define ACCEL12_REG_TAP_Y_THRESHOLD   0x0B
 
#define ACCEL12_REG_TAP_Z_THRESHOLD   0x0C
 
#define ACCEL12_REG_X_AXIS_LSB   0x0D
 
#define ACCEL12_REG_X_AXIS_MSB   0x0E
 
#define ACCEL12_REG_Y_AXIS_LSB   0x0F
 
#define ACCEL12_REG_Y_AXIS_MSB   0x10
 
#define ACCEL12_REG_Z_AXIS_LSB   0x11
 
#define ACCEL12_REG_Z_AXIS_MSB   0x12
 
#define ACCEL12_REG_OUTPUT_CONFIG   0x20
 
#define ACCEL12_REG_X_OFFSET_LSB   0x21
 
#define ACCEL12_REG_X_OFFSET_MSB   0x22
 
#define ACCEL12_REG_Y_OFFSET_LSB   0x23
 
#define ACCEL12_REG_Y_OFFSET_MSB   0x24
 
#define ACCEL12_REG_Z_OFFSET_LSB   0x25
 
#define ACCEL12_REG_Z_OFFSET_MSB   0x26
 
#define ACCEL12_REG_X_GAIN   0x27
 
#define ACCEL12_REG_Y_GAIN   0x28
 
#define ACCEL12_REG_Z_GAIN   0x29
 
#define ACCEL12_REG_PRODUCT_CODE   0x3B
 
#define ACCEL12_GS_TAP_X_POSITIVE   0x01
 
#define ACCEL12_GS_TAP_X_NEGATIVE   0x02
 
#define ACCEL12_GS_TAP_Y_POSITIVE   0x04
 
#define ACCEL12_GS_TAP_Y_NEGATIVE   0x08
 
#define ACCEL12_GS_TAP_Z_POSITIVE   0x10
 
#define ACCEL12_GS_TAP_Z_NEGATIVE   0x20
 
#define ACCEL12_GS_ACQ_INTERRUPT   0x80
 
#define ACCEL12_DS_STANDBY_STATE   0x00
 
#define ACCEL12_DS_WAKE_STATE   0x01
 
#define ACCEL12_DS_I2C_WDT_NO_EVENT   0x00
 
#define ACCEL12_DS_I2C_WDT_EVENT_DCT   0x10
 
#define ACCEL12_DS_INTERNAL_MEMORY_NO_USE   0x00
 
#define ACCEL12_DS_INTERNAL_MEMORY_USE   0x80
 
#define ACCEL12_EINT_TAP_XP_ENABLE   0x01
 
#define ACCEL12_EINT_TAP_XP_DISABLE   0x00
 
#define ACCEL12_EINT_TAP_XN_ENABLE   0x02
 
#define ACCEL12_EINT_TAP_XN_DISABLE   0x00
 
#define ACCEL12_EINT_TAP_YP_ENABLE   0x04
 
#define ACCEL12_EINT_TAP_YP_DISABLE   0x00
 
#define ACCEL12_EINT_TAP_YN_ENABLE   0x08
 
#define ACCEL12_EINT_TAP_YN_DISABLE   0x00
 
#define ACCEL12_EINT_TAP_ZP_ENABLE   0x10
 
#define ACCEL12_EINT_TAP_ZP_DISABLE   0x00
 
#define ACCEL12_EINT_TAP_ZN_ENABLE   0x20
 
#define ACCEL12_EINT_TAP_ZN_DISABLE   0x00
 
#define ACCEL12_EINT_ACQ_INT_ENABLE   0x80
 
#define ACCEL12_EINT_ACQ_INT_DISABLE   0x00
 
#define ACCEL12_MODE_STANDBY_STATE   0x00
 
#define ACCEL12_MODE_WAKE_STATE   0x01
 
#define ACCEL12_MODE_I2C_WDT_NEG_DISABLE   0x00
 
#define ACCEL12_MODE_I2C_WDT_NEG_ENABLE   0x10
 
#define ACCEL12_MODE_I2C_WDT_POS_DISABLE   0x00
 
#define ACCEL12_MODE_I2C_WDT_POS_ENABLE   0x20
 
#define ACCEL12_MODE_IPP_OPEN_DRAIN   0x00
 
#define ACCEL12_MODE_IPP_PUSH_PULL   0x40
 
#define ACCEL12_MODE_IAH_ACTIVE_LOW   0x00
 
#define ACCEL12_MODE_IAH_ACTIVE_HIGH   0x80
 
#define ACCEL12_SRTFR_RATE_32Hz   0x00
 
#define ACCEL12_SRTFR_RATE_16Hz   0x01
 
#define ACCEL12_SRTFR_RATE_8Hz   0x02
 
#define ACCEL12_SRTFR_RATE_4Hz   0x03
 
#define ACCEL12_SRTFR_RATE_2Hz   0x04
 
#define ACCEL12_SRTFR_RATE_1Hz   0x05
 
#define ACCEL12_SRTFR_RATE_0p5Hz   0x06
 
#define ACCEL12_SRTFR_RATE_0p25Hz   0x07
 
#define ACCEL12_SRTFR_RATE_64Hz   0x08
 
#define ACCEL12_SRTFR_RATE_128Hz   0x09
 
#define ACCEL12_SRTFR_RATE_256Hz   0x0A
 
#define ACCEL12_SRTFR_FLIP_TAPX_DISABLE   0x00
 
#define ACCEL12_SRTFR_FLIP_TAPX_ENABLE   0x10
 
#define ACCEL12_SRTFR_FLIP_TAPY_DISABLE   0x00
 
#define ACCEL12_SRTFR_FLIP_TAPY_ENABLE   0x20
 
#define ACCEL12_SRTFR_FLIP_TAPZ_DISABLE   0x00
 
#define ACCEL12_SRTFR_FLIP_TAPZ_ENABLE   0x40
 
#define ACCEL12_SRTFR_TAP_LATCH_ENABLE   0x00
 
#define ACCEL12_SRTFR_TAP_LATCH_DISABLE   0x80
 
#define ACCEL12_TAPEN_TAP_X_POS_DISABLE   0x00
 
#define ACCEL12_TAPEN_TAP_X_POS_ENABLE   0x01
 
#define ACCEL12_TAPEN_TAP_X_NEG_DISABLE   0x00
 
#define ACCEL12_TAPEN_TAP_X_NEG_ENABLE   0x02
 
#define ACCEL12_TAPEN_TAP_Y_POS_DISABLE   0x00
 
#define ACCEL12_TAPEN_TAP_Y_POS_ENABLE   0x04
 
#define ACCEL12_TAPEN_TAP_Y_NEG_DISABLE   0x00
 
#define ACCEL12_TAPEN_TAP_Y_NEG_ENABLE   0x08
 
#define ACCEL12_TAPEN_TAP_Z_POS_DISABLE   0x00
 
#define ACCEL12_TAPEN_TAP_Z_POS_ENABLE   0x10
 
#define ACCEL12_TAPEN_TAP_Z_NEG_DISABLE   0x00
 
#define ACCEL12_TAPEN_TAP_Z_NEG_ENABLE   0x20
 
#define ACCEL12_TAPEN_TAP_DURATION   0x00
 
#define ACCEL12_TAPEN_TAP_THRESHOLD   0x40
 
#define ACCEL12_TAPEN_ALL_TAP_ENABLE   0x00
 
#define ACCEL12_TAPEN_ALL_TAP_DISABLE   0x80
 
#define ACCEL12_OUTCFG_RESOLUTION_6_bit   0x00
 
#define ACCEL12_OUTCFG_RESOLUTION_7_bit   0x01
 
#define ACCEL12_OUTCFG_RESOLUTION_8_bit   0x02
 
#define ACCEL12_OUTCFG_RESOLUTION_10_bit   0x03
 
#define ACCEL12_OUTCFG_RESOLUTION_12_bit   0x04
 
#define ACCEL12_OUTCFG_RESOLUTION_14_bit   0x05
 
#define ACCEL12_OUTCFG_RANGE_2g   0x00
 
#define ACCEL12_OUTCFG_RANGE_4g   0x10
 
#define ACCEL12_OUTCFG_RANGE_8g   0x20
 
#define ACCEL12_OUTCFG_RANGE_16g   0x30
 
#define ACCEL12_OUTCFG_RANGE_12g   0x40
 

Functions

void accel12_cfg_setup (accel12_cfg_t *cfg)
 Config Object Initialization function.
 
ACCEL12_RETVAL accel12_init (accel12_t *ctx, accel12_cfg_t *cfg)
 Initialization function.
 
void accel12_default_cfg (accel12_t *ctx)
 Click Default Configuration function.
 
void accel12_generic_write (accel12_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic write function.
 
void accel12_generic_read (accel12_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic read function.
 
void accel12_configuration (accel12_t *ctx, uint8_t reg, uint8_t data_in)
 Functions for configuration one register.
 
int16_t accel12_get_one_axis (accel12_t *ctx, uint8_t axis)
 Functions for read one Accel axis data.
 
void accel12_get_axis_data (accel12_t *ctx, int16_t *x_axis, int16_t *y_axis, int16_t *z_axis)
 Functions for read Accel axis data.
 
uint8_t accel12_get_tap_detection (accel12_t *ctx)
 TAP detection.
 
uint8_t accel12_get_interrupt_state (accel12_t *ctx)
 Functions for read INT pin state.
 

Detailed Description

This file contains API for Accel 12 Click driver.