Header file of AD5629R Driver for Microblaze processor.
More...
#include <stdint.h>
#include "no_os_gpio.h"
#include "no_os_spi.h"
#include "no_os_i2c.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_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.
|
| |
Header file 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_CLR_HIGH
Value:
int32_t no_os_gpio_set_value(struct no_os_gpio_desc *desc, uint8_t value)
Set the value of the specified GPIO.
Definition no_os_gpio.c:170
@ NO_OS_GPIO_HIGH
Definition no_os_gpio.h:82
◆ AD5629R_CLR_LOW
Value:
@ NO_OS_GPIO_LOW
Definition no_os_gpio.h:80
◆ AD5629R_CLR_OUT
Value:
int32_t no_os_gpio_direction_output(struct no_os_gpio_desc *desc, uint8_t value)
Enable the output direction of the specified GPIO.
Definition no_os_gpio.c:120
◆ AD5629R_DAC_A_ADDR
| #define AD5629R_DAC_A_ADDR 0x0 |
◆ AD5629R_DAC_ALL_ADDR
| #define AD5629R_DAC_ALL_ADDR 0xF |
◆ AD5629R_DAC_B_ADDR
| #define AD5629R_DAC_B_ADDR 0x1 |
◆ AD5629R_DAC_C_ADDR
| #define AD5629R_DAC_C_ADDR 0x2 |
◆ AD5629R_DAC_D_ADDR
| #define AD5629R_DAC_D_ADDR 0x3 |
◆ AD5629R_DAC_E_ADDR
| #define AD5629R_DAC_E_ADDR 0x4 |
◆ AD5629R_DAC_F_ADDR
| #define AD5629R_DAC_F_ADDR 0x5 |
◆ AD5629R_DAC_G_ADDR
| #define AD5629R_DAC_G_ADDR 0x6 |
◆ AD5629R_DAC_H_ADDR
| #define AD5629R_DAC_H_ADDR 0x7 |
◆ AD5629R_I2C_ADDR_0
| #define AD5629R_I2C_ADDR_0 0x54 |
◆ AD5629R_I2C_ADDR_1
| #define AD5629R_I2C_ADDR_1 0x56 |
◆ AD5629R_I2C_ADDR_2
| #define AD5629R_I2C_ADDR_2 0x57 |
◆ AD5629R_LDAC_HIGH
| #define AD5629R_LDAC_HIGH |
◆ AD5629R_LDAC_LOW
◆ AD5629R_LDAC_OUT
◆ AD5629R_LOAD_CLEAR_REG
| #define AD5629R_LOAD_CLEAR_REG 0x5 |
◆ AD5629R_LOAD_LDAC_REG
| #define AD5629R_LOAD_LDAC_REG 0x6 |
◆ AD5629R_POWER
| #define AD5629R_POWER 0x4 |
◆ AD5629R_REFERENCE
| #define AD5629R_REFERENCE 0x8 |
◆ AD5629R_RESET
| #define AD5629R_RESET 0x7 |
◆ AD5629R_UPDATE_N
| #define AD5629R_UPDATE_N 0x1 |
◆ AD5629R_WRITE_N
| #define AD5629R_WRITE_N 0x0 |
◆ AD5629R_WRITE_N_UPDATE_ALL
| #define AD5629R_WRITE_N_UPDATE_ALL 0x2 |
◆ AD5629R_WRITE_N_UPDATE_N
| #define AD5629R_WRITE_N_UPDATE_N 0x3 |
◆ CLR_NOOP
◆ CLR_TO_FULLSCALE
| #define CLR_TO_FULLSCALE 2 |
◆ CLR_TO_MIDSCALE
| #define CLR_TO_MIDSCALE 1 |
◆ CLR_TO_ZEROSCALE
| #define CLR_TO_ZEROSCALE 0 |
◆ DAC_A_SEL
◆ DAC_B_SEL
◆ DAC_C_SEL
◆ DAC_D_SEL
◆ DAC_E_SEL
◆ DAC_F_SEL
◆ DAC_G_SEL
◆ DAC_H_SEL
◆ MAX_RESOLUTION
| #define MAX_RESOLUTION 16 |
◆ PWR_100K_TO_GND
| #define PWR_100K_TO_GND 2 |
◆ PWR_1K_TO_GND
◆ PWR_3_STATE
◆ PWR_NORMAL
◆ REF_OFF
◆ REF_ON
◆ ad5629r_type
| Enumerator |
|---|
| ID_AD5629R | |
| ID_AD5669R | |
| ID_AD5668 | |
| ID_AD5648 | |
| ID_AD5628 | |
◆ comm_type_t
| Enumerator |
|---|
| com_spi | |
| com_i2c | |
◆ 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_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. |