precision-converters-firmware
Macros | Enumerations | Functions
ad7124_support.h File Reference

Provides useful support functions for the AD7124 No-OS driver. More...

#include "ad7124.h"
Include dependency graph for ad7124_support.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define AD7124_PGA_GAIN(x)   (1 << (x))
 
#define AD7124_ADC_CTRL_REG_POWER_MODE_MSK   NO_OS_GENMASK(7,6)
 
#define AD7124_ADC_CTRL_REG_POWER_MODE_RD(x)   (((x) >> 6) & 0x3)
 
#define AD7124_ADC_CTRL_REG_MSK   NO_OS_GENMASK(5,2)
 
#define AD7124_CH_MAP_REG_SETUP_RD(x)   (((x) >> 12) & 0x7)
 
#define AD7124_CH_MAP_REG_AINP_RD(x)   (((x) >> 5) & 0x1F)
 
#define AD7124_CH_MAP_REG_AINM_RD(x)   (((x) >> 0) & 0x1F)
 
#define AD7124_CFG_REG_PGA_MSK   NO_OS_GENMASK(2, 0)
 
#define AD7124_REF_VOLTAGE   (2.5)
 
#define AD7124_ADC_N_BITS   (24)
 
#define AD7124_IO_CTRL1_REG_IOUT_CH0_MSK   NO_OS_GENMASK(3,0)
 
#define AD7124_IO_CTRL1_REG_IOUT0_MSK   NO_OS_GENMASK(10,8)
 
#define AD7124_IO_CTRL1_REG_IOUT_CH1_MSK   NO_OS_GENMASK(7,4)
 
#define AD7124_IO_CTRL1_REG_IOUT1_MSK   NO_OS_GENMASK(13,11)
 
#define AD7124_ERR_REG_ADC_CAL_ERR_RD(x)   ((x >> 18) & 0x1)
 

Enumerations

enum  adc_control_modes {
  CONTINUOUS_CONV_MODE ,
  SINGLE_CONV_MODE ,
  STANDBY_MODE ,
  POWER_DOWN_MODE ,
  IDLE_MODE ,
  INTERNAL_ZERO_SCALE_CALIBRATE_MODE ,
  INTERNAL_FULL_SCALE_CALIBRATE_MODE ,
  SYSTEM_ZERO_SCALE_CALIBRATE_MODE ,
  SYSTEM_FULL_SCALE_CALIBRATE_MODE
}
 

Functions

uint8_t ad7124_get_channel_setup (struct ad7124_dev *dev, uint8_t channel)
 
uint8_t ad7124_get_channel_pga (struct ad7124_dev *dev, uint8_t channel)
 
bool ad7124_get_channel_bipolar (struct ad7124_dev *dev, uint8_t channel)
 
float ad7124_convert_sample_to_voltage (struct ad7124_dev *dev, uint8_t channel, int32_t sample)
 

Detailed Description

Provides useful support functions for the AD7124 No-OS driver.

Copyright (c) 2019-2021 Analog Devices, Inc. All rights reserved.

This software is proprietary to Analog Devices, Inc. and its licensors. By using this software you agree to the terms of the associated Analog Devices Software License Agreement.

Macro Definition Documentation

◆ AD7124_ADC_CTRL_REG_MSK

#define AD7124_ADC_CTRL_REG_MSK   NO_OS_GENMASK(5,2)

◆ AD7124_ADC_CTRL_REG_POWER_MODE_MSK

#define AD7124_ADC_CTRL_REG_POWER_MODE_MSK   NO_OS_GENMASK(7,6)

◆ AD7124_ADC_CTRL_REG_POWER_MODE_RD

#define AD7124_ADC_CTRL_REG_POWER_MODE_RD (   x)    (((x) >> 6) & 0x3)

◆ AD7124_ADC_N_BITS

#define AD7124_ADC_N_BITS   (24)

◆ AD7124_CFG_REG_PGA_MSK

#define AD7124_CFG_REG_PGA_MSK   NO_OS_GENMASK(2, 0)

◆ AD7124_CH_MAP_REG_AINM_RD

#define AD7124_CH_MAP_REG_AINM_RD (   x)    (((x) >> 0) & 0x1F)

◆ AD7124_CH_MAP_REG_AINP_RD

#define AD7124_CH_MAP_REG_AINP_RD (   x)    (((x) >> 5) & 0x1F)

◆ AD7124_CH_MAP_REG_SETUP_RD

#define AD7124_CH_MAP_REG_SETUP_RD (   x)    (((x) >> 12) & 0x7)

◆ AD7124_ERR_REG_ADC_CAL_ERR_RD

#define AD7124_ERR_REG_ADC_CAL_ERR_RD (   x)    ((x >> 18) & 0x1)

◆ AD7124_IO_CTRL1_REG_IOUT0_MSK

#define AD7124_IO_CTRL1_REG_IOUT0_MSK   NO_OS_GENMASK(10,8)

◆ AD7124_IO_CTRL1_REG_IOUT1_MSK

#define AD7124_IO_CTRL1_REG_IOUT1_MSK   NO_OS_GENMASK(13,11)

◆ AD7124_IO_CTRL1_REG_IOUT_CH0_MSK

#define AD7124_IO_CTRL1_REG_IOUT_CH0_MSK   NO_OS_GENMASK(3,0)

◆ AD7124_IO_CTRL1_REG_IOUT_CH1_MSK

#define AD7124_IO_CTRL1_REG_IOUT_CH1_MSK   NO_OS_GENMASK(7,4)

◆ AD7124_PGA_GAIN

#define AD7124_PGA_GAIN (   x)    (1 << (x))

◆ AD7124_REF_VOLTAGE

#define AD7124_REF_VOLTAGE   (2.5)

Enumeration Type Documentation

◆ adc_control_modes

Enumerator
CONTINUOUS_CONV_MODE 
SINGLE_CONV_MODE 
STANDBY_MODE 
POWER_DOWN_MODE 
IDLE_MODE 
INTERNAL_ZERO_SCALE_CALIBRATE_MODE 
INTERNAL_FULL_SCALE_CALIBRATE_MODE 
SYSTEM_ZERO_SCALE_CALIBRATE_MODE 
SYSTEM_FULL_SCALE_CALIBRATE_MODE 

Function Documentation

◆ ad7124_convert_sample_to_voltage()

float ad7124_convert_sample_to_voltage ( struct ad7124_dev *  dev,
uint8_t  channel,
int32_t  sample 
)

◆ ad7124_get_channel_bipolar()

bool ad7124_get_channel_bipolar ( struct ad7124_dev *  dev,
uint8_t  channel 
)
Here is the caller graph for this function:

◆ ad7124_get_channel_pga()

uint8_t ad7124_get_channel_pga ( struct ad7124_dev *  dev,
uint8_t  channel 
)
Here is the caller graph for this function:

◆ ad7124_get_channel_setup()

uint8_t ad7124_get_channel_setup ( struct ad7124_dev *  dev,
uint8_t  channel 
)