accel4 2.0.0.0
accel4.h File Reference

This file contains API for Accel 4 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  accel4_s
 Accel 4 Click context object. More...
 
struct  accel4_cfg_t
 Accel 4 Click configuration object. More...
 
struct  accel4_axes_t
 Accel 4 Click axes data. More...
 

Macros

#define ACCEL4_REG_INT_STATUS   0x00
 Accel 4 description register.
 
#define ACCEL4_REG_TEMP_OUT   0x01
 
#define ACCEL4_REG_VECM_LSB   0x02
 
#define ACCEL4_REG_VECM_MSB   0x03
 
#define ACCEL4_REG_OUT_X_LSB   0x04
 
#define ACCEL4_REG_OUT_X_MSB   0x05
 
#define ACCEL4_REG_OUT_Y_LSB   0x06
 
#define ACCEL4_REG_OUT_Y_MSB   0x07
 
#define ACCEL4_REG_OUT_Z_LSB   0x08
 
#define ACCEL4_REG_OUT_Z_MSB   0x09
 
#define ACCEL4_REG_BUF_STATUS   0x0B
 
#define ACCEL4_REG_BUF_X_LSB   0x0C
 
#define ACCEL4_REG_BUF_X_MSB   0x0D
 
#define ACCEL4_REG_BUF_Y_LSB   0x0E
 
#define ACCEL4_REG_BUF_Y_MSB   0x0F
 
#define ACCEL4_REG_BUF_Z_LSB   0x10
 
#define ACCEL4_REG_BUF_Z_MSB   0x11
 
#define ACCEL4_REG_PROD_REV   0x12
 
#define ACCEL4_REG_WHO_AM_I   0x13
 
#define ACCEL4_REG_SYS_MODE   0x14
 
#define ACCEL4_REG_SENS_CONFIG1   0x15
 
#define ACCEL4_REG_SENS_CONFIG2   0x16
 
#define ACCEL4_REG_SENS_CONFIG3   0x17
 
#define ACCEL4_REG_SENS_CONFIG4   0x18
 
#define ACCEL4_REG_SENS_CONFIG5   0x19
 
#define ACCEL4_REG_WAKE_IDLE_LSB   0x1A
 
#define ACCEL4_REG_WAKE_IDLE_MSB   0x1B
 
#define ACCEL4_REG_SLEEP_IDLE_LSB   0x1C
 
#define ACCEL4_REG_SLEEP_IDLE_MSB   0x1D
 
#define ACCEL4_REG_ASLP_COUINT_LSB   0x1E
 
#define ACCEL4_REG_ASLP_COUINT_MSB   0x1F
 
#define ACCEL4_REG_INT_EN   0x20
 
#define ACCEL4_REG_INT_PIN_SEL   0x21
 
#define ACCEL4_REG_OFF_X   0x22
 
#define ACCEL4_REG_OFF_Y   0x23
 
#define ACCEL4_REG_OFF_Z   0x24
 
#define ACCEL4_REG_BUF_CONFIG1   0x26
 
#define ACCEL4_REG_BUF_CONFIG2   0x27
 
#define ACCEL4_REG_ORIENT_STATUS   0x28
 
#define ACCEL4_REG_ORIENT_CONFIG   0x29
 
#define ACCEL4_REG_ORINET_DBCOUNT   0x2A
 
#define ACCEL4_REG_ORIENT_BF_ZCOMP   0x2B
 
#define ACCEL4_REG_ORIENT_THS_REG   0x2C
 
#define ACCEL4_REG_SDCD_INT_SRC1   0x2D
 
#define ACCEL4_REG_SDCD_INT_SRC2   0x2E
 
#define ACCEL4_REG_SDCD_CONFIG1   0x2F
 
#define ACCEL4_REG_SDCD_CONFIG2   0x30
 
#define ACCEL4_REG_SDCD_OT_DBCNT   0x31
 
#define ACCEL4_REG_SDCD_WT_DBCNT   0x32
 
#define ACCEL4_REG_SDCD_LTHS_LSB   0x33
 
#define ACCEL4_REG_SDCD_LTHS_MSB   0x34
 
#define ACCEL4_REG_SDCD_UTHS_LSB   0x35
 
#define ACCEL4_REG_SDCD_UTHS_MSB   0x36
 
#define ACCEL4_REG_SELF_TEST_CONFIG1   0x37
 
#define ACCEL4_REG_SELF_TEST_CONFIG2   0x38
 
#define ACCEL4_DEVICE_ID   0x84
 Accel 4 identification value.
 
#define ACCEL4_SET_DEV_ADDR   0x18
 Accel 4 device address setting.
 
#define ACCEL4_SET_DATA_SAMPLE_EDGE   SET_SPI_DATA_SAMPLE_EDGE
 Data sample selection.
 
#define ACCEL4_SET_DATA_SAMPLE_MIDDLE   SET_SPI_DATA_SAMPLE_MIDDLE
 
#define ACCEL4_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.
 

Typedefs

typedef err_t(* accel4_master_io_t) (struct accel4_s *, uint8_t, uint8_t *, uint8_t)
 Accel 4 Click driver interface.
 
typedef struct accel4_s accel4_t
 Accel 4 Click context object.
 

Enumerations

enum  accel4_drv_t { ACCEL4_DRV_SEL_SPI , ACCEL4_DRV_SEL_I2C }
 Accel 4 Click driver selector. More...
 
enum  accel4_return_value_t { ACCEL4_OK = 0 , ACCEL4_ERROR = -1 }
 Accel 4 Click return value data. More...
 

Functions

void accel4_cfg_setup (accel4_cfg_t *cfg)
 Accel 4 configuration object setup function.
 
void accel4_drv_interface_selection (accel4_cfg_t *cfg, accel4_drv_t drv_sel)
 Accel 4 driver interface setup function.
 
err_t accel4_init (accel4_t *ctx, accel4_cfg_t *cfg)
 Accel 4 initialization function.
 
err_t accel4_default_cfg (accel4_t *ctx)
 Accel 4 default configuration function.
 
err_t accel4_generic_write (accel4_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
 Accel 4 data writing function.
 
err_t accel4_generic_read (accel4_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
 Accel 4 data reading function.
 
uint8_t accel4_get_int1 (accel4_t *ctx)
 Get interrupt 1 pin state.
 
uint8_t accel4_get_int2 (accel4_t *ctx)
 Get interrupt 2 pin state.
 
err_t accel4_get_axes_data (accel4_t *ctx, accel4_axes_t *axes)
 Accel data reading.
 
float accel4_axes_get_resolution (accel4_t *ctx)
 Reads current resolution of output data.
 

Detailed Description

This file contains API for Accel 4 Click Driver.

Typedef Documentation

◆ accel4_master_io_t

typedef err_t(* accel4_master_io_t) (struct accel4_s *, uint8_t, uint8_t *, uint8_t)

Accel 4 Click driver interface.

Definition of driver interface of Accel 4 Click driver. Driver serial interface.

◆ accel4_t

typedef struct accel4_s accel4_t

Accel 4 Click context object.

Context object definition of Accel 4 Click driver.

Enumeration Type Documentation

◆ accel4_drv_t

Accel 4 Click driver selector.

Selects target driver interface of Accel 4 Click driver.

Enumerator
ACCEL4_DRV_SEL_SPI 

SPI driver descriptor.

ACCEL4_DRV_SEL_I2C 

I2C driver descriptor.

◆ accel4_return_value_t

Accel 4 Click return value data.

Predefined enum values for driver return values.

Enumerator
ACCEL4_OK 
ACCEL4_ERROR