adc18 2.0.0.0
adc18.h File Reference

This file contains API for ADC 18 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  adc18_t
 ADC 18 Click context object. More...
 
struct  adc18_cfg_t
 ADC 18 Click configuration object. More...
 

Macros

#define ADC18_REG_GEN_PROD   0x00
 ADC 18 register map.
 
#define ADC18_REG_GEN_REV   0x01
 
#define ADC18_REG_GEN_CNFG   0x02
 
#define ADC18_REG_GEN_CHNL_CTRL   0x03
 
#define ADC18_REG_GEN_GPIO_CTRL   0x04
 
#define ADC18_REG_GEN_GPI_INT   0x05
 
#define ADC18_REG_GEN_GPI_DATA   0x06
 
#define ADC18_REG_GEN_INT   0x07
 
#define ADC18_REG_GEN_INTEN   0x08
 
#define ADC18_REG_GEN_PWR_CTRL   0x09
 
#define ADC18_REG_DCHNL_CMD   0x20
 
#define ADC18_REG_DCHNL_STA   0x21
 
#define ADC18_REG_DCHNL_CTRL1   0x22
 
#define ADC18_REG_DCHNL_CTRL2   0x23
 
#define ADC18_REG_DCHNL_DATA   0x24
 
#define ADC18_REG_DCHNL_N_SEL   0x25
 
#define ADC18_REG_DCHNL_N_SOC   0x26
 
#define ADC18_REG_DCHNL_N_SGC   0x27
 
#define ADC18_PRODUCT_ID   0x18
 ADC 18 description setting.
 
#define ADC18_GEN_CNFG_CRC_EN   0x800000ul
 ADC 18 SPI CRC enable values.
 
#define ADC18_DATA_RESOLUTION   0x7FFFFFul
 ADC 18 voltage calculation values.
 
#define ADC18_FULL_SCALE_VOLTAGE   12.5
 
#define ADC18_START_CONVERSION   0x30
 ADC 18 DCHNL_CMD register settings.
 
#define ADC18_STOP_CONVERSION   0x10
 
#define ADC18_DATA_RATE_5_SPS   0x00
 
#define ADC18_DATA_RATE_10_SPS   0x01
 
#define ADC18_DATA_RATE_15_SPS   0x02
 
#define ADC18_DATA_RATE_30_SPS   0x03
 
#define ADC18_DATA_RATE_50_SPS   0x04
 
#define ADC18_DATA_RATE_60_SPS   0x05
 
#define ADC18_DATA_RATE_225_SPS   0x06
 
#define ADC18_DATA_RATE_450_SPS   0x07
 
#define ADC18_DATA_RATE_900_SPS   0x08
 
#define ADC18_DATA_RATE_1800_SPS   0x09
 
#define ADC18_DATA_RATE_3600_SPS   0x0A
 
#define ADC18_DATA_RATE_7200_SPS   0x0B
 
#define ADC18_DATA_RATE_14400_SPS   0x0C
 
#define ADC18_DATA_RATE_28800_SPS   0x0D
 
#define ADC18_DATA_RATE_57600_SPS   0x0E
 
#define ADC18_DATA_RATE_115200_SPS   0x0F
 
#define ADC18_PD_STATE_STANDBY   0x00
 ADC 18 DCHNL_CTRL1 register settings.
 
#define ADC18_PD_STATE_RESET   0x10
 
#define ADC18_CONV_MODE_CONTINUOUS   0x00
 
#define ADC18_CONV_MODE_SINGLE_CYCLE   0x02
 
#define ADC18_CONV_MODE_CONT_SINGLE_CYCLE   0x03
 
#define ADC18_CH_AI1_SINGLE_ENDED   0x00
 ADC 18 channel selection values.
 
#define ADC18_CH_AI2_SINGLE_ENDED   0x01
 
#define ADC18_CH_AI3_SINGLE_ENDED   0x02
 
#define ADC18_CH_AI4_SINGLE_ENDED   0x03
 
#define ADC18_CH_AI5_SINGLE_ENDED   0x04
 
#define ADC18_CH_AI6_SINGLE_ENDED   0x05
 
#define ADC18_CH_AI7_SINGLE_ENDED   0x06
 
#define ADC18_CH_AI8_SINGLE_ENDED   0x07
 
#define ADC18_CH_AI9_SINGLE_ENDED   0x08
 
#define ADC18_CH_AI10_SINGLE_ENDED   0x09
 
#define ADC18_CH_AI11_SINGLE_ENDED   0x0A
 
#define ADC18_CH_AI12_SINGLE_ENDED   0x0B
 
#define ADC18_CH_AI1_AI2_DIFFERENTIAL   0x0C
 
