no-OS
|
Header file of AD5629R Driver for Microblaze processor. More...
Go to the source code of this file.
Classes | |
struct | ad5629r_chip_info |
struct | ad5629r_dev |
struct | ad5629r_init_param |
Enumerations | |
enum | ad5629r_type { ID_AD5629R, ID_AD5669R, ID_AD5668, ID_AD5648, ID_AD5628 } |
enum | comm_type_t { com_spi, com_i2c, SPI, I2C } |
Functions | |
int8_t | ad5629r_init (struct ad5629r_dev **device, struct ad5629r_init_param init_param) |
Initializes the communication with the device. More... | |
int32_t | ad5629r_remove (struct ad5629r_dev *dev) |
Free the resources allocated by AD5629R_Init(). More... | |
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. More... | |
void | ad5629r_update_dac_n (struct ad5629r_dev *dev, uint8_t dac_n) |
Updates selected DAC register. More... | |
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. More... | |
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. More... | |
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. More... | |
void | ad5629r_load_clear_code_reg (struct ad5629r_dev *dev, uint8_t clear_value) |
Loads the Clear Code Register with a certain value. More... | |
void | ad5629r_load_ldac_reg (struct ad5629r_dev *dev, uint8_t dac_sel) |
Loads the LDAC register with a certain value. More... | |
void | ad5629r_reset (struct ad5629r_dev *dev) |
Makes a power-on reset. More... | |
void | ad5629r_set_ref (struct ad5629r_dev *dev, uint8_t status) |
Turns on/off the internal reference. More... | |
Header file of AD5629R Driver for Microblaze processor.
Copyright 2013(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:
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.
#define AD5629R_CLR_HIGH |
#define AD5629R_CLR_LOW |
#define AD5629R_CLR_OUT |
#define AD5629R_DAC_A_ADDR 0x0 |
#define AD5629R_DAC_ALL_ADDR 0xF |
#define AD5629R_DAC_B_ADDR 0x1 |
#define AD5629R_DAC_C_ADDR 0x2 |
#define AD5629R_DAC_D_ADDR 0x3 |
#define AD5629R_DAC_E_ADDR 0x4 |
#define AD5629R_DAC_F_ADDR 0x5 |
#define AD5629R_DAC_G_ADDR 0x6 |
#define AD5629R_DAC_H_ADDR 0x7 |
#define AD5629R_I2C_ADDR_0 0x54 |
#define AD5629R_I2C_ADDR_1 0x56 |
#define AD5629R_I2C_ADDR_2 0x57 |
#define AD5629R_LDAC_HIGH |
#define AD5629R_LDAC_LOW |
#define AD5629R_LDAC_OUT |
#define AD5629R_LOAD_CLEAR_REG 0x5 |
#define AD5629R_LOAD_LDAC_REG 0x6 |
#define AD5629R_POWER 0x4 |
#define AD5629R_REFERENCE 0x8 |
#define AD5629R_RESET 0x7 |
#define AD5629R_UPDATE_N 0x1 |
#define AD5629R_WRITE_N 0x0 |
#define AD5629R_WRITE_N_UPDATE_ALL 0x2 |
#define AD5629R_WRITE_N_UPDATE_N 0x3 |
#define CLR_NOOP 3 |
#define CLR_TO_FULLSCALE 2 |
#define CLR_TO_MIDSCALE 1 |
#define CLR_TO_ZEROSCALE 0 |
#define DAC_A_SEL 1 |
#define DAC_B_SEL 2 |
#define DAC_C_SEL 4 |
#define DAC_D_SEL 8 |
#define DAC_E_SEL 16 |
#define DAC_F_SEL 32 |
#define DAC_G_SEL 64 |
#define DAC_H_SEL 128 |
#define MAX_RESOLUTION 16 |
#define PWR_100K_TO_GND 2 |
#define PWR_1K_TO_GND 1 |
#define PWR_3_STATE 3 |
#define PWR_NORMAL 0 |
#define REF_OFF 0 |
#define REF_ON 1 |
enum ad5629r_type |
enum comm_type_t |
int8_t ad5629r_init | ( | struct ad5629r_dev ** | device, |
struct ad5629r_init_param | init_param | ||
) |
Initializes the communication with the device.
device | - AD5629R device structure. |
init_param | - Device initial parameters. Example: AD5629R, AD5669R, AD5668, AD5648, AD5628. |
void ad5629r_load_clear_code_reg | ( | struct ad5629r_dev * | dev, |
uint8_t | clear_value | ||
) |
Loads the Clear Code Register with a certain value.
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. |
void ad5629r_load_ldac_reg | ( | struct ad5629r_dev * | dev, |
uint8_t | dac_sel | ||
) |
Loads the LDAC register with a certain value.
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. |
int32_t ad5629r_remove | ( | struct ad5629r_dev * | dev | ) |
Free the resources allocated by AD5629R_Init().
dev | - The device structure. |
void ad5629r_reset | ( | struct ad5629r_dev * | dev | ) |
Makes a power-on reset.
dev | - The device structure. |
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.
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. |
void ad5629r_set_ref | ( | struct ad5629r_dev * | dev, |
uint8_t | status | ||
) |
Turns on/off the internal reference.
dev | - The device structure. |
status | - the status of internal reference. Example: REF_ON - the reference is on; REF_OFF - the reference is off. |
void ad5629r_update_dac_n | ( | struct ad5629r_dev * | dev, |
uint8_t | dac_n | ||
) |
Updates selected DAC register.
dev | - The device structure. |
dac_n | - Address of selected DAC. |
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.
dev | - The device structure. |
dac_value | - Value to be written in register; |
dac_n | - Address of selected DAC. |
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.
dev | - The device structure. |
dac_value | - Value to be written in register; |
dac_n | - Address of selected DAC. |
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.
dev | - The device structure. |
dac_value | - Value to be written in register; |
dac_n | - Address of selected DAC. |