accel24 2.1.0.0
accel24.h File Reference

This file contains API for Accel 24 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  accel24_t
 Accel 24 Click context object. More...
 
struct  accel24_cfg_t
 Accel 24 Click configuration object. More...
 
struct  accel24_data_t
 Accel 24 Click data structure. More...
 

Macros

#define ACCEL24_REG_INT_SRC0   0x00
 Accel 24 register list.
 
#define ACCEL24_REG_INT_CLR0   0x00
 
#define ACCEL24_REG_INT_SRC1   0x01
 
#define ACCEL24_REG_INT_CLR1   0x01
 
#define ACCEL24_REG_STATUS   0x02
 
#define ACCEL24_REG_XOUT_MSB   0x03
 
#define ACCEL24_REG_XOUT_LSB   0x04
 
#define ACCEL24_REG_YOUT_MSB   0x05
 
#define ACCEL24_REG_YOUT_LSB   0x06
 
#define ACCEL24_REG_ZOUT_MSB   0x07
 
#define ACCEL24_REG_ZOUT_LSB   0x08
 
#define ACCEL24_REG_TOUT   0x09
 
#define ACCEL24_REG_INT_MASK0   0x0A
 
#define ACCEL24_REG_INT_MASK1   0x0B
 
#define ACCEL24_REG_DETECTION   0x0C
 
#define ACCEL24_REG_CONTROL   0x0D
 
#define ACCEL24_REG_WHO_AM_I   0x0F
 
#define ACCEL24_INT_SRC0_CHORZ   0x80
 Accel 24 INT_SRC0 register settings.
 
#define ACCEL24_INT_SRC0_CHORXY   0x40
 
#define ACCEL24_INT_SRC0_SHYM   0x08
 
#define ACCEL24_INT_SRC0_SHYP   0x04
 
#define ACCEL24_INT_SRC0_SHXM   0x02
 
#define ACCEL24_INT_SRC0_SHXP   0x01
 
#define ACCEL24_INT_CLR0_ORZC   0x80
 Accel 24 INT_CLR0 register settings.
 
#define ACCEL24_INT_CLR0_ORXYC   0x40
 
#define ACCEL24_INT_CLR0_SHYMC   0x08
 
#define ACCEL24_INT_CLR0_SHYPC   0x04
 
#define ACCEL24_INT_CLR0_SHXMC   0x02
 
#define ACCEL24_INT_CLR0_SHXPC   0x01
 
#define ACCEL24_INT_CLR0_ALL   0xCF
 
#define ACCEL24_INT_SRC1_TILT   0x80
 Accel 24 INT_SRC1 register settings.
 
#define ACCEL24_INT_SRC1_ORZ   0x40
 
#define ACCEL24_INT_SRC1_ORXY_X_PLUS   0x00
 
#define ACCEL24_INT_SRC1_ORXY_Y_PLUS   0x10
 
#define ACCEL24_INT_SRC1_ORXY_X_MINUS   0x20
 
#define ACCEL24_INT_SRC1_ORXY_Y_MINUS   0x30
 
#define ACCEL24_INT_SRC1_ORXY_MASK   0x30
 
#define ACCEL24_INT_SRC1_DRDY   0x01
 
#define ACCEL24_INT_CLR1_SW_RST   0x10
 Accel 24 INT_CLR1 register settings.
 
#define ACCEL24_INT_CLR1_DRDYC   0x01
 
#define ACCEL24_STATUS_ORD   0x10
 Accel 24 STATUS register settings.
 
#define ACCEL24_STATUS_ORIZ_MSB   0x08
 
#define ACCEL24_STATUS_ORIZ_LSB   0x04
 
#define ACCEL24_STATUS_ORIXY_MSB   0x02
 
#define ACCEL24_STATUS_ORIXY_LSB   0x01
 
#define ACCEL24_INT_MASK0_ORZE   0x80
 Accel 24 INT_MASK0 register settings.
 
#define ACCEL24_INT_MASK0_ORXYE   0x40
 
#define ACCEL24_INT_MASK0_SHYME   0x08
 
#define ACCEL24_INT_MASK0_SHYPE   0x04
 
#define ACCEL24_INT_MASK0_SHXME   0x02
 
#define ACCEL24_INT_MASK0_SHXPE   0x01
 
#define ACCEL24_INT_MASK0_NONE   0x00
 
#define ACCEL24_INT_MASK0_ALL   0xCF
 
#define ACCEL24_INT_MASK1_TC   0x80
 Accel 24 INT_MASK1 register settings.
 
#define ACCEL24_INT_MASK1_DRDYE   0x01
 
