adc20 2.1.0.0
adc20.h File Reference

This file contains API for ADC 20 Click Driver. More...

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

Go to the source code of this file.

Data Structures

struct  adc20_t
 ADC 20 Click context object. More...
 
struct  adc20_cfg_t
 ADC 20 Click configuration object. More...
 

Macros

#define ADC20_CMD_NOP   0x00
 ADC 20 opcodes for commands list.
 
#define ADC20_CMD_REG_READ   0x10
 
#define ADC20_CMD_REG_WRITE   0x08
 
#define ADC20_CMD_SET_BIT   0x18
 
#define ADC20_CMD_CLEAR_BIT   0x20
 
#define ADC20_REG_SYSTEM_STATUS   0x00
 ADC 20 registers list.
 
#define ADC20_REG_GENERAL_CFG   0x01
 
#define ADC20_REG_DATA_CFG   0x02
 
#define ADC20_REG_OSR_CFG   0x03
 
#define ADC20_REG_OPMODE_CFG   0x04
 
#define ADC20_REG_PIN_CFG   0x05
 
#define ADC20_REG_GPIO_CFG   0x07
 
#define ADC20_REG_GPO_DRIVE_CFG   0x09
 
#define ADC20_REG_GPO_VALUE   0x0B
 
#define ADC20_REG_GPI_VALUE   0x0D
 
#define ADC20_REG_SEQUENCE_CFG   0x10
 
#define ADC20_REG_CHANNEL_SEL   0x11
 
#define ADC20_REG_AUTO_SEQ_CH_SEL   0x12
 
#define ADC20_DATA_CFG_FIX_PAT   0x80
 ADC 20 DATA_CFG register setting.
 
#define ADC20_DATA_CFG_APPEND_CHANNEL_ID   0x10
 
#define ADC20_DATA_CFG_SPI_MODE_0   0x00
 
#define ADC20_DATA_CFG_SPI_MODE_1   0x01
 
#define ADC20_DATA_CFG_SPI_MODE_2   0x02
 
#define ADC20_DATA_CFG_SPI_MODE_3   0x03
 
#define ADC20_DATA_CFG_SPI_MODE_MASK   0x03
 
#define ADC20_FIXED_CODE   0xA5A0
 ADC 20 Fixed code value.
 
#define ADC20_CHANNEL_0   0x01
 ADC 20 channel mask.
 
#define ADC20_CHANNEL_1   0x02
 
#define ADC20_CHANNEL_2   0x04
 
#define ADC20_CHANNEL_3   0x08
 
#define ADC20_CHANNEL_4   0x10
 
#define ADC20_CHANNEL_5   0x20
 
#define ADC20_CHANNEL_6   0x40
 
#define ADC20_CHANNEL_7   0x80
 
#define ADC20_CHANNEL_NONE   0x00
 
#define ADC20_CHANNEL_MASK   0xFF
 
#define ADC20_CHANNEL_ID_0   0
 ADC 20 channel ID values.
 
#define ADC20_CHANNEL_ID_1   1
 
#define ADC20_CHANNEL_ID_2   2
 
#define ADC20_CHANNEL_ID_3   3
 
#define ADC20_CHANNEL_ID_4   4
 
#define ADC20_CHANNEL_ID_5   5
 
#define ADC20_CHANNEL_ID_6   6
 
#define ADC20_CHANNEL_ID_7   7
 
#define ADC20_CHANNEL_ID_MASK   0x0F
 
#define ADC20_PIN_CFG_ANALOG   0
 ADC 20 PIN_CFG register settings.
 
#define ADC20_PIN_CFG_GPIO   1
 
#define ADC20_GPIO_CFG_DIG_INPUT   0
 ADC 20 GPIO_CFG register settings.
 
#define ADC20_GPIO_CFG_DIG_OUTPUT   1
 
#define ADC20_GPO_DRIVE_CFG_OPEN_DRAIN   0
 ADC 20 GPO_DRIVE_CFG register settings.
 
#define ADC20_GPO_DRIVE_CFG_PUSH_PULL   1
 
