adac4 2.2.0
Loading...
Searching...
No Matches
adac4.h File Reference

This file contains API for ADAC 4 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  adac4_t
 ADAC 4 Click context object. More...
struct  adac4_cfg_t
 ADAC 4 Click configuration object. More...

Macros

#define ADAC4_REG_ADC_SEQ   0x02
 ADAC 4 register list.
#define ADAC4_REG_ADC_DAC_CFG   0x03
#define ADAC4_REG_ADC_SEL   0x04
#define ADAC4_REG_DAC_SEL   0x05
#define ADAC4_REG_PULL_DOWN_SEL   0x06
#define ADAC4_REG_LDAC_CTRL   0x07
#define ADAC4_REG_GPIO_WRITE_SEL   0x08
#define ADAC4_REG_GPIO_WRITE_DATA   0x09
#define ADAC4_REG_GPIO_READ_SEL   0x0A
#define ADAC4_REG_POWER_DOWN_CTRL   0x0B
#define ADAC4_REG_OPEN_DRAIN_CFG   0x0C
#define ADAC4_REG_THREE_STATE_SEL   0x0D
#define ADAC4_REG_SW_RESET   0x0F
#define ADAC4_REG_DAC_WRITE   0x10
#define ADAC4_REG_ADC_READ   0x40
#define ADAC4_REG_DAC_READ   0x50
#define ADAC4_REG_GPIO_READ   0x60
#define ADAC4_REG_CHIP_ID   0x7E
#define ADAC4_ADC_SEQ_REP_EN   0x0200
 ADAC 4 ADC_SEQ register setting.
#define ADAC4_ADC_SEQ_TEMP_EN   0x0100
#define ADAC4_ADC_SEQ_ADC7_SEL   0x0080
#define ADAC4_ADC_SEQ_ADC6_SEL   0x0040
#define ADAC4_ADC_SEQ_ADC5_SEL   0x0020
#define ADAC4_ADC_SEQ_ADC4_SEL   0x0010
#define ADAC4_ADC_SEQ_ADC3_SEL   0x0008
#define ADAC4_ADC_SEQ_ADC2_SEL   0x0004
#define ADAC4_ADC_SEQ_ADC1_SEL   0x0002
#define ADAC4_ADC_SEQ_ADC0_SEL   0x0001
#define ADAC4_ADC_DAC_CFG_PRE_CHARGE_EN   0x0200
 ADAC 4 ADC_DAC_CFG register setting.
#define ADAC4_ADC_DAC_CFG_ADC_BUFFER_EN   0x0100
#define ADAC4_ADC_DAC_CFG_GPIO_LOCK   0x0080
#define ADAC4_ADC_DAC_CFG_DAC_WRITE_ALL   0x0040
#define ADAC4_ADC_DAC_CFG_ADC_RANGE_2X   0x0020
#define ADAC4_ADC_DAC_CFG_DAC_RANGE_2X   0x0010
#define ADAC4_DAC_SEL_CHANNEL_7   0x0080
 ADAC 4 DAC_SEL register setting.
#define ADAC4_DAC_SEL_CHANNEL_6   0x0040
#define ADAC4_DAC_SEL_CHANNEL_5   0x0020
#define ADAC4_DAC_SEL_CHANNEL_4   0x0010
#define ADAC4_DAC_SEL_CHANNEL_3   0x0008
#define ADAC4_DAC_SEL_CHANNEL_2   0x0004
#define ADAC4_DAC_SEL_CHANNEL_1   0x0002
#define ADAC4_DAC_SEL_CHANNEL_0   0x0001
#define ADAC4_DAC_SEL_ALL_CHANNELS   0x00FF
#define ADAC4_DAC_DATA_MSB   0x8000
 ADAC 4 DAC_DATA register setting.
#define ADAC4_DAC_DATA_ADDR_MASK   0x7000
#define ADAC4_DAC_DATA_DATA_MASK   0x0FFF
#define ADAC4_DAC_DATA_MIN   0
#define ADAC4_DAC_DATA_MAX   4095
#define ADAC4_ADC_DATA_MSB   0x8000
 ADAC 4 ADC_DATA register setting.
