no-OS
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
ad9434.h
Go to the documentation of this file.
1/***************************************************************************/
33#ifndef AD9434_H_
34#define AD9434_H_
35
36#include <stdint.h>
37#include "no_os_delay.h"
38#include "no_os_spi.h"
39
40#define AD9434_REG_CHIP_PORT_CONF 0x00
41#define AD9434_REG_CHIP_ID 0x01
42#define AD9434_REG_CHIP_GRADE 0x02
43#define AD9434_REG_CHAN_INDEX 0x05
44#define AD9434_REG_TRANSFER 0xFF
45#define AD9434_REG_MODES 0x08
46#define AD9434_REG_TEST_IO 0x0D
47#define AD9434_REG_ADC_INPUT 0x0F
48#define AD9434_REG_OFFSET 0x10
49#define AD9434_REG_OUTPUT_MODE 0x14
50#define AD9434_REG_OUTPUT_ADJUST 0x15
51#define AD9434_REG_OUTPUT_PHASE 0x16
52#define AD9434_REG_OUTPUT_DELAY 0x17
53#define AD9434_REG_VREF 0x18
54#define AD9434_REG_ANALOG_INPUT 0x2C
55
56/* ADC_REG_TRANSFER */
57#define TRANSFER_SYNC 0x1
58
59/* AD9434_REG_TEST_IO */
60#define TESTMODE_OFF 0x0
61#define TESTMODE_MIDSCALE_SHORT 0x1
62#define TESTMODE_POS_FULLSCALE 0x2
63#define TESTMODE_NEG_FULLSCALE 0x3
64#define TESTMODE_ALT_CHECKERBOARD 0x4
65#define TESTMODE_PN23_SEQ 0x5
66#define TESTMODE_PN9_SEQ 0x6
67#define TESTMODE_ONE_ZERO_TOGGLE 0x7
68#define TESTMODE_USER_DEFINED 0x8
69
70/* ADC_REG_OUTPUT_MODE */
71#define OUTPUT_MODE_OFFSET_BINARY 0x0
72#define OUTPUT_MODE_TWOS_COMPLEMENT 0x1
73#define OUTPUT_MODE_GRAY_CODE 0x2
74
75/* ADC_REG_OUTPUT_PHASE */
76#define OUTPUT_EVEN_ODD_MODE_EN 0x20
77#define INVERT_DCO_CLK 0x80
78
79#define AD9434_CHIP_ID 0x6A
80#define AD9434_DEF_OUTPUT_MODE 0x00
81
82struct ad9434_dev {
83 /* SPI */
85};
86
88 /* SPI */
90};
91
92int32_t ad9434_spi_read(struct ad9434_dev *dev,
93 uint16_t reg_addr,
94 uint8_t *reg_data);
95int32_t ad9434_spi_write(struct ad9434_dev *dev,
96 uint16_t reg_addr,
97 uint8_t reg_data);
98int32_t ad9434_testmode_set(struct ad9434_dev *dev,
99 uint8_t mode);
100int32_t ad9434_setup(struct ad9434_dev **device,
102int32_t ad9434_outputmode_set(struct ad9434_dev *dev,
103 uint8_t mode);
104int32_t ad9434_remove(struct ad9434_dev *dev);
105#endif
struct ad7616_init_param init_param
Definition ad7616_sdz.c:107
int32_t ad9434_remove(struct ad9434_dev *dev)
ad9434_remove
Definition ad9434.c:166
int32_t ad9434_spi_read(struct ad9434_dev *dev, uint16_t reg_addr, uint8_t *reg_data)
ad9434_spi_read
Definition ad9434.c:44
int32_t ad9434_setup(struct ad9434_dev **device, struct ad9434_init_param init_param)
ad9434_setup
Definition ad9434.c:134
int32_t ad9434_outputmode_set(struct ad9434_dev *dev, uint8_t mode)
ad9434_setup
Definition ad9434.c:85
int32_t ad9434_testmode_set(struct ad9434_dev *dev, uint8_t mode)
ad9434_testmode_set
Definition ad9434.c:103
int32_t ad9434_spi_write(struct ad9434_dev *dev, uint16_t reg_addr, uint8_t reg_data)
ad9434_spi_write
Definition ad9434.c:65
Header file of Delay functions.
Header file of SPI Interface.
Definition ad9434.h:82
struct no_os_spi_desc * spi_desc
Definition ad9434.h:84
Definition ad9434.h:87
struct no_os_spi_init_param spi_init
Definition ad9434.h:89
Definition ad9361_util.h:63
Structure holding SPI descriptor.
Definition no_os_spi.h:180
Structure holding the parameters for SPI initialization.
Definition no_os_spi.h:128
enum no_os_spi_mode mode
Definition no_os_spi.h:136