adc16 2.0.0.0
adc16.h File Reference

This file contains API for ADC 16 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  adc16_t
 ADC 16 Click context object. More...
 
struct  adc16_cfg_t
 ADC 16 Click configuration object. More...
 

Macros

#define ADC16_OPCODE_SINGLE_READ   0x10
 ADC 16 Opcodes for Commands.
 
#define ADC16_OPCODE_SINGLE_WRITE   0x08
 
#define ADC16_OPCODE_SET_BIT   0x18
 
#define ADC16_OPCODE_CLEAR_BIT   0x20
 
#define ADC16_OPCODE_CONTINUOUS_READ   0x30
 
#define ADC16_OPCODE_CONTINUOUS_WRITE   0x28
 
#define ADC16_REG_OPMODE_I2CMODE_STATUS   0x00
 ADC 16 Register Map.
 
#define ADC16_REG_DATA_BUFFER_STATUS   0x01
 
#define ADC16_REG_ACCUMULATOR_STATUS   0x02
 
#define ADC16_REG_ALERT_TRIG_CHID   0x03
 
#define ADC16_REG_SEQUENCE_STATUS   0x04
 
#define ADC16_REG_ACC_CH0_LSB   0x08
 
#define ADC16_REG_ACC_CH0_MSB   0x09
 
#define ADC16_REG_ACC_CH1_LSB   0x0A
 
#define ADC16_REG_ACC_CH1_MSB   0x0B
 
#define ADC16_REG_ALERT_LOW_FLAGS   0x0C
 
#define ADC16_REG_ALERT_HIGH_FLAGS   0x0E
 
#define ADC16_REG_DEVICE_RESET   0x14
 
#define ADC16_REG_OFFSET_CAL   0x15
 
#define ADC16_REG_WKEY   0x17
 
#define ADC16_REG_OSC_SEL   0x18
 
#define ADC16_REG_NCLK_SEL   0x19
 
#define ADC16_REG_OPMODE_SEL   0x1C
 
#define ADC16_REG_START_SEQUENCE   0x1E
 
#define ADC16_REG_ABORT_SEQUENCE   0x1F
 
#define ADC16_REG_AUTO_SEQ_CHEN   0x20
 
#define ADC16_REG_CH_INPUT_CFG   0x24
 
#define ADC16_REG_DOUT_FORMAT_CFG   0x28
 
#define ADC16_REG_DATA_BUFFER_OPMODE   0x2C
 
#define ADC16_REG_ACC_EN   0x30
 
#define ADC16_REG_ALERT_CHEN   0x34
 
#define ADC16_REG_PRE_ALT_MAX_EVENT_COUNT   0x36
 
#define ADC16_REG_ALERT_DWC_EN   0x37
 
#define ADC16_REG_DWC_HTH_CH0_LSB   0x38
 
#define ADC16_REG_DWC_HTH_CH0_MSB   0x39
 
#define ADC16_REG_DWC_LTH_CH0_LSB   0x3A
 
#define ADC16_REG_DWC_LTH_CH0_MSB   0x3B
 
#define ADC16_REG_DWC_HTH_CH1_LSB   0x3C
 
#define ADC16_REG_DWC_HTH_CH1_MSB   0x3D
 
#define ADC16_REG_DWC_LTH_CH1_LSB   0x3E
 
#define ADC16_REG_DWC_LTH_CH1_MSB   0x3F
 
#define ADC16_REG_DWC_HYS_CH0   0x40
 
#define ADC16_REG_DWC_HYS_CH1   0x41
 
#define ADC16_WKEY_UNLOCK   0x0A
 ADC 16 WKEY values.
 
#define ADC16_WKEY_LOCK   0x00
 
#define ADC16_DEVICE_RESET   0x01
 ADC 16 device reset value.
 
#define ADC16_START_CALIBRATION   0x01
 ADC 16 start calibration value.
 
#define ADC16_CH_CFG_TWO_CH_SINGLE_END   0x00
 ADC 16 channel input config values.
 
#define ADC16_CH_CFG_SIN_CH_SINGLE_END_RMT_GND   0x01
 
