Header file of AD5449 Driver. This driver supporting the following devices: AD5415, AD5443, AD5432, AD5426, AD5429, AD5439, AD5449.
More...
#include <stdint.h>
#include "no_os_gpio.h"
#include "no_os_spi.h"
|
| int8_t | ad5449_init (struct ad5449_dev **device, struct ad5449_init_param init_param) |
| | Initialize SPI and Initial Values for AD5449 Board.
|
| |
| int32_t | ad5449_remove (struct ad5449_dev *dev) |
| | Free the resources allocated by ad5449_init().
|
| |
| uint16_t | ad5449_set_input_shift_reg (struct ad5449_dev *dev, uint16_t command, uint16_t data) |
| | Write to input register and read from output register via SPI.
|
| |
| void | ad5449_load_update_channel (struct ad5449_dev *dev, uint8_t channel, uint16_t dac_value) |
| | Loads and updates the selected DAC with a given value.
|
| |
| void | ad5449_load_channel (struct ad5449_dev *dev, uint8_t channel, uint16_t dac_value) |
| | Load selected DAC input register with a given value.
|
| |
| uint16_t | ad5449_readback_channel (struct ad5449_dev *dev, uint8_t channel) |
| | Read from the selected DAC register.
|
| |
| void | ad5449_update_all (struct ad5449_dev *dev) |
| | Update the DAC outputs. This function has a physical result just with devices with two channels.
|
| |
| void | ad5449_load_all (struct ad5449_dev *dev, int16_t dac_value) |
| | Load the DAC input registers. This function has a physical result just with devices with two channels.
|
| |
| void | ad5449_clear_scale_setup (struct ad5449_dev *dev, int8_t type) |
| | Set up the scale where to the output will be cleared on active CLR signal.
|
| |
| void | ad5449_daisy_chain_setup (struct ad5449_dev *dev, int8_t value) |
| | Enable/disable the Daisy-Chain mode.
|
| |
| void | ad5449_sdocontrol (struct ad5449_dev *dev, int8_t control_bits) |
| | Control the SDO output driver strength. This function is supported by the devices : AD5415, AD5429, AD5439, AD5449.
|
| |
| void | ad5449_sclksetup (struct ad5449_dev *dev, int8_t value) |
| | Set up the active clock edge of the SPI interface.
|
| |
Header file of AD5449 Driver. This driver supporting the following devices: AD5415, AD5443, AD5432, AD5426, AD5429, AD5439, AD5449.
- Author
- Istvan Csomortani (istva.nosp@m.n.cs.nosp@m.omort.nosp@m.ani@.nosp@m.analo.nosp@m.g.co.nosp@m.m)
Copyright 2013(c) Analog Devices, Inc.
SPDX-License-Identifier: BSD-3-Clause
◆ AD5449_CH_A
◆ AD5449_CH_B
◆ AD5449_CLOCK_NEGEDGE
| #define AD5449_CLOCK_NEGEDGE 0 |
◆ AD5449_CLOCK_POSEDGE
| #define AD5449_CLOCK_POSEDGE 1 |
◆ AD5449_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
◆ AD5449_CLR_LOW
Value:
@ NO_OS_GPIO_LOW
Definition no_os_gpio.h:80
◆ AD5449_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
◆ AD5449_CTRL_CLK_EDGE
| #define AD5449_CTRL_CLK_EDGE 10 |
◆ AD5449_CTRL_CLR_MID
| #define AD5449_CTRL_CLR_MID 12 |
◆ AD5449_CTRL_CLR_ZERO
| #define AD5449_CTRL_CLR_ZERO 11 |
◆ AD5449_CTRL_DAISY_CHAIN
| #define AD5449_CTRL_DAISY_CHAIN 9 |
◆ AD5449_CTRL_LOAD
| #define AD5449_CTRL_LOAD |
( |
| x | ) |
|
◆ AD5449_CTRL_LOADALL
| #define AD5449_CTRL_LOADALL 8 |
◆ AD5449_CTRL_LOADUPDATE
| #define AD5449_CTRL_LOADUPDATE |
( |
| x | ) |
|
◆ AD5449_CTRL_NOP
| #define AD5449_CTRL_NOP 0 |
◆ AD5449_CTRL_READBACK
| #define AD5449_CTRL_READBACK |
( |
| x | ) |
|
◆ AD5449_CTRL_REG
| #define AD5449_CTRL_REG 13 |
◆ AD5449_CTRL_UPDATEALL
| #define AD5449_CTRL_UPDATEALL 7 |
◆ AD5449_DAISY_CHAIN_DIS
| #define AD5449_DAISY_CHAIN_DIS 0 |
◆ AD5449_DAISY_CHAIN_EN
| #define AD5449_DAISY_CHAIN_EN 1 |
◆ AD5449_DSY_BIT
◆ AD5449_DSY_MASK
| #define AD5449_DSY_MASK (1 << 9) |
◆ AD5449_HCLR_BIT
| #define AD5449_HCLR_BIT 8 |
◆ AD5449_HCLR_MASK
| #define AD5449_HCLR_MASK (1 << 8) |
◆ AD5449_LDAC_HIGH
◆ AD5449_LDAC_LOW
◆ AD5449_LDAC_OUT
◆ AD5449_MID_SCALE
| #define AD5449_MID_SCALE 1 |
◆ AD5449_SCLK_BIT
| #define AD5449_SCLK_BIT 7 |
◆ AD5449_SCLK_MASK
| #define AD5449_SCLK_MASK (1 << 7) |
◆ AD5449_SDO_BIT
| #define AD5449_SDO_BIT 10 |
◆ AD5449_SDO_DISABLE
| #define AD5449_SDO_DISABLE 3 |
◆ AD5449_SDO_FULL
| #define AD5449_SDO_FULL 0 |
◆ AD5449_SDO_MASK
| #define AD5449_SDO_MASK (3 << 10) |
◆ AD5449_SDO_OPEN_DRAIN
| #define AD5449_SDO_OPEN_DRAIN 2 |
◆ AD5449_SDO_WEAK
| #define AD5449_SDO_WEAK 1 |
◆ AD5449_ZERO_SCALE
| #define AD5449_ZERO_SCALE 0 |
◆ ad5449_type_t
| Enumerator |
|---|
| ID_AD5415 | |
| ID_AD5426 | |
| ID_AD5429 | |
| ID_AD5432 | |
| ID_AD5439 | |
| ID_AD5443 | |
| ID_AD5449 | |
◆ bool_t
◆ ad5449_clear_scale_setup()
| void ad5449_clear_scale_setup |
( |
struct ad5449_dev * | dev, |
|
|
int8_t | type ) |
Set up the scale where to the output will be cleared on active CLR signal.
- Parameters
-
| dev | - The device structure. |
| type | - target scale when making a clear command Example: ZERO_SCALE = zero scale. MIDSCALE = midscale. |
◆ ad5449_daisy_chain_setup()
| void ad5449_daisy_chain_setup |
( |
struct ad5449_dev * | dev, |
|
|
int8_t | value ) |
Enable/disable the Daisy-Chain mode.
- Parameters
-
| dev | - The device structure. |
| value | - target scale when making a clear command Example: ZERO_SCALE = zero scale. MIDSCALE = midscale. |
◆ ad5449_init()
Initialize SPI and Initial Values for AD5449 Board.
- Parameters
-
| device | - The device structure. |
| init_param | - The structure that contains the device initial parameters. |
- Returns
- retValue - Result of the initialization. Example: 0 - if initialization was successful; -1 - if initialization was unsuccessful.
◆ ad5449_load_all()
| void ad5449_load_all |
( |
struct ad5449_dev * | dev, |
|
|
int16_t | dac_value ) |
Load the DAC input registers. This function has a physical result just with devices with two channels.
- Parameters
-
| dev | - The device structure. |
| dac_value | - desired value to be written in register. |
◆ ad5449_load_channel()
| void ad5449_load_channel |
( |
struct ad5449_dev * | dev, |
|
|
uint8_t | channel, |
|
|
uint16_t | dac_value ) |
Load selected DAC input register with a given value.
- Parameters
-
| dev | - The device structure. |
| channel | - the chosen channel to write to. Example: AD5449_CH_A = 0; AD5449_CH_B = 1. |
| dac_value | - desired value to be written in register. |
◆ ad5449_load_update_channel()
| void ad5449_load_update_channel |
( |
struct ad5449_dev * | dev, |
|
|
uint8_t | channel, |
|
|
uint16_t | dac_value ) |
Loads and updates the selected DAC with a given value.
- Parameters
-
| dev | - The device structure. |
| channel | - the chosen channel to write to. Example: AD5449_CH_A = 0; AD5449_CH_B = 1. |
| dac_value | - desired value to be written in register. |
◆ ad5449_readback_channel()
| uint16_t ad5449_readback_channel |
( |
struct ad5449_dev * | dev, |
|
|
uint8_t | channel ) |
Read from the selected DAC register.
- Parameters
-
| dev | - The device structure. |
| channel | - the chosen channel to read from. Example: AD5449_CH_A = 0; AD5449_CH_B = 1. |
- Returns
- dac_value - value read from the register.
◆ ad5449_remove()
Free the resources allocated by ad5449_init().
- Parameters
-
| dev | - The device structure. |
- Returns
- 0 in case of success, negative error code otherwise.
◆ ad5449_sclksetup()
| void ad5449_sclksetup |
( |
struct ad5449_dev * | dev, |
|
|
int8_t | value ) |
Set up the active clock edge of the SPI interface.
- Parameters
-
| dev | - The device structure. |
| value | - target scale when making a clear command Example: AD5449_CLOCK_NEGEDGE = Falling edge. (Default) AD5449_CLOCK_POSEDGE = Rising edge. |
◆ ad5449_sdocontrol()
| void ad5449_sdocontrol |
( |
struct ad5449_dev * | dev, |
|
|
int8_t | control_bits ) |
Control the SDO output driver strength. This function is supported by the devices : AD5415, AD5429, AD5439, AD5449.
- Parameters
-
| dev | - The device structure. |
| control_bits | - target scale when making a clear command Example: AD5449_SDO_FULL = Full SDO driver. AD5449_SDO_WEAK = Weak SDO driver. AD5449_SDO_OPEN_DRAIN = SDO configured as open drain AD5449_SDO_DISABLE = Disable SDO output |
◆ ad5449_set_input_shift_reg()
| uint16_t ad5449_set_input_shift_reg |
( |
struct ad5449_dev * | dev, |
|
|
uint16_t | command, |
|
|
uint16_t | data ) |
Write to input register and read from output register via SPI.
- Parameters
-
| dev | - The device structure. |
| command | - command control bits. |
| data | - data to be written in input register. |
- Returns
- readBack - value read from register.
◆ ad5449_update_all()
Update the DAC outputs. This function has a physical result just with devices with two channels.
- Parameters
-
| dev | - The device structure. |