#define ADC20_GPIO_VALUE_LOW   0
 ADC 20 GPIO value settings.
 
#define ADC20_GPIO_VALUE_HIGH   1
 
#define ADC20_OSR_NO_AVERAGING   0x00
 ADC 20 OSR_CFG register setting.
 
#define ADC20_OSR_2_SAMPLES   0x01
 
#define ADC20_OSR_4_SAMPLES   0x02
 
#define ADC20_OSR_8_SAMPLES   0x03
 
#define ADC20_OSR_16_SAMPLES   0x04
 
#define ADC20_OSR_32_SAMPLES   0x05
 
#define ADC20_OSR_64_SAMPLES   0x06
 
#define ADC20_OSR_128_SAMPLES   0x07
 
#define ADC20_OSR_MASK   0x07
 
#define ADC20_SEQ_STOP   0x00
 ADC 20 SEQUENCE_CFG register setting.
 
#define ADC20_SEQ_START   0x10
 
#define ADC20_SEQ_MODE_MANUAL   0x00
 
#define ADC20_SEQ_MODE_AUTO   0x01
 
#define ADC20_SEQ_MODE_OTF   0x02
 
#define ADC20_SEQ_MODE_MASK   0x03
 
#define ADC20_ADC_OFFSET   4
 ADC 20 ADC setting.
 
#define ADC20_RES_12BIT   0x0FFF
 
#define ADC20_VREF_3V3   3.3f
 
#define ADC20_SET_DATA_SAMPLE_EDGE   SET_SPI_DATA_SAMPLE_EDGE
 Data sample selection.
 
#define ADC20_SET_DATA_SAMPLE_MIDDLE   SET_SPI_DATA_SAMPLE_MIDDLE
 
#define ADC20_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.
 

Enumerations

enum  adc20_return_value_t { ADC20_OK = 0 , ADC20_ERROR = -1 }
 ADC 20 Click return value data. More...
 

Functions

void adc20_cfg_setup (adc20_cfg_t *cfg)
 ADC 20 configuration object setup function.
 
err_t adc20_init (adc20_t *ctx, adc20_cfg_t *cfg)
 ADC 20 initialization function.
 
err_t adc20_default_cfg (adc20_t *ctx)
 ADC 20 default configuration function.
 
err_t adc20_write_register (adc20_t *ctx, uint8_t reg, uint8_t data_in)
 ADC 20 write register function.
 
err_t adc20_read_register (adc20_t *ctx, uint8_t reg, uint8_t *data_out)
 ADC 20 read register function.
 
err_t adc20_read_data (adc20_t *ctx, uint16_t *data_out)
 ADC 20 read data function.
 
err_t adc20_check_communication (adc20_t *ctx)
 ADC 20 check communication function.
 
err_t adc20_start_auto_sequence (adc20_t *ctx)
 ADC 20 start auto sequence function.
 
err_t adc20_stop_auto_sequence (adc20_t *ctx)
 ADC 20 stop auto sequence function.
 
err_t adc20_set_pin_config (adc20_t *ctx, uint8_t ch_mask, uint8_t pin_cfg)
 ADC 20 set pin config function.
 
err_t adc20_set_gpio_config (adc20_t *ctx, uint8_t ch_mask, uint8_t gpio_cfg)
 ADC 20 set gpio config function.
 
err_t adc20_set_gpo_drive_config (adc20_t *ctx, uint8_t ch_mask, uint8_t gpo_drive_cfg)
 ADC 20 set gpo drive config function.
 
err_t adc20_set_gpo_value (adc20_t *ctx, uint8_t ch_mask, uint8_t value)
 ADC 20 set gpo value function.
 
err_t adc20_read_gpio_value (adc20_t *ctx, uint8_t *gpio_value)
 ADC 20 read gpio value function.
 

Detailed Description

This file contains API for ADC 20 Click Driver.

Enumeration Type Documentation

◆ adc20_return_value_t

ADC 20 Click return value data.

Predefined enum values for driver return values.

Enumerator
ADC20_OK 
ADC20_ERROR