#define ADC16_CH_CFG_SIN_CH_SINGLE_END_PSEUDO_DIFF   0x02
 
#define ADC16_OPMODE_SEL_MAN_WITH_CH0   0x00
 ADC 16 opmode sel values.
 
#define ADC16_OPMODE_SEL_MAN_WITH_AUTO_SEQ   0x04
 
#define ADC16_OPMODE_SEL_AUTO_WITH_AUTO_SEQ   0x06
 
#define ADC16_OPMODE_SEL_HIGH_PREC_WITH_AUTO_SEQ   0x07
 
#define ADC16_AUTOSEQ_EN_CH0   0x01
 ADC 16 auto sequence channel enable values.
 
#define ADC16_AUTOSEQ_EN_CH1   0x02
 
#define ADC16_AUTOSEQ_EN_BOTH_CH   0x03
 
#define ADC16_START_SEQUENCE   0x01
 ADC 16 start and abort sequence values.
 
#define ADC16_ABORT_SEQUENCE   0x01
 
#define ADC16_RESOLUTION   0x0FFF
 ADC 16 calculation values.
 
#define ADC16_VREF   3.3
 
#define ADC16_DEV_ADDR_R1_0_R2_DNP   0x1F
 ADC 16 device address setting.
 
#define ADC16_DEV_ADDR_R1_11K_R2_DNP   0x1E
 
#define ADC16_DEV_ADDR_R1_33K_R2_DNP   0x1D
 
#define ADC16_DEV_ADDR_R1_100K_R2_DNP   0x1C
 
#define ADC16_DEV_ADDR_R1_DNP_R2_DNP   0x18
 
#define ADC16_DEV_ADDR_R1_DNP_R2_11K   0x19
 
#define ADC16_DEV_ADDR_R1_DNP_R2_33K   0x1A
 
#define ADC16_DEV_ADDR_R1_DNP_R2_100K   0x1B
 
#define ADC16_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.
 

Enumerations

enum  adc16_return_value_t { ADC16_OK = 0 , ADC16_ERROR = -1 }
 ADC 16 Click return value data. More...
 

Functions

void adc16_cfg_setup (adc16_cfg_t *cfg)
 ADC 16 configuration object setup function.
 
err_t adc16_init (adc16_t *ctx, adc16_cfg_t *cfg)
 ADC 16 initialization function.
 
err_t adc16_default_cfg (adc16_t *ctx)
 ADC 16 default configuration function.
 
err_t adc16_single_register_write (adc16_t *ctx, uint8_t reg, uint8_t data_in)
 ADC 16 single register write function.
 
err_t adc16_single_register_read (adc16_t *ctx, uint8_t reg, uint8_t *data_out)
 ADC 16 single register read function.
 
err_t adc16_set_register_bits (adc16_t *ctx, uint8_t reg, uint8_t bit_mask)
 ADC 16 set register bits function.
 
err_t adc16_clear_register_bits (adc16_t *ctx, uint8_t reg, uint8_t bit_mask)
 ADC 16 clear register bits function.
 
err_t adc16_continuous_register_write (adc16_t *ctx, uint8_t reg, uint8_t *tx_buf, uint8_t tx_len)
 ADC 16 continuous register write function.
 
err_t adc16_continuous_register_read (adc16_t *ctx, uint8_t reg, uint8_t *rx_buf, uint8_t rx_len)
 ADC 16 continuous register read function.
 
uint8_t adc16_get_rdy_pin (adc16_t *ctx)
 ADC 16 get rdy pin function.
 
uint8_t adc16_get_alr_pin (adc16_t *ctx)
 ADC 16 get alr pin function.
 
err_t adc16_get_voltage (adc16_t *ctx, float *ain0_voltage, float *ain1_voltage)
 ADC 16 get voltage function.
 

Detailed Description

This file contains API for ADC 16 Click Driver.

Enumeration Type Documentation

◆ adc16_return_value_t

ADC 16 Click return value data.

Predefined enum values for driver return values.

Enumerator
ADC16_OK 
ADC16_ERROR