#define ACCEL24_DETECTION_SHM   0x80
 Accel 24 DETECTION register settings.
 
#define ACCEL24_DETECTION_SHTH_0p25G   0x00
 
#define ACCEL24_DETECTION_SHTH_0p5G   0x10
 
#define ACCEL24_DETECTION_SHTH_0p75G   0x20
 
#define ACCEL24_DETECTION_SHTH_1G   0x30
 
#define ACCEL24_DETECTION_SHTH_1p25G   0x40
 
#define ACCEL24_DETECTION_SHTH_1p5G   0x50
 
#define ACCEL24_DETECTION_SHTH_1p75G   0x60
 
#define ACCEL24_DETECTION_SHTH_2G   0x70
 
#define ACCEL24_DETECTION_SHTH_MASK   0x70
 
#define ACCEL24_DETECTION_SHC_8   0x00
 
#define ACCEL24_DETECTION_SHC_16   0x04
 
#define ACCEL24_DETECTION_SHC_32   0x08
 
#define ACCEL24_DETECTION_SHC_64   0x0C
 
#define ACCEL24_DETECTION_SHC_MASK   0x0C
 
#define ACCEL24_DETECTION_ORC_16   0x00
 
#define ACCEL24_DETECTION_ORC_32   0x01
 
#define ACCEL24_DETECTION_ORC_64   0x02
 
#define ACCEL24_DETECTION_ORC_128   0x03
 
#define ACCEL24_DETECTION_ORC_MASK   0x03
 
#define ACCEL24_DETECTION_NONE   0x00
 
#define ACCEL24_CONTROL_ST   0x80
 Accel 24 CONTROL register settings.
 
#define ACCEL24_CONTROL_FSR_2G   0x00
 
#define ACCEL24_CONTROL_FSR_4G   0x20
 
#define ACCEL24_CONTROL_FSR_8G   0x40
 
#define ACCEL24_CONTROL_FSR_UNDEFINED   0x60
 
#define ACCEL24_CONTROL_FSR_MASK   0x60
 
#define ACCEL24_CONTROL_PD   0x01
 
#define ACCEL24_ACCEL_RESOLUTION   2048.0f
 Accel 24 measurement calculation settings.
 
#define ACCEL24_TEMP_SENSITIVITY   0.586f
 
#define ACCEL24_TEMP_NOMINAL   25.0f
 
#define ACCEL24_FSR_2G   0
 Accel 24 FSR settings.
 
#define ACCEL24_FSR_4G   1
 
#define ACCEL24_FSR_8G   2
 
#define ACCEL24_WHO_AM_I   0x05
 Accel 24 Who_Am_I register value.
 
#define ACCEL24_WHO_AM_I_MASK   0x0F
 
#define ACCEL24_DEVICE_ADDRESS   0x15
 Accel 24 device address setting.
 
#define ACCEL24_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.
 

Enumerations

enum  accel24_return_value_t { ACCEL24_OK = 0 , ACCEL24_ERROR = -1 }
 Accel 24 Click return value data. More...
 

Functions

void accel24_cfg_setup (accel24_cfg_t *cfg)
 Accel 24 configuration object setup function.
 
err_t accel24_init (accel24_t *ctx, accel24_cfg_t *cfg)
 Accel 24 initialization function.
 
err_t accel24_default_cfg (accel24_t *ctx)
 Accel 24 default configuration function.
 
err_t accel24_generic_write (accel24_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
 Accel 24 I2C writing function.
 
err_t accel24_generic_read (accel24_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
 Accel 24 I2C reading function.
 
err_t accel24_write_register (accel24_t *ctx, uint8_t reg, uint8_t data_in)
 Accel 24 write register function.
 
err_t accel24_read_register (accel24_t *ctx, uint8_t reg, uint8_t *data_out)
 Accel 24 read register function.
 
err_t accel24_check_communication (accel24_t *ctx)
 Accel 24 check communication function.
 
uint8_t accel24_get_int_pin (accel24_t *ctx)
 Accel 24 get int pin function.
 
err_t accel24_soft_reset (accel24_t *ctx)
 Accel 24 soft reset function.
 
err_t accel24_set_full_scale_range (accel24_t *ctx, uint8_t fsr)
 Accel 24 set full scale range function.
 
err_t accel24_read_data (accel24_t *ctx, accel24_data_t *data_out)
 Accel 24 read data function.
 

Detailed Description

This file contains API for Accel 24 Click Driver.

Enumeration Type Documentation

◆ accel24_return_value_t

Accel 24 Click return value data.

Predefined enum values for driver return values.

Enumerator
ACCEL24_OK 
ACCEL24_ERROR