#define ADAC4_ADC_DATA_ADDR_MASK   0x7000
#define ADAC4_ADC_DATA_DATA_MASK   0x0FFF
#define ADAC4_POWER_DOWN_CTRL_PD_ALL   0x0400
 ADAC 4 POWER_DOWN_CTRL register setting.
#define ADAC4_POWER_DOWN_CTRL_EN_REF   0x0200
#define ADAC4_POWER_DOWN_CTRL_PD7   0x0080
#define ADAC4_POWER_DOWN_CTRL_PD6   0x0040
#define ADAC4_POWER_DOWN_CTRL_PD5   0x0020
#define ADAC4_POWER_DOWN_CTRL_PD4   0x0010
#define ADAC4_POWER_DOWN_CTRL_PD3   0x0008
#define ADAC4_POWER_DOWN_CTRL_PD2   0x0004
#define ADAC4_POWER_DOWN_CTRL_PD1   0x0002
#define ADAC4_POWER_DOWN_CTRL_PD0   0x0001
#define ADAC4_CHIP_ID   0x0808
 ADAC 4 CHIP_ID register setting.
#define ADAC4_TEMP_OFFSET   1024.0
 ADAC 4 temperature calculation setting.
#define ADAC4_TEMP_RES   16.0
#define ADAC4_VREF_INT   2.5
 ADAC 4 VREF setting.
#define ADAC4_CHANNEL_0   0
 ADAC 4 channel selection setting.
#define ADAC4_CHANNEL_1   1
#define ADAC4_CHANNEL_2   2
#define ADAC4_CHANNEL_3   3
#define ADAC4_CHANNEL_4   4
#define ADAC4_CHANNEL_5   5
#define ADAC4_CHANNEL_6   6
#define ADAC4_CHANNEL_7   7
#define ADAC4_DEVICE_ADDRESS_0   0x10
 ADAC 4 device address setting.
#define ADAC4_DEVICE_ADDRESS_1   0x11
#define ADAC4_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.

Enumerations

enum  adac4_return_value_t { ADAC4_OK = 0 , ADAC4_ERROR = -1 }
 ADAC 4 Click return value data. More...

Functions

void adac4_cfg_setup (adac4_cfg_t *cfg)
 ADAC 4 configuration object setup function.
err_t adac4_init (adac4_t *ctx, adac4_cfg_t *cfg)
 ADAC 4 initialization function.
err_t adac4_default_cfg (adac4_t *ctx)
 ADAC 4 default configuration function.
err_t adac4_write_reg (adac4_t *ctx, uint8_t reg, uint16_t data_in)
 ADAC 4 write register function.
err_t adac4_read_reg (adac4_t *ctx, uint8_t reg, uint16_t *data_out)
 ADAC 4 read register function.
void adac4_set_rst_pin (adac4_t *ctx, uint8_t state)
 ADAC 4 set RST pin state function.
void adac4_reset_device (adac4_t *ctx)
 ADAC 4 hardware reset function.
err_t adac4_check_communication (adac4_t *ctx)
 ADAC 4 check communication function.
err_t adac4_write_dac (adac4_t *ctx, uint8_t channel, uint16_t dac_data)
 ADAC 4 write DAC channel function.
err_t adac4_read_raw_adc (adac4_t *ctx, uint8_t channel, uint16_t *raw_adc)
 ADAC 4 read raw ADC value function.
err_t adac4_read_adc_voltage (adac4_t *ctx, uint8_t channel, float *voltage)
 ADAC 4 read ADC voltage function.
err_t adac4_read_die_temp (adac4_t *ctx, float *die_temp)
 ADAC 4 read die temperature function.

Detailed Description

This file contains API for ADAC 4 Click Driver.

Enumeration Type Documentation

◆ adac4_return_value_t

ADAC 4 Click return value data.

Predefined enum values for driver return values.

Enumerator
ADAC4_OK 
ADAC4_ERROR