magaccel 2.1.0.0
magaccel.h File Reference

This file contains API for MagAccel 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  magaccel_t
 MagAccel Click context object. More...
 
struct  magaccel_cfg_t
 MagAccel Click configuration object. More...
 
struct  magaccel_axes_t
 MagAccel Click axes data. More...
 

Macros

#define MAGACCEL_REG_INT_STATUS   0x00
 MagAccel description register.
 
#define MAGACCEL_REG_TEMP_OUT   0x01
 
#define MAGACCEL_REG_VECM_LSB   0x02
 
#define MAGACCEL_REG_VECM_MSB   0x03
 
#define MAGACCEL_REG_OUT_X_LSB   0x04
 
#define MAGACCEL_REG_OUT_X_MSB   0x05
 
#define MAGACCEL_REG_OUT_Y_LSB   0x06
 
#define MAGACCEL_REG_OUT_Y_MSB   0x07
 
#define MAGACCEL_REG_OUT_Z_LSB   0x08
 
#define MAGACCEL_REG_OUT_Z_MSB   0x09
 
#define MAGACCEL_REG_BUF_STATUS   0x0B
 
#define MAGACCEL_REG_BUF_X_LSB   0x0C
 
#define MAGACCEL_REG_BUF_X_MSB   0x0D
 
#define MAGACCEL_REG_BUF_Y_LSB   0x0E
 
#define MAGACCEL_REG_BUF_Y_MSB   0x0F
 
#define MAGACCEL_REG_BUF_Z_LSB   0x10
 
#define MAGACCEL_REG_BUF_Z_MSB   0x11
 
#define MAGACCEL_REG_PROD_REV   0x12
 
#define MAGACCEL_REG_WHO_AM_I   0x13
 
#define MAGACCEL_REG_SYS_MODE   0x14
 
#define MAGACCEL_REG_SENS_CONFIG1   0x15
 
#define MAGACCEL_REG_SENS_CONFIG2   0x16
 
#define MAGACCEL_REG_SENS_CONFIG3   0x17
 
#define MAGACCEL_REG_SENS_CONFIG4   0x18
 
#define MAGACCEL_REG_SENS_CONFIG5   0x19
 
#define MAGACCEL_REG_WAKE_IDLE_LSB   0x1A
 
#define MAGACCEL_REG_WAKE_IDLE_MSB   0x1B
 
#define MAGACCEL_REG_SLEEP_IDLE_LSB   0x1C
 
#define MAGACCEL_REG_SLEEP_IDLE_MSB   0x1D
 
#define MAGACCEL_REG_ASLP_COUNT_LSB   0x1E
 
#define MAGACCEL_REG_ASLP_COUNT_MSB   0x1F
 
#define MAGACCEL_REG_INT_EN   0x20
 
#define MAGACCEL_REG_INT_PIN_SEL   0x21
 
#define MAGACCEL_REG_OFF_X   0x22
 
#define MAGACCEL_REG_OFF_Y   0x23
 
#define MAGACCEL_REG_OFF_Z   0x24
 
#define MAGACCEL_REG_BUF_CONFIG1   0x26
 
#define MAGACCEL_REG_BUF_CONFIG2   0x27
 
#define MAGACCEL_REG_ORIENT_STATUS   0x28
 
#define MAGACCEL_REG_ORIENT_CONFIG   0x29
 
#define MAGACCEL_REG_ORIENT_DBCOUNT   0x2A
 
#define MAGACCEL_REG_ORIENT_BF_ZCOMP   0x2B
 
#define MAGACCEL_REG_ORIENT_THS_REG   0x2C
 
#define MAGACCEL_REG_SDCD_INT_SRC1   0x2D
 
#define MAGACCEL_REG_SDCD_INT_SRC2   0x2E
 
#define MAGACCEL_REG_SDCD_CONFIG1   0x2F
 
#define MAGACCEL_REG_SDCD_CONFIG2   0x30
 
#define MAGACCEL_REG_SDCD_OT_DBCNT   0x31
 
#define MAGACCEL_REG_SDCD_WT_DBCNT   0x32
 
#define MAGACCEL_REG_SDCD_LTHS_LSB   0x33
 
#define MAGACCEL_REG_SDCD_LTHS_MSB   0x34
 
#define MAGACCEL_REG_SDCD_UTHS_LSB   0x35
 
