accel7 2.0.0.0
accel7.h File Reference

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

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

Go to the source code of this file.

Data Structures

struct  accel7_t
 Click ctx object definition. More...
 
struct  accel7_cfg_t
 Click configuration structure definition. More...
 

Macros

#define ACCEL7_MAP_MIKROBUS(cfg, mikrobus)
 
#define ACCEL7_RETVAL   uint8_t
 
#define ACCEL7_OK   0x00
 
#define ACCEL7_INIT_ERROR   0xFF
 
#define ACCEL7_AXIS_X   0x06
 
#define ACCEL7_AXIS_Y   0x08
 
#define ACCEL7_AXIS_Z   0x0A
 
#define ACCEL7_DATA_RESP_8bit   0x10
 
#define ACCEL7_DATA_RESP_12bit   0x20
 
#define ACCEL7_DATA_RESP_14bit   0x30
 
#define ACCEL7_RANGE_2g   0x01
 
#define ACCEL7_RANGE_4g   0x02
 
#define ACCEL7_RANGE_8g   0x03
 
#define ACCEL7_RANGE_16g   0x04
 
#define ACCEL7_REG_AXIS_X_LSB   0x06
 
#define ACCEL7_REG_AXIS_X_MSB   0x07
 
#define ACCEL7_REG_AXIS_Y_LSB   0x08
 
#define ACCEL7_REG_AXIS_Y_MSB   0x09
 
#define ACCEL7_REG_AXIS_Z_LSB   0x0A
 
#define ACCEL7_REG_AXIS_Z_MSB   0x0B
 
#define ACCEL7_REG_DCST_RESP   0x0C
 
#define ACCEL7_REG_WHO_AM_I   0x0F
 
#define ACCEL7_REG_INT_SOURCE1   0x16
 
#define ACCEL7_REG_INT_SOURCE2   0x17
 
#define ACCEL7_REG_STATUS   0x18
 
#define ACCEL7_REG_INT_REL   0x1A
 
#define ACCEL7_REG_CTRL_REG1   0x1B
 
#define ACCEL7_REG_CTRL_REG2   0x1D
 
#define ACCEL7_REG_INT_CTRL_REG1   0x1E
 
#define ACCEL7_REG_INT_CTRL_REG2   0x1F
 
#define ACCEL7_REG_DATA_CTRL_REG   0x21
 
#define ACCEL7_REG_WAKEUP_COUNTER   0x29
 
#define ACCEL7_REG_NA_CAUNTER   0x2A
 
#define ACCEL7_REG_SELF_TEST   0x3A
 
#define ACCEL7_REG_WAKEUP_THRESHOLD_MSB   0x6A
 
#define ACCEL7_REG_WAKEUP_THRESHOLD_LSB   0x6B
 
#define ACCEL7_CTRL_REG1_MODE_OPERATING   0x80
 
#define ACCEL7_CTRL_REG1_MODE_STANDBY   0x00
 
#define ACCEL7_CTRL_REG1_RES_LOW_CURRENT   0x00
 
#define ACCEL7_CTRL_REG1_RES_HIGH_RESOLUTION   0x40
 
#define ACCEL7_CTRL_REG1_DRDYE_ENABLE   0x20
 
#define ACCEL7_CTRL_REG1_DRDYE_DISABLE   0x00
 
#define ACCEL7_CTRL_REG1_RANGE_2g   0x00
 
#define ACCEL7_CTRL_REG1_RANGE_4g   0x08
 
#define ACCEL7_CTRL_REG1_RANGE_8g   0x10
 
#define ACCEL7_CTRL_REG1_RANGE_16g   0x04
 
#define ACCEL7_CTRL_REG1_RANGE_HIGH_RES_8g   0x18
 
#define ACCEL7_CTRL_REG1_RANGE_HIGH_RES_16g   0x1C
 
#define ACCEL7_CTRL_REG1_WAKEUP_DISABLE   0x00
 
#define ACCEL7_CTRL_REG1_WAKEUP_ENABLE   0x02
 
#define ACCEL7_CTRL_REG2_START_RAM_REBOOT   0x80
 
#define ACCEL7_CTRL_REG2_DCST_ENABLE   0x10
 
#define ACCEL7_CTRL_REG2_DCST_DISABLE   0x00
 
#define ACCEL7_CTRL_REG2_OUT_DATA_RATE_0_781Hz   0x00
 
#define ACCEL7_CTRL_REG2_OUT_DATA_RATE_1_563Hz   0x01
 
#define ACCEL7_CTRL_REG2_OUT_DATA_RATE_3_125Hz   0x02
 
#define ACCEL7_CTRL_REG2_OUT_DATA_RATE_6_25Hz   0x03
 
#define ACCEL7_CTRL_REG2_OUT_DATA_RATE_12_5Hz   0x04
 
#define ACCEL7_CTRL_REG2_OUT_DATA_RATE_25Hz   0x05
 
