magneto8 2.0.0.0
magneto8.h File Reference

This file contains API for Magneto 8 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  magneto8_t
 Click ctx object definition. More...
 
struct  magneto8_cfg_t
 Click configuration structure definition. More...
 

Macros

#define MAGNETO8_MAP_MIKROBUS(cfg, mikrobus)
 
#define MAGNETO8_OK   0
 
#define MAGNETO8_ERROR   -1
 
#define MAGNETO8_REG_ZMCO   0x00
 
#define MAGNETO8_REG_ZPOS_MSB   0x01
 
#define MAGNETO8_REG_ZPOS_LSB   0x02
 
#define MAGNETO8_REG_CONF_C1   0x07
 
#define MAGNETO8_REG_CONF_C2   0x08
 
#define MAGNETO8_REG_ABN   0x09
 
#define MAGNETO8_REG_PUSHTHR   0x0A
 
#define MAGNETO8_REG_RAW_ANGLE_MSB   0x0C
 
#define MAGNETO8_REG_RAW_ANGLE_LSB   0x0D
 
#define MAGNETO8_REG_ANGLE_MSB   0x0E
 
#define MAGNETO8_REG_ANGLE_LSB   0x0F
 
#define MAGNETO8_REG_STATUS   0x0B
 
#define MAGNETO8_REG_AGC   0x1A
 
#define MAGNETO8_REG_MAGNITUDE_MSB   0x1B
 
#define MAGNETO8_REG_MAGNITUDE_LSB   0x1C
 
#define MAGNETO8_REG_BURN   0xFF
 
#define MAGNETO8_BURN_ANGLE   0x80
 
#define MAGNETO8_BURN_SETTING   0x40
 
#define MAGNETO8_CFG_MODE_NOM   0x0000
 
#define MAGNETO8_CFG_MODE_LPM1   0x0001
 
#define MAGNETO8_CFG_MODE_LPM2   0x0002
 
#define MAGNETO8_CFG_MODE_LPM3   0x0003
 
#define MAGNETO8_CFG_HYST_OFF   0x0000
 
#define MAGNETO8_CFG_HYST_1_LSB   0x0004
 
#define MAGNETO8_CFG_HYST_2_LSB   0x0008
 
#define MAGNETO8_CFG_HYST_3_LSB   0x000C
 
#define MAGNETO8_CFG_SF_16x   0x0000
 
#define MAGNETO8_CFG_SF_8x   0x0100
 
#define MAGNETO8_CFG_SF_4x   0x0200
 
#define MAGNETO8_CFG_SF_2x   0x0300
 
#define MAGNETO8_CFG_FTH_SLOW   0x0000
 
#define MAGNETO8_CFG_FTH_6_LSB   0x0400
 
#define MAGNETO8_CFG_FTH_7_LSB   0x0800
 
#define MAGNETO8_CFG_FTH_9_LSB   0x0C00
 
#define MAGNETO8_CFG_FTH_18_LSB   0x1000
 
#define MAGNETO8_CFG_FTH_21_LSB   0x1400
 
#define MAGNETO8_CFG_FTH_24_LSB   0x1800
 
#define MAGNETO8_CFG_FTH_10_LSB   0x1C00
 
#define MAGNETO8_CFG_WD_OFF   0x2000
 
#define MAGNETO8_CFG_WD_ON   0x2000
 
#define MAGNETO8_ABN_8   0x00
 
#define MAGNETO8_ABN_16   0x01
 
#define MAGNETO8_ABN_32   0x02
 
#define MAGNETO8_ABN_64   0x03
 
#define MAGNETO8_ABN_128   0x04
 
#define MAGNETO8_ABN_256   0x05
 
#define MAGNETO8_ABN_512   0x06
 
#define MAGNETO8_ABN_1024   0x07
 
#define MAGNETO8_ABN_2048   0x08
 
#define MAGNETO8_STATUS_MD   0x20
 
#define MAGNETO8_STATUS_ML   0x10
 
#define MAGNETO8_STATUS_MH   0x08
 
#define MAGNETO8_SLAVE_ADDR   0x36
 

Functions

void magneto8_cfg_setup (magneto8_cfg_t *cfg)
 Config Object Initialization function.
 
err_t magneto8_init (magneto8_t *ctx, magneto8_cfg_t *cfg)
 Initialization function.
 
void magneto8_default_cfg (magneto8_t *ctx)
 Click Default Configuration function.
 
void magneto8_generic_write (magneto8_t *ctx, uint8_t reg, uint8_t tx_data)
 Generic write function.
 
uint8_t magneto8_generic_read (magneto8_t *ctx, uint8_t reg)
 Generic read function.
 
uint16_t magneto8_get_raw_angle (magneto8_t *ctx)
 Gets Angle raw data.
 
float magneto8_get_angle_data (magneto8_t *ctx)
 Gets Angle data.
 
uint8_t magneto8_get_status (magneto8_t *ctx)
 Gets status data.
 
uint16_t magneto8_get_magnitude (magneto8_t *ctx)
 Gets magnitude data.
 
uint8_t magneto8_get_agc (magneto8_t *ctx)
 Gets AGC data.
 
uint8_t magneto8_get_zmco (magneto8_t *ctx)
 Gets ZMCO data.
 
uint8_t magneto8_a_pin_state (magneto8_t *ctx)
 Gets A pin state.
 
uint8_t magneto8_b_pin_state (magneto8_t *ctx)
 Gets B pin state.
 
uint8_t magneto8_psh_pin_state (magneto8_t *ctx)
 Gets PSH pin state.
 

Detailed Description

This file contains API for Magneto 8 Click driver.