no-OS
|
Header file of AD5592R Base Driver. More...
#include "stdint.h"
#include "no_os_delay.h"
#include "no_os_spi.h"
#include "no_os_i2c.h"
#include "no_os_util.h"
#include <stdbool.h>
Go to the source code of this file.
Classes | |
struct | ad5592r_rw_ops |
struct | ad5592r_init_param |
struct | ad5592r_dev |
Enumerations | |
enum | ad5592r_registers { AD5592R_REG_NOOP = 0x0, AD5592R_REG_DAC_READBACK = 0x1, AD5592R_REG_ADC_SEQ = 0x2, AD5592R_REG_CTRL = 0x3, AD5592R_REG_ADC_EN = 0x4, AD5592R_REG_DAC_EN = 0x5, AD5592R_REG_PULLDOWN = 0x6, AD5592R_REG_LDAC = 0x7, AD5592R_REG_GPIO_OUT_EN = 0x8, AD5592R_REG_GPIO_SET = 0x9, AD5592R_REG_GPIO_IN_EN = 0xA, AD5592R_REG_PD = 0xB, AD5592R_REG_OPEN_DRAIN = 0xC, AD5592R_REG_TRISTATE = 0xD, AD5592R_REG_RESET = 0xF } |
Functions | |
int32_t | ad5592r_base_reg_write (struct ad5592r_dev *dev, uint8_t reg, uint16_t value) |
int32_t | ad5592r_base_reg_read (struct ad5592r_dev *dev, uint8_t reg, uint16_t *value) |
int32_t | ad5592r_gpio_get (struct ad5592r_dev *dev, uint8_t offset) |
int32_t | ad5592r_gpio_set (struct ad5592r_dev *dev, uint8_t offset, int32_t value) |
int32_t | ad5592r_gpio_direction_input (struct ad5592r_dev *dev, uint8_t offset) |
int32_t | ad5592r_gpio_direction_output (struct ad5592r_dev *dev, uint8_t offset, int32_t value) |
int32_t | ad5592r_software_reset (struct ad5592r_dev *dev) |
int32_t | ad5592r_set_channel_modes (struct ad5592r_dev *dev) |
int32_t | ad5592r_reset_channel_modes (struct ad5592r_dev *dev) |
Header file of AD5592R Base Driver.
Copyright 2018, 2020(c) Analog Devices, Inc.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES, INC. “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANALOG DEVICES, INC. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define AD5592R_REG_ADC_SEQ_CODE_MSK | ( | x | ) | ((x) & 0x0FFF) |
#define AD5592R_REG_ADC_SEQ_REP NO_OS_BIT(9) |
#define AD5592R_REG_ADC_SEQ_TEMP_READBACK NO_OS_BIT(8) |
#define AD5592R_REG_CTRL_ADC_BUFF_EN NO_OS_BIT(8) |
#define AD5592R_REG_CTRL_ADC_PC_BUFF NO_OS_BIT(9) |
#define AD5592R_REG_CTRL_ADC_RANGE NO_OS_BIT(5) |
#define AD5592R_REG_CTRL_CONFIG_LOCK NO_OS_BIT(7) |
#define AD5592R_REG_CTRL_DAC_RANGE NO_OS_BIT(4) |
#define AD5592R_REG_CTRL_W_ALL_DACS NO_OS_BIT(6) |
#define AD5592R_REG_GPIO_OUT_EN_ADC_NOT_BUSY NO_OS_BIT(8) |
#define AD5592R_REG_LDAC_IMMEDIATE_OUT 0x00 |
#define AD5592R_REG_LDAC_INPUT_REG_ONLY 0x01 |
#define AD5592R_REG_LDAC_INPUT_REG_OUT 0x02 |
#define AD5592R_REG_PD_EN_REF NO_OS_BIT(9) |
#define AD5592R_REG_PD_PD_ALL NO_OS_BIT(10) |
#define CH_MODE_ADC 1 |
#define CH_MODE_DAC 2 |
#define CH_MODE_DAC_AND_ADC 3 |
#define CH_MODE_GPI 4 |
#define CH_MODE_GPO 5 |
#define CH_MODE_UNUSED 0 |
#define CH_OFFSTATE_OUT_HIGH 2 |
#define CH_OFFSTATE_OUT_LOW 1 |
#define CH_OFFSTATE_OUT_TRISTATE 3 |
#define CH_OFFSTATE_PULLDOWN 0 |
#define INTERNAL_VREF_VOLTAGE 2.5 |
enum ad5592r_registers |
int32_t ad5592r_base_reg_read | ( | struct ad5592r_dev * | dev, |
uint8_t | reg, | ||
uint16_t * | value | ||
) |
Read register.
dev | - The device structure. |
reg | - The register address. |
value | - register value |
int32_t ad5592r_base_reg_write | ( | struct ad5592r_dev * | dev, |
uint8_t | reg, | ||
uint16_t | value | ||
) |
Write register.
dev | - The device structure. |
reg | - The register address. |
value | - register value |
int32_t ad5592r_gpio_direction_input | ( | struct ad5592r_dev * | dev, |
uint8_t | offset | ||
) |
Set GPIO as input
dev | - The device structure. |
offset | - The channel number. |
int32_t ad5592r_gpio_direction_output | ( | struct ad5592r_dev * | dev, |
uint8_t | offset, | ||
int32_t | value | ||
) |
Set GPIO as output
dev | - The device structure. |
offset | - The channel number. |
value | - GPIO value to set. |
int32_t ad5592r_gpio_get | ( | struct ad5592r_dev * | dev, |
uint8_t | offset | ||
) |
Get GPIO value
dev | - The device structure. |
offset | - The channel number. |
int32_t ad5592r_gpio_set | ( | struct ad5592r_dev * | dev, |
uint8_t | offset, | ||
int32_t | value | ||
) |
Set GPIO value
dev | - The device structure. |
offset | - The channel number. |
value | - the GPIO value (0 or 1) |
int32_t ad5592r_reset_channel_modes | ( | struct ad5592r_dev * | dev | ) |
Reset channels and set GPIO to unused.
dev | - The device structure. |
int32_t ad5592r_set_channel_modes | ( | struct ad5592r_dev * | dev | ) |
Set channels modes.
dev | - The device structure. |
int32_t ad5592r_software_reset | ( | struct ad5592r_dev * | dev | ) |
Software reset device.
dev | - The device structure. |