no-OS
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
ad8460.c File Reference

Implementation of AD8460 Driver. More...

#include "ad8460.h"
#include "no_os_alloc.h"
#include "no_os_delay.h"
#include "no_os_error.h"
#include "no_os_spi.h"
#include "no_os_print_log.h"
#include "no_os_util.h"
Include dependency graph for ad8460.c:

Functions

int ad8460_reg_read (struct ad8460_device *dev, uint8_t addr, uint8_t *val)
 Read a register value.
 
int ad8460_reg_write (struct ad8460_device *dev, uint8_t addr, uint8_t val)
 Write a register value.
 
int ad8460_reg_update_bits (struct ad8460_device *dev, uint8_t addr, uint8_t mask, uint8_t val)
 Read-modify-write operation.
 
int ad8460_init (struct ad8460_device **dev, struct ad8460_init_param *init_param)
 Device and comm init function.
 
int ad8460_remove (struct ad8460_device *dev)
 Free resources allocated by the init function.
 
int ad8460_reset (struct ad8460_device *dev)
 Reset the AD8460 device.
 
int ad8460_get_hvdac_word (struct ad8460_device *dev, int8_t index, uint16_t *val)
 Get the value of a high voltage DAC word.
 
int ad8460_set_hvdac_word (struct ad8460_device *dev, int8_t index, uint16_t val)
 Set the value of a high voltage DAC word.
 
int ad8460_enable_apg_mode (struct ad8460_device *dev, int val)
 Enable or disable the APG mode.
 
int ad8460_read_shutdown_flag (struct ad8460_device *dev, uint8_t *flag)
 Read the shutdown flag.
 
int ad8460_hv_reset (struct ad8460_device *dev)
 Reset the high voltage driver.
 
int ad8460_set_sample (struct ad8460_device *dev, uint16_t val)
 Set the sample value.
 

Detailed Description

Implementation of AD8460 Driver.

Author
John Erasmus Mari Geronimo (johne.nosp@m.rasm.nosp@m.usmar.nosp@m.i.ge.nosp@m.ronim.nosp@m.o@an.nosp@m.alog..nosp@m.com)

Copyright 2025(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:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Neither the name of Analog Devices, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

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.

Function Documentation

◆ ad8460_enable_apg_mode()

int ad8460_enable_apg_mode ( struct ad8460_device * dev,
int val )

Enable or disable the APG mode.

Parameters
dev- AD8460 descriptor
val- enable or disable APG mode
Returns
0 in case of success, negative error code otherwise
Here is the caller graph for this function:

◆ ad8460_get_hvdac_word()

int ad8460_get_hvdac_word ( struct ad8460_device * dev,
int8_t index,
uint16_t * val )

Get the value of a high voltage DAC word.

Parameters
dev- AD8460 descriptor
index- index of the word to be read
val- value of the word
Returns
0 in case of success, negative error code otherwise
Here is the caller graph for this function:

◆ ad8460_hv_reset()

int ad8460_hv_reset ( struct ad8460_device * dev)

Reset the high voltage driver.

Parameters
dev- AD8460 descriptor
Returns
0 in case of success, negative error code otherwise
Here is the caller graph for this function:

◆ ad8460_init()

int ad8460_init ( struct ad8460_device ** dev,
struct ad8460_init_param * init_param )

Device and comm init function.

Parameters
dev- AD8460 descriptor to be initialized
init_param- Init parameter for descriptor
Returns
0 in case of success, errno errors otherwise
Here is the caller graph for this function:

◆ ad8460_read_shutdown_flag()

int ad8460_read_shutdown_flag ( struct ad8460_device * dev,
uint8_t * flag )

Read the shutdown flag.

Parameters
dev- AD8460 descriptor
flag- shutdown flag
Returns
0 in case of success, negative error code otherwise
Here is the caller graph for this function:

◆ ad8460_reg_read()

int ad8460_reg_read ( struct ad8460_device * dev,
uint8_t addr,
uint8_t * val )

Read a register value.

Parameters
dev- AD8460 descriptor
addr- register address
val- register value
Returns
0 in case of success, negative error code otherwise
Here is the caller graph for this function:

◆ ad8460_reg_update_bits()

int ad8460_reg_update_bits ( struct ad8460_device * dev,
uint8_t addr,
uint8_t mask,
uint8_t val )

Read-modify-write operation.

Parameters
dev- AD8460 descriptor
addr- register address
mask- Mask for specific register bits to be updated
val- register value
Returns
0 in case of success, negative error code otherwise
Here is the caller graph for this function:

◆ ad8460_reg_write()

int ad8460_reg_write ( struct ad8460_device * dev,
uint8_t addr,
uint8_t val )

Write a register value.

Parameters
dev- AD8460 descriptor
addr- register address
val- register value
Returns
0 in case of success, negative error code otherwise
Here is the caller graph for this function:

◆ ad8460_remove()

int ad8460_remove ( struct ad8460_device * dev)

Free resources allocated by the init function.

Parameters
dev- AD8460 descriptor
Returns
0 in case of success, errno errors otherwise
Here is the caller graph for this function:

◆ ad8460_reset()

int ad8460_reset ( struct ad8460_device * dev)

Reset the AD8460 device.

Parameters
dev- AD8460 descriptor
Returns
0 in case of success, negative error code otherwise
Here is the caller graph for this function:

◆ ad8460_set_hvdac_word()

int ad8460_set_hvdac_word ( struct ad8460_device * dev,
int8_t index,
uint16_t val )

Set the value of a high voltage DAC word.

Parameters
dev- AD8460 descriptor
index- index of the word to be set
val- value of the word
Returns
0 in case of success, negative error code otherwise
Here is the caller graph for this function:

◆ ad8460_set_sample()

int ad8460_set_sample ( struct ad8460_device * dev,
uint16_t val )

Set the sample value.

Parameters
dev- AD8460 descriptor
val- sample value
Returns
0 in case of success, negative error code otherwise