37#ifndef DRIVER_MCP3421_H
38#define DRIVER_MCP3421_H
129#define DRIVER_MCP3421_LINK_INIT(HANDLE, STRUCTURE) memset(HANDLE, 0, sizeof(STRUCTURE))
137#define DRIVER_MCP3421_LINK_IIC_INIT(HANDLE, FUC) (HANDLE)->iic_init = FUC
145#define DRIVER_MCP3421_LINK_IIC_DEINIT(HANDLE, FUC) (HANDLE)->iic_deinit = FUC
153#define DRIVER_MCP3421_LINK_IIC_READ_COMMAND(HANDLE, FUC) (HANDLE)->iic_read_cmd = FUC
161#define DRIVER_MCP3421_LINK_IIC_WRITE_COMMAND(HANDLE, FUC) (HANDLE)->iic_write_cmd = FUC
169#define DRIVER_MCP3421_LINK_DELAY_MS(HANDLE, FUC) (HANDLE)->delay_ms = FUC
177#define DRIVER_MCP3421_LINK_DEBUG_PRINT(HANDLE, FUC) (HANDLE)->debug_print = FUC
uint8_t mcp3421_get_adc_bit(mcp3421_handle_t *handle, mcp3421_bit_t *adc_bit)
get the adc bit
uint8_t mcp3421_set_pga(mcp3421_handle_t *handle, mcp3421_pga_t pga)
set the adc pga
uint8_t mcp3421_set_adc_bit(mcp3421_handle_t *handle, mcp3421_bit_t adc_bit)
set the adc bit
uint8_t mcp3421_start_continuous_read(mcp3421_handle_t *handle)
start the chip reading
mcp3421_pga_t
mcp3421 pga enumeration definition
uint8_t mcp3421_single_read(mcp3421_handle_t *handle, int32_t *raw, double *v)
read data from the chip once
uint8_t mcp3421_init(mcp3421_handle_t *handle)
initialize the chip
uint8_t mcp3421_deinit(mcp3421_handle_t *handle)
close the chip
uint8_t mcp3421_stop_continuous_read(mcp3421_handle_t *handle)
stop the chip reading
uint8_t mcp3421_continuous_read(mcp3421_handle_t *handle, int32_t *raw, double *v)
read data from the chip continuously
uint8_t mcp3421_get_pga(mcp3421_handle_t *handle, mcp3421_pga_t *pga)
get the adc pga
mcp3421_bit_t
mcp3421 bit enumeration definition
struct mcp3421_handle_s mcp3421_handle_t
mcp3421 handle structure definition
struct mcp3421_info_s mcp3421_info_t
mcp3421 information structure definition
uint8_t mcp3421_info(mcp3421_info_t *info)
get chip's information
uint8_t mcp3421_set_reg(mcp3421_handle_t *handle, uint8_t *buf, uint16_t len)
set the chip register
uint8_t mcp3421_get_reg(mcp3421_handle_t *handle, uint8_t *buf, uint16_t len)
get the chip register
mcp3421 handle structure definition
void(* delay_ms)(uint32_t ms)
void(* debug_print)(const char *const fmt,...)
uint8_t(* iic_init)(void)
uint8_t(* iic_read_cmd)(uint8_t addr, uint8_t *buf, uint16_t len)
uint8_t(* iic_deinit)(void)
uint8_t(* iic_write_cmd)(uint8_t addr, uint8_t *buf, uint16_t len)
mcp3421 information structure definition
float supply_voltage_max_v
char manufacturer_name[32]
float supply_voltage_min_v