accel 2.0.0.0
accel.h File Reference

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

#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  accel_s
 Click ctx object definition. More...
 
struct  accel_cfg_t
 Click configuration structure definition. More...
 

Macros

#define ACCEL_MAP_MIKROBUS(cfg, mikrobus)
 
#define ACCEL_MASTER_I2C   0
 
#define ACCEL_MASTER_SPI   1
 
#define ACCEL_OK   0
 
#define ACCEL_ERROR   -1
 
#define ACCEL_I2C_ADR_VCC   0x1D
 
#define ACCEL_I2C_ADR_GND   0x53
 
#define ACCEL_REG_DEVID   0x00
 
#define ACCEL_REG_THRESH_TAP   0x1D
 
#define ACCEL_REG_OFSX   0x1E
 
#define ACCEL_REG_OFSY   0x1F
 
#define ACCEL_REG_OFSZ   0x20
 
#define ACCEL_REG_DUR   0x21
 
#define ACCEL_REG_LATENT   0x22
 
#define ACCEL_REG_WINDOW   0x23
 
#define ACCEL_REG_THRESH_ACT   0x24
 
#define ACCEL_REG_THRESH_INACT   0x25
 
#define ACCEL_REG_TIME_INACT   0x26
 
#define ACCEL_REG_ACT_INACT_CTL   0x27
 
#define ACCEL_REG_THRESH_FF   0x28
 
#define ACCEL_REG_TIME_FF   0x29
 
#define ACCEL_REG_TAP_AXES   0x2A
 
#define ACCEL_REG_ACT_TAP_STATUS   0x2B
 
#define ACCEL_REG_BW_RATE   0x2C
 
#define ACCEL_REG_POWER_CTL   0x2D
 
#define ACCEL_REG_INT_ENABLE   0x2E
 
#define ACCEL_REG_INT_MAP   0x2F
 
#define ACCEL_REG_INT_SOURCE   0x30
 
#define ACCEL_REG_DATA_FORMAT   0x31
 
#define ACCEL_REG_DATA_X_LSB   0x32
 
#define ACCEL_REG_DATA_X_MSB   0x33
 
#define ACCEL_REG_DATA_Y_LSB   0x34
 
#define ACCEL_REG_DATA_Y_MSB   0x35
 
#define ACCEL_REG_DATA_Z_LSB   0x36
 
#define ACCEL_REG_DATA_Z_MSB   0x37
 
#define ACCEL_REG_FIFO_CTL   0x38
 
#define ACCEL_REG_FIFO_STATUS   0x39
 
#define ACCEL_DEVID   0xE5
 
#define ACCEL_POWER_CTL_LINK   0x20
 
#define ACCEL_POWER_CTL_AUTO_SLEEP   0x10
 
#define ACCEL_POWER_CTL_MEASURE   0x08
 
#define ACCEL_POWER_CTL_SLEEP   0x04
 
#define ACCEL_POWER_CTL_WAKEUP_8   0x03
 
#define ACCEL_POWER_CTL_WAKEUP_4   0x02
 
#define ACCEL_POWER_CTL_WAKEUP_2   0x01
 
#define ACCEL_POWER_CTL_WAKEUP_1   0x00
 
#define ACCEL_DATA_FORMAT_SELF_TEST   0x80
 
#define ACCEL_DATA_FORMAT_SPI   0x40
 
#define ACCEL_DATA_FORMAT_INT_INVERT   0x20
 
#define ACCEL_DATA_FORMAT_FULL_RES   0x08
 
#define ACCEL_DATA_FORMAT_JUSTIFY   0x04
 
#define ACCEL_DATA_FORMAT_RANGE_16   0x03
 
#define ACCEL_DATA_FORMAT_RANGE_8   0x02
 
#define ACCEL_DATA_FORMAT_RANGE_4   0x01
 
#define ACCEL_DATA_FORMAT_RANGE_2   0x00
 
#define ACCEL_BW_RATE_LOW_POWER   0x10
 
#define ACCEL_BW_RATE_1600   0x0F
 
#define ACCEL_BW_RATE_800   0x0E
 
#define ACCEL_BW_RATE_400   0x0D
 
#define ACCEL_BW_RATE_200   0x0C
 
#define ACCEL_BW_RATE_100   0x0B
 
#define ACCEL_BW_RATE_50   0x0A
 
#define ACCEL_BW_RATE_25   0x09
 
#define ACCEL_BW_RATE_12_5   0x08
 
#define ACCEL_BW_RATE_6_25   0x07
 
#define ACCEL_BW_RATE_3_13   0x06
 
#define ACCEL_BW_RATE_1_56   0x05
 
#define ACCEL_BW_RATE_0_78   0x04
 
#define ACCEL_BW_RATE_0_39   0x03
 
#define ACCEL_BW_RATE_0_2   0x02
 
#define ACCEL_BW_RATE_0_1   0x01
 
#define ACCEL_BW_RATE_0_05   0x00
 
#define ACCEL_FIFO_CTL_FIFO_MODE_BYPASS   0x00
 
#define ACCEL_FIFO_CTL_FIFO_MODE_ENABLE   0x40
 
#define ACCEL_FIFO_CTL_FIFO_MODE_STREAM   0x80
 
#define ACCEL_FIFO_CTL_FIFO_MODE_TRIGGER   0x60
 
#define ACCEL_FIFO_CTL_TRIGGER_INT2   0x20
 
#define ACCEL_DATA_RES_LSB_PER_G   256.0f
 
#define ACCEL_SET_DATA_SAMPLE_EDGE   SET_SPI_DATA_SAMPLE_EDGE
 Data sample selection.
 
#define ACCEL_SET_DATA_SAMPLE_MIDDLE   SET_SPI_DATA_SAMPLE_MIDDLE
 

Typedefs

typedef uint8_t accel_select_t
 Communication type.
 
typedef void(* accel_master_io_t) (struct accel_s *, uint8_t, uint8_t *, uint8_t)
 Master Input/Output type.
 
typedef struct accel_s accel_t
 Click ctx object definition.
 

Functions

void accel_cfg_setup (accel_cfg_t *cfg)
 Config Object Initialization function.
 
err_t accel_init (accel_t *ctx, accel_cfg_t *cfg)
 Initialization function.
 
void accel_default_cfg (accel_t *ctx)
 Click Default Configuration function.
 
void accel_generic_write (accel_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic write function.
 
void accel_generic_read (accel_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic read function.
 
int16_t accel_read_x_axis (accel_t *ctx)
 Function raw read X axis.
 
int16_t accel_read_y_axis (accel_t *ctx)
 Function raw read Y axis.
 
int16_t accel_read_z_axis (accel_t *ctx)
 Function raw read Z axis.
 
uint8_t accel_check_int_pin (accel_t *ctx)
 INT Pin Get function.
 

Detailed Description

This file contains API for Accel Click driver.