#define ACCEL7_CTRL_REG2_OUT_DATA_RATE_50Hz   0x06
 
#define ACCEL7_CTRL_REG2_OUT_DATA_RATE_100Hz   0x07
 
#define ACCEL7_INT_CTRL_REG1_IEN_DISABLE   0x00
 
#define ACCEL7_INT_CTRL_REG1_IEN_ENABLE   0x20
 
#define ACCEL7_INT_CTRL_REG1_IEA_DISABLE   0x00
 
#define ACCEL7_INT_CTRL_REG1_IEA_ENABLE   0x10
 
#define ACCEL7_INT_CTRL_REG1_IEL_DISABLE   0x00
 
#define ACCEL7_INT_CTRL_REG1_IEL_ENABLE   0x08
 
#define ACCEL7_INT_CTRL_REG1_SELF_TEST_POL_NEGATIVE   0x00
 
#define ACCEL7_INT_CTRL_REG1_SELF_TEST_POL_POSITIVE   0x02
 
#define ACCEL7_INT_CTRL_REG2_ULMODE_ENABLE   0x80
 
#define ACCEL7_INT_CTRL_REG2_ULMODE_DISABLE   0x00
 
#define ACCEL7_INT_CTRL_REG2_X_NEGATIVE_ENABLE   0x20
 
#define ACCEL7_INT_CTRL_REG2_X_NEGATIVE_DISABLE   0x00
 
#define ACCEL7_INT_CTRL_REG2_Y_NEGATIVE_ENABLE   0x08
 
#define ACCEL7_INT_CTRL_REG2_Y_NEGATIVE_DISABLE   0x00
 
#define ACCEL7_INT_CTRL_REG2_Z_NEGATIVE_ENABLE   0x02
 
#define ACCEL7_INT_CTRL_REG2_Z_NEGATIVE_DISABLE   0x00
 
#define ACCEL7_INT_CTRL_REG2_X_POSITIVE_ENABLE   0x10
 
#define ACCEL7_INT_CTRL_REG2_X_POSITIVE_DISABLE   0x00
 
#define ACCEL7_INT_CTRL_REG2_Y_POSITIVE_ENABLE   0x04
 
#define ACCEL7_INT_CTRL_REG2_Y_POSITIVE_DISABLE   0x00
 
#define ACCEL7_INT_CTRL_REG2_Z_POSITIVE_ENABLE   0x01
 
#define ACCEL7_INT_CTRL_REG2_Z_POSITIVE_DISABLE   0x00
 
#define ACCEL7_DATA_CTRL_REG_ODR_0_781Hz   0x08
 
#define ACCEL7_DATA_CTRL_REG_ODR_1_563Hz   0x09
 
#define ACCEL7_DATA_CTRL_REG_ODR_3_125Hz   0x0A
 
#define ACCEL7_DATA_CTRL_REG_ODR_6_25Hz   0x0B
 
#define ACCEL7_DATA_CTRL_REG_ODR_12_5Hz   0x00
 
#define ACCEL7_DATA_CTRL_REG_ODR_25Hz   0x01
 
#define ACCEL7_DATA_CTRL_REG_ODR_50Hz   0x02
 
#define ACCEL7_DATA_CTRL_REG_ODR_100Hz   0x03
 
#define ACCEL7_DATA_CTRL_REG_ODR_200Hz   0x04
 
#define ACCEL7_DATA_CTRL_REG_ODR_400Hz   0x05
 
#define ACCEL7_DATA_CTRL_REG_ODR_800Hz   0x06
 
#define ACCEL7_DATA_CTRL_REG_ODR_1600Hz   0x07
 
#define ACCEL7_DEVICE_ADDRESS   0x0F
 

Functions

void accel7_cfg_setup (accel7_cfg_t *cfg)
 Config Object Initialization function.
 
ACCEL7_RETVAL accel7_init (accel7_t *ctx, accel7_cfg_t *cfg)
 Initialization function.
 
void accel7_default_cfg (accel7_t *ctx, uint8_t resolution, uint8_t range)
 Click Default Configuration function.
 
void accel7_generic_write (accel7_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic write function.
 
void accel7_generic_read (accel7_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic read function.
 
void accel7_write_byte (accel7_t *ctx, uint8_t reg, uint8_t input_data)
 Write byte function.
 
uint8_t accel7_read_byte (accel7_t *ctx, uint8_t reg)
 Read byte function.
 
int16_t accel7_get_axis (accel7_t *ctx, uint8_t axis)
 Get axi function.
 
void accel7_res_range_cfg (accel7_t *ctx, uint8_t *resolution, uint8_t *range)
 Resolution/range configuration function.
 
uint8_t accel7_get_interrupt_state (accel7_t *ctx)
 Get interrupt state function.
 

Detailed Description

This file contains API for Accel 7 Click driver.