#define ADC18_CH_AI3_AI4_DIFFERENTIAL   0x0D
 
#define ADC18_CH_AI5_AI6_DIFFERENTIAL   0x0E
 
#define ADC18_CH_AI7_AI8_DIFFERENTIAL   0x0F
 
#define ADC18_CH_AI9_AI10_DIFFERENTIAL   0x10
 
#define ADC18_CH_AI11_AI12_DIFFERENTIAL   0x11
 
#define ADC18_CH_AI1_COM_AI2_MULTI_DIFF   0x12
 
#define ADC18_CH_AI1_COM_AI3_MULTI_DIFF   0x13
 
#define ADC18_CH_AI4_COM_AI5_MULTI_DIFF   0x14
 
#define ADC18_CH_AI4_COM_AI6_MULTI_DIFF   0x15
 
#define ADC18_CH_AI7_COM_AI8_MULTI_DIFF   0x16
 
#define ADC18_CH_AI7_COM_AI9_MULTI_DIFF   0x17
 
#define ADC18_CH_AI10_COM_AI11_MULTI_DIFF   0x18
 
#define ADC18_CH_AI10_COM_AI12_MULTI_DIFF   0x19
 
#define ADC18_AIP_TEST_DISABLED   0x00
 
#define ADC18_AIP_TEST_2MOHM_TO_AGND   0x40
 
#define ADC18_AIP_TEST_2MOHM_TO_HVDD   0x80
 
#define ADC18_AIP_TEST_2MOHM_TO_HVDD_AGND   0xC0
 
#define ADC18_AIN_TEST_DISABLED   0x00
 
#define ADC18_AIN_TEST_2MOHM_TO_AGND   0x10
 
#define ADC18_AIN_TEST_2MOHM_TO_HVDD   0x20
 
#define ADC18_AIN_TEST_2MOHM_TO_HVDD_AGND   0x30
 
#define ADC18_SET_DATA_SAMPLE_EDGE   SET_SPI_DATA_SAMPLE_EDGE
 Data sample selection.
 
#define ADC18_SET_DATA_SAMPLE_MIDDLE   SET_SPI_DATA_SAMPLE_MIDDLE
 
#define ADC18_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.
 

Enumerations

enum  adc18_return_value_t { ADC18_OK = 0 , ADC18_ERROR = -1 }
 ADC 18 Click return value data. More...
 

Functions

void adc18_cfg_setup (adc18_cfg_t *cfg)
 ADC 18 configuration object setup function.
 
err_t adc18_init (adc18_t *ctx, adc18_cfg_t *cfg)
 ADC 18 initialization function.
 
err_t adc18_default_cfg (adc18_t *ctx)
 ADC 18 default configuration function.
 
err_t adc18_write_register (adc18_t *ctx, uint8_t reg, uint32_t data_in)
 ADC 18 write register function.
 
err_t adc18_read_register (adc18_t *ctx, uint8_t reg, uint32_t *data_out)
 ADC 18 read register function.
 
err_t adc18_enable_spi_crc (adc18_t *ctx)
 ADC 18 enable spi crc function.
 
err_t adc18_disable_spi_crc (adc18_t *ctx)
 ADC 18 disable spi crc function.
 
err_t adc18_check_communication (adc18_t *ctx)
 ADC 18 check communication function.
 
void adc18_reset_device (adc18_t *ctx)
 ADC 18 reset device function.
 
uint8_t adc18_get_rdy_pin (adc18_t *ctx)
 ADC 18 get rdy pin function.
 
uint8_t adc18_get_int_pin (adc18_t *ctx)
 ADC 18 get int pin function.
 
err_t adc18_start_conversion (adc18_t *ctx, uint8_t data_rate)
 ADC 18 start conversion function.
 
err_t adc18_stop_conversion (adc18_t *ctx)
 ADC 18 stop conversion function.
 
err_t adc18_set_conversion_mode (adc18_t *ctx, uint8_t mode)
 ADC 18 set conversion mode function.
 
err_t adc18_set_active_channel (adc18_t *ctx, uint8_t channel)
 ADC 18 set active channel function.
 
err_t adc18_read_raw_adc (adc18_t *ctx, int32_t *raw_adc)
 ADC 18 read raw adc function.
 
err_t adc18_read_voltage (adc18_t *ctx, float *voltage)
 ADC 18 read voltage function.
 

Detailed Description

This file contains API for ADC 18 Click Driver.

Enumeration Type Documentation

◆ adc18_return_value_t

ADC 18 Click return value data.

Predefined enum values for driver return values.

Enumerator
ADC18_OK 
ADC18_ERROR