Implementation of ad5629r Driver for Microblaze processor.
More...
#include <stdlib.h>
#include "ad5629r.h"
#include "no_os_alloc.h"
|
| 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.
|
| |
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
◆ ad5629r_init()
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()
Free the resources allocated by AD5629R_Init().
- Parameters
-
| dev | - The device structure. |
- Returns
- ret - The result of the remove procedure.
◆ ad5629r_reset()
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. |