no-OS
Loading...
Searching...
No Matches
ad5592r.c File Reference

Implementation of AD5592R driver. More...

#include "no_os_error.h"
#include "ad5592r-base.h"
#include "ad5592r.h"
Include dependency graph for ad5592r.c:

Functions

int32_t ad5592r_spi_wnop_r16 (struct ad5592r_dev *dev, uint16_t *buf)
 
int32_t ad5592r_write_dac (struct ad5592r_dev *dev, uint8_t chan, uint16_t value)
 
int32_t ad5592r_read_adc (struct ad5592r_dev *dev, uint8_t chan, uint16_t *value)
 
int32_t ad5592r_enable_busy (struct ad5592r_dev *dev, bool enable)
 
int32_t ad5592r_multi_read_adc (struct ad5592r_dev *dev, uint16_t chans, uint16_t *values)
 
int32_t ad5592r_reg_write (struct ad5592r_dev *dev, uint8_t reg, uint16_t value)
 
int32_t ad5592r_reg_read (struct ad5592r_dev *dev, uint8_t reg, uint16_t *value)
 
int32_t ad5592r_gpio_read (struct ad5592r_dev *dev, uint8_t *value)
 
int32_t ad5592r_init (struct ad5592r_dev **device, struct ad5592r_init_param *init_param)
 
int32_t ad5592r_remove (struct ad5592r_dev *dev)
 

Variables

const struct ad5592r_rw_ops ad5592r_rw_ops
 

Detailed Description

Implementation of AD5592R driver.

Author
Mircea Caprioru (mirce.nosp@m.a.ca.nosp@m.prior.nosp@m.u@an.nosp@m.alog..nosp@m.com)
Niel Acuna (niel..nosp@m.acun.nosp@m.a@ana.nosp@m.log..nosp@m.com)

Copyright 2018, 2020, 2025, 2026 (c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

Function Documentation

◆ ad5592r_enable_busy()

int32_t ad5592r_enable_busy ( struct ad5592r_dev * dev,
bool enable )

Enable Busy Indicator.

Parameters
dev- The device structure.
enable- Enable/Disable busy Indicator.
Returns
0 in case of success, negative error code otherwise

◆ ad5592r_gpio_read()

int32_t ad5592r_gpio_read ( struct ad5592r_dev * dev,
uint8_t * value )

Read GPIOs.

Parameters
dev- The device structure.
value- GPIOs value.
Returns
0 in case of success, negative error code otherwise

◆ ad5592r_init()

int32_t ad5592r_init ( struct ad5592r_dev ** device,
struct ad5592r_init_param * init_param )

Initialize AD5593r device.

Parameters
device- The device structure.
init_param- The initial parameters of the device.
Returns
0 in case of success, negative error code otherwise

◆ ad5592r_multi_read_adc()

int32_t ad5592r_multi_read_adc ( struct ad5592r_dev * dev,
uint16_t chans,
uint16_t * values )

Read Multiple ADC Channels.

Parameters
dev- The device structure.
chans- The ADC channels to be readback
values- ADC value array
Returns
0 in case of success, negative error code otherwise

◆ ad5592r_read_adc()

int32_t ad5592r_read_adc ( struct ad5592r_dev * dev,
uint8_t chan,
uint16_t * value )

Read ADC channel.

Parameters
dev- The device structure.
chan- The channel number.
value- ADC value
Returns
0 in case of success, negative error code otherwise

◆ ad5592r_reg_read()

int32_t ad5592r_reg_read ( struct ad5592r_dev * dev,
uint8_t reg,
uint16_t * value )

Read register.

Parameters
dev- The device structure.
reg- The register address.
value- register value
Returns
0 in case of success, negative error code otherwise

◆ ad5592r_reg_write()

int32_t ad5592r_reg_write ( struct ad5592r_dev * dev,
uint8_t reg,
uint16_t value )

Write register.

Parameters
dev- The device structure.
reg- The register address.
value- register value
Returns
0 in case of success, negative error code otherwise

◆ ad5592r_remove()

int32_t ad5592r_remove ( struct ad5592r_dev * dev)

Teardown an AD5592r device.

Parameters
dev- The device structure.
Returns
0 in case of success, negative error code otherwise

◆ ad5592r_spi_wnop_r16()

int32_t ad5592r_spi_wnop_r16 ( struct ad5592r_dev * dev,
uint16_t * buf )

Write NOP and read value.

Parameters
dev- The device structure.
buf- buffer where to read
Returns
0 in case of success, negative error code otherwise

◆ ad5592r_write_dac()

int32_t ad5592r_write_dac ( struct ad5592r_dev * dev,
uint8_t chan,
uint16_t value )

Write DAC channel.

Parameters
dev- The device structure.
chan- The channel number.
value- DAC value
Returns
0 in case of success, negative error code otherwise

Variable Documentation

◆ ad5592r_rw_ops

const struct ad5592r_rw_ops ad5592r_rw_ops
Initial value:
= {
.write_dac = ad5592r_write_dac,
.read_adc = ad5592r_read_adc,
.multi_read_adc = ad5592r_multi_read_adc,
.reg_write = ad5592r_reg_write,
.reg_read = ad5592r_reg_read,
.gpio_read = ad5592r_gpio_read,
}
int32_t ad5592r_reg_read(struct ad5592r_dev *dev, uint8_t reg, uint16_t *value)
Definition ad5592r.c:257
int32_t ad5592r_read_adc(struct ad5592r_dev *dev, uint8_t chan, uint16_t *value)
Definition ad5592r.c:121
int32_t ad5592r_gpio_read(struct ad5592r_dev *dev, uint8_t *value)
Definition ad5592r.c:288
int32_t ad5592r_reg_write(struct ad5592r_dev *dev, uint8_t reg, uint16_t value)
Definition ad5592r.c:238
int32_t ad5592r_write_dac(struct ad5592r_dev *dev, uint8_t chan, uint16_t value)
Definition ad5592r.c:93
int32_t ad5592r_multi_read_adc(struct ad5592r_dev *dev, uint16_t chans, uint16_t *values)
Definition ad5592r.c:193