gaussmeter 2.0.0.0
gaussmeter.h File Reference

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

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_i2c_master.h"
#include "drv_spi_master.h"

Go to the source code of this file.

Data Structures

struct  gaussmeter_axis_t
 Axis object definition. More...
 
struct  gaussmeter_aux_t
 Auxiliary object definition. More...
 
struct  gaussmeter_s
 Click ctx object definition. More...
 
struct  gaussmeter_cfg_t
 Click configuration structure definition. More...
 

Macros

#define GAUSSMETER_MAP_MIKROBUS(cfg, mikrobus)
 
#define GAUSSMETER_MASTER_I2C   0
 
#define GAUSSMETER_MASTER_SPI   1
 
#define GAUSSMETER_RETVAL   uint8_t
 
#define GAUSSMETER_OK   0x00
 
#define GAUSSMETER_INIT_ERROR   0xFF
 
#define GAUSSMETER_CONFIG1_REG   0x00
 
#define GAUSSMETER_CONFIG2_REG   0x01
 
#define GAUSSMETER_CONFIG3_REG   0x02
 
#define GAUSSMETER_CONFIG4_REG   0x03
 
#define GAUSSMETER_OFFSET_X_REG   0x04
 
#define GAUSSMETER_OFFSET_Y_REG   0x05
 
#define GAUSSMETER_OFFSET_Z_REG   0x06
 
#define GAUSSMETER_WOCXY_THRESHOLD_REG   0x07
 
#define GAUSSMETER_WOCZ_THRESHOLD_REG   0x08
 
#define GAUSSMETER_WOCT_THRESHOLD_REG   0x09
 
#define GAUSSMETER_GAIN_0   0x0000
 
#define GAUSSMETER_GAIN_1   0x0010
 
#define GAUSSMETER_GAIN_2   0x0020
 
#define GAUSSMETER_GAIN_3   0x0030
 
#define GAUSSMETER_GAIN_4   0x0040
 
#define GAUSSMETER_GAIN_5   0x0050
 
#define GAUSSMETER_GAIN_6   0x0060
 
#define GAUSSMETER_GAIN_7   0x0070
 
#define GAUSSMETER_BUILT_IN_SELF_TEST_DIS   0x0000
 
#define GAUSSMETER_BUILT_IN_SELF_TEST_EN   0x0100
 
#define GAUSSMETER_DIS_Z_MEASURE_PLATES   0x0000
 
#define GAUSSMETER_EN_Z_MEASURE_PLATES   0x0080
 
#define GAUSSMETER_TRIG_MODE   0x0000
 
#define GAUSSMETER_INT_MODE   0x8000
 
#define GAUSSMETER_SPI_ONLY   0x4000
 
#define GAUSSMETER_I2C_ONLY   0x0600
 
#define GAUSSMETER_BOTH_DRIVER   0x0000
 
#define GAUSSMETER_WOC_DIFF_DIS   0x0000
 
#define GAUSSMETER_WOC_DIFF_EN   0x1000
 
#define GAUSSMETER_EXT_TRIG_DIS   0x0000
 
#define GAUSSMETER_EXT_TRIG_EN   0x0800
 
#define GAUSSMETER_TCMP_DIS   0x0000
 
#define GAUSSMETER_TCMP_EN   0x0400
 
#define GAUSSMETER_RES_0   0x0000
 
#define GAUSSMETER_RES_1   0x0020
 
#define GAUSSMETER_RES_2   0x0040
 
#define GAUSSMETER_RES_3   0x0060
 
#define GAUSSMETER_START_BURST_MODE_COMM   0x10
 
#define GAUSSMETER_START_WOC_MODE_COMM   0x20
 
#define GAUSSMETER_START_SINGLE_MEAS_MODE_COMM   0x30
 
#define GAUSSMETER_READ_MEAS_COMM   0x40
 
#define GAUSSMETER_READ_REG_COMM   0x50
 
#define GAUSSMETER_WRITE_REG_COMM   0x60
 
#define GAUSSMETER_EXIT_MODE_COMM   0x80
 
#define GAUSSMETER_MEM_RECALL_COMM   0xD0
 
#define GAUSSMETER_MEM_STORE_COMM   0xE0
 
#define GAUSSMETER_RESET_COMM   0xF0
 
#define GAUSSMETER_EN_Z_AXIS   0x01
 
#define GAUSSMETER_DIS_Z_AXIS   0x00
 
#define GAUSSMETER_EN_Y_AXIS   0x01
 
#define GAUSSMETER_DIS_Y_AXIS   0x00
 
#define GAUSSMETER_EN_X_AXIS   0x01
 
#define GAUSSMETER_DIS_X_AXIS   0x00
 
#define GAUSSMETER_EN_TEMP_MEAS   0x01
 
#define GAUSSMETER_DIS_TEMP_MEAS   0x00
 
#define GAUSSMETER_EN_SPI_DRIVER   0x00
 
#define GAUSSMETER_DIS_SPI_DRIVER   0x01
 

Typedefs

typedef uint8_t gaussmeter_select_t
 Communication type.
 
typedef void(* gaussmeter_master_io_t) (struct gaussmeter_s *, uint8_t *, uint8_t, uint8_t *, uint8_t)
 
typedef struct gaussmeter_s gaussmeter_t
 Click ctx object definition.
 

Functions

void gaussmeter_cfg_setup (gaussmeter_cfg_t *cfg)
 Config Object Initialization function.
 
GAUSSMETER_RETVAL gaussmeter_init (gaussmeter_t *ctx, gaussmeter_cfg_t *cfg)
 Initialization function.
 
void gaussmeter_default_cfg (gaussmeter_t *ctx)
 Click Default Configuration function.
 
uint8_t gaussmeter_write_reg (gaussmeter_t *ctx, uint8_t reg_addr, uint16_t transfer_data)
 Write register function.
 
uint8_t gaussmeter_send_command (gaussmeter_t *ctx, uint8_t command)
 Send command function.
 
void gaussmeter_enable_measure (gaussmeter_t *ctx, uint8_t temp)
 Enable measure function.
 
uint8_t gaussmeter_get_data (gaussmeter_t *ctx, float *output_data)
 Get data function.
 
void gaussmeter_generic_data_transfer (gaussmeter_t *ctx, uint8_t *write_buf, uint8_t write_len, uint8_t *read_buf, uint8_t read_len)
 Generic read function.
 
uint8_t gaussmeter_digital_read_int (gaussmeter_t *ctx)
 Digital read interrupt function.
 
uint8_t gaussmeter_digital_read_pwm (gaussmeter_t *ctx)
 Digital read pwm function.
 

Detailed Description

This file contains API for Gaussmeter Click driver.