#define MAGACCEL_REG_SDCD_UTHS_MSB   0x36
 
#define MAGACCEL_REG_SELF_TEST_CONFIG1   0x37
 
#define MAGACCEL_REG_SELF_TEST_CONFIG2   0x38
 
#define MAGACCEL_SRC_BOOT_COMPLETED   0x01
 MagAccel nominal sensitivity data values.
 
#define MAGACCEL_DEVICE_ID_VAL   0x86
 MagAccel device ID data values.
 
#define MAGACCEL_SW_RESET_BIT_MASK   0x80
 MagAccel SW reset bit mask data values.
 
#define MAGACCEL_OP_MODE_STANDBY   0x00
 MagAccel operating mode data values.
 
#define MAGACCEL_OP_MODE_ACTIVE   0x01
 
#define MAGACCEL_OP_MODE_BIT_MASK   0xFE
 
#define MAGACCEL_FSR_SEL_2G   0x00
 MagAccel full-scale measurement range (FSR) selection.
 
#define MAGACCEL_FSR_SEL_4G   0x01
 
#define MAGACCEL_FSR_SEL_8G   0x02
 
#define MAGACCEL_FSR_SEL_16G   0x03
 
#define MAGACCEL_FSR_SEL_BIT_MASK   0xF9
 
#define MAGACCEL_INT_EN_DRDY_DIS   0x00
 MagAccel data-ready interrupt output enable data values.
 
#define MAGACCEL_INT_EN_DRDY_EN   0x80
 
#define MAGACCEL_DATA_READY   0
 MagAccel data-ready and magnetic field detection data values.
 
#define MAGACCEL_DET_MAG_FIELD   0
 
#define MAGACCEL_FSR_SENS_VAL_2G   0.98f
 MagAccel nominal sensitivity data values.
 
#define MAGACCEL_FSR_SENS_VAL_4G   1.95f
 
#define MAGACCEL_FSR_SENS_VAL_8G   3.91f
 
#define MAGACCEL_FSR_SENS_VAL_16G   7.81f
 
#define MAGACCEL_DEVICE_ADDRESS   0x18
 MagAccel device address setting.
 
#define MAGACCEL_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.
 

Enumerations

enum  magaccel_return_value_t { MAGACCEL_OK = 0 , MAGACCEL_ERROR = -1 }
 MagAccel Click return value data. More...
 

Functions

void magaccel_cfg_setup (magaccel_cfg_t *cfg)
 MagAccel configuration object setup function.
 
err_t magaccel_init (magaccel_t *ctx, magaccel_cfg_t *cfg)
 MagAccel initialization function.
 
err_t magaccel_default_cfg (magaccel_t *ctx)
 MagAccel default configuration function.
 
err_t magaccel_generic_write (magaccel_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
 MagAccel I2C writing function.
 
err_t magaccel_generic_read (magaccel_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
 MagAccel I2C reading function.
 
err_t magaccel_get_device_id (magaccel_t *ctx, uint8_t *device_id)
 MagAccel get device ID function.
 
err_t magaccel_get_status (magaccel_t *ctx, uint8_t *status)
 MagAccel get status function.
 
err_t magaccel_sw_reset (magaccel_t *ctx)
 MagAccel soft reset function.
 
err_t magaccel_set_op_mode (magaccel_t *ctx, uint8_t op_mode)
 MagAccel set operating mode function.
 
err_t magaccel_set_fsr (magaccel_t *ctx, uint8_t fsr)
 MagAccel set FSR function.
 
err_t magaccel_en_data_ready (magaccel_t *ctx)
 MagAccel enable data ready function.
 
err_t magaccel_get_axes_data (magaccel_t *ctx, magaccel_axes_t *axes)
 MagAccel get the accel sensor axes function.
 
uint8_t magaccel_check_data_ready (magaccel_t *ctx)
 MagAccel get data ready function.
 
uint8_t magaccel_check_mag_field (magaccel_t *ctx)
 MagAccel checks the magnetic field function.
 

Detailed Description

This file contains API for MagAccel Click Driver.

Enumeration Type Documentation

◆ magaccel_return_value_t

MagAccel Click return value data.

Predefined enum values for driver return values.

Enumerator
MAGACCEL_OK 
MAGACCEL_ERROR