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

Implementation of ad5629r Driver for Microblaze processor. More...

#include <stdlib.h>
#include "ad5629r.h"
#include "no_os_alloc.h"
Include dependency graph for ad5629r.c:

Functions

int8_t ad5629r_init (struct ad5629r_dev **device, struct ad5629r_init_param init_param)
 Initializes the communication with the device.
 
int32_t ad5629r_remove (struct ad5629r_dev *dev)
 Free the resources allocated by AD5629R_Init().
 
void ad5629r_set_ctrl (struct ad5629r_dev *dev, uint8_t function, uint8_t dac_n, uint32_t data)
 Write to input register and read from output register via SPI.
 
void ad5629r_set_input_reg (struct ad5629r_dev *dev, uint8_t function, uint8_t dac_n, uint16_t dac_value)
 Write to input register and read from output register via SPI.
 
void ad5629r_write_reg_n (struct ad5629r_dev *dev, uint8_t dac_n, uint16_t dac_value)
 Writes a value to Input Register N of selected DAC channel.
 
void ad5629r_update_dac_n (struct ad5629r_dev *dev, uint8_t dac_n)
 Updates selected DAC register.
 
void ad5629r_write_reg_nupdate_all (struct ad5629r_dev *dev, uint8_t dac_n, uint16_t dac_value)
 Writes a value to Input Register N of selected DAC channel, then updates all.
 
void ad5629r_write_reg_nupdate_n (struct ad5629r_dev *dev, uint8_t dac_n, uint16_t dac_value)
 Writes a value to Input Register N and updates the respective DAC channel.
 
void ad5629r_set_power_mode (struct ad5629r_dev *dev, uint8_t dac_sel, uint8_t mode)
 Sets the power mode for one or more selected DAC channels.
 
void ad5629r_load_clear_code_reg (struct ad5629r_dev *dev, uint8_t clear_value)
 Loads the Clear Code Register with a certain value.
 
void ad5629r_load_ldac_reg (struct ad5629r_dev *dev, uint8_t dac_sel)
 Loads the LDAC register with a certain value.
 
void ad5629r_reset (struct ad5629r_dev *dev)
 Makes a power-on reset.
 
void ad5629r_set_ref (struct ad5629r_dev *dev, uint8_t status)
 Turns on/off the internal reference.
 

Detailed Description

Implementation of ad5629r Driver for Microblaze processor.

Author
Lucian Sin (Lucia.nosp@m.n.Si.nosp@m.n@ana.nosp@m.log..nosp@m.com)

Copyright 2013(c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

Function Documentation

◆ ad5629r_init()

int8_t ad5629r_init ( struct ad5629r_dev ** device,
struct ad5629r_init_param init_param )

Initializes the communication with the device.

Parameters
device- AD5629R device structure.
init_param- Device initial parameters. Example: AD5629R, AD5669R, AD5668, AD5648, AD5628.
Returns
status - Result of the initialization procedure. Example: 0 - if initialization was successful; -1 - if initialization was unsuccessful.

◆ ad5629r_load_clear_code_reg()

void ad5629r_load_clear_code_reg ( struct ad5629r_dev * dev,
uint8_t clear_value )

Loads the Clear Code Register with a certain value.

Parameters
dev- The device structure.
clear_value- the value to be set in all DAC registers after a clear operation. Example: CLR_TO_ZEROSCALE - clears to 0x0; CLR_TO_MIDSCALE - clears to 0x8000; CLR_TO_FULLSCALE - clears to 0xFFFF; CLR_NOOP - no operation.

◆ ad5629r_load_ldac_reg()

void ad5629r_load_ldac_reg ( struct ad5629r_dev * dev,
uint8_t dac_sel )

Loads the LDAC register with a certain value.

Parameters
dev- The device structure.
dac_sel- a byte where each bit is corresponding to a DAC; when a bit is set to 1, the corresponding DAC is selected to override LDAC pin. Example: DAC_A_SEL - the selected DAC to override the LDAC pin is DAC A; DAC_D_SEL | DAC_F_SEL | DAC_H_SEL - the selected DACs to override the LDAC pin are: DAC D, DAC F and DAC H.

◆ ad5629r_remove()

int32_t ad5629r_remove ( struct ad5629r_dev * dev)

Free the resources allocated by AD5629R_Init().

Parameters
dev- The device structure.
Returns
ret - The result of the remove procedure.

◆ ad5629r_reset()

void ad5629r_reset ( struct ad5629r_dev * dev)

Makes a power-on reset.

Parameters
dev- The device structure.

◆ ad5629r_set_ctrl()

void ad5629r_set_ctrl ( struct ad5629r_dev * dev,
uint8_t function,
uint8_t dac_n,
uint32_t data )

Write to input register and read from output register via SPI.

Parameters
dev- The device structure.
function- command control bits;
dac_n- address of selected DAC;
data- data to be written in register.

◆ ad5629r_set_input_reg()

void ad5629r_set_input_reg ( struct ad5629r_dev * dev,
uint8_t function,
uint8_t dac_n,
uint16_t dac_value )

Write to input register and read from output register via SPI.

Parameters
dev- The device structure.
function- command control bits.
dac_n- address of selected DAC;
dac_value- data to be written in input register.

◆ ad5629r_set_power_mode()

void ad5629r_set_power_mode ( struct ad5629r_dev * dev,
uint8_t dac_sel,
uint8_t mode )

Sets the power mode for one or more selected DAC channels.

Parameters
dev- The device structure.
dac_sel- a byte where each bit is corresponding to a DAC; when a bit is set to 1, the corresponding DAC is selected. Example: DAC_A_SEL - the selected DAC is DAC A; DAC_D_SEL | DAC_F_SEL | DAC_H_SEL - the selected DACs are: DAC D, DAC F and DAC H.
mode- the desired power mode to be set. Example: PWR_NORMAL - normal operation; PWR_1K_TO_GND - 1KOhm to GND; PWR_100K_TO_GND - 100KOhms to GND; PWR_3_STATE - three-state.

◆ ad5629r_set_ref()

void ad5629r_set_ref ( struct ad5629r_dev * dev,
uint8_t status )

Turns on/off the internal reference.

Parameters
dev- The device structure.
status- the status of internal reference. Example: REF_ON - the reference is on; REF_OFF - the reference is off.

◆ ad5629r_update_dac_n()

void ad5629r_update_dac_n ( struct ad5629r_dev * dev,
uint8_t dac_n )

Updates selected DAC register.

Parameters
dev- The device structure.
dac_n- Address of selected DAC.

◆ ad5629r_write_reg_n()

void ad5629r_write_reg_n ( struct ad5629r_dev * dev,
uint8_t dac_n,
uint16_t dac_value )

Writes a value to Input Register N of selected DAC channel.

Parameters
dev- The device structure.
dac_value- Value to be written in register;
dac_n- Address of selected DAC.

◆ ad5629r_write_reg_nupdate_all()

void ad5629r_write_reg_nupdate_all ( struct ad5629r_dev * dev,
uint8_t dac_n,
uint16_t dac_value )

Writes a value to Input Register N of selected DAC channel, then updates all.

Parameters
dev- The device structure.
dac_value- Value to be written in register;
dac_n- Address of selected DAC.

◆ ad5629r_write_reg_nupdate_n()

void ad5629r_write_reg_nupdate_n ( struct ad5629r_dev * dev,
uint8_t dac_n,
uint16_t dac_value )

Writes a value to Input Register N and updates the respective DAC channel.

Parameters
dev- The device structure.
dac_value- Value to be written in register;
dac_n- Address of selected DAC.