33#ifndef AXI_DAC_CORE_H_
34#define AXI_DAC_CORE_H_
128 uint32_t chan, uint32_t freq_hz);
131 uint32_t chan, uint32_t *freq);
134 uint32_t chan, uint32_t phase);
137 uint32_t chan, uint32_t *phase);
141 int32_t scale_micro_units);
145 int32_t *scale_micro_units);
176 const uint32_t *custom_data_iq,
177 uint32_t custom_tx_count,
const uint16_t sine_lut[128]
Definition adc_demo.c:43
const uint32_t sine_lut_iq[1024]
Definition axi_dac_core.c:140
int32_t axi_dac_dds_set_calib_phase(struct axi_dac *dac, uint32_t chan, int32_t val, int32_t val2)
Calibrate phase for specific AXI DAC channel.
Definition axi_dac_core.c:950
int32_t axi_dac_dds_get_scale(struct axi_dac *dac, uint32_t chan, int32_t *scale_micro_units)
AXI DAC Get DDS scale for specific channel.
Definition axi_dac_core.c:754
int32_t axi_dac_set_buff(struct axi_dac *dac, uint32_t address, uint16_t *buff, uint32_t buff_size)
AXI DAC Set data buffer.
Definition axi_dac_core.c:1045
int32_t axi_dac_bus_write(struct axi_dac *dac, uint32_t reg_addr, uint32_t reg_data, uint8_t data_size)
AXI DAC Bus Data Write.
Definition axi_dac_core.c:439
axi_iface
Definition axi_dac_core.h:38
@ AXI_DAC_BUS_TYPE_QSPI
Definition axi_dac_core.h:40
@ AXI_DAC_BUS_TYPE_NONE
Definition axi_dac_core.h:39
axi_dac_data_sel
Definition axi_dac_core.h:83
@ AXI_DAC_DATA_SEL_DDS
Definition axi_dac_core.h:84
@ AXI_DAC_DATA_SEL_SED
Definition axi_dac_core.h:85
@ AXI_DAC_DATA_SEL_PN23
Definition axi_dac_core.h:90
@ AXI_DAC_DATA_SEL_LB
Definition axi_dac_core.h:92
@ AXI_DAC_DATA_SEL_PN7
Definition axi_dac_core.h:88
@ AXI_DAC_DATA_SEL_PN15
Definition axi_dac_core.h:89
@ AXI_DAC_DATA_SEL_PN31
Definition axi_dac_core.h:91
@ AXI_DAC_DATA_SEL_DMA
Definition axi_dac_core.h:86
@ AXI_DAC_DATA_SEL_ZERO
Definition axi_dac_core.h:87
@ AXI_DAC_DATA_SEL_PNXX
Definition axi_dac_core.h:93
int32_t axi_dac_set_ddr(struct axi_dac *dac, bool enable)
AXI DAC Set DDR (bus double-data-rate) mode.
Definition axi_dac_core.c:515
int32_t axi_dac_bus_read(struct axi_dac *dac, uint32_t reg_addr, uint32_t *reg_data, uint8_t data_size)
AXI DAC Bus Data Read.
Definition axi_dac_core.c:483
int32_t axi_dac_set_io_mode(struct axi_dac *dac, enum axi_io_mode mode)
AXI DAC Set IO mode.
Definition axi_dac_core.c:529
int32_t axi_dac_remove(struct axi_dac *dac)
AXI DAC Resources deallocation.
Definition axi_dac_core.c:1247
int32_t axi_dac_dds_get_calib_scale(struct axi_dac *dac, uint32_t chan, int32_t *val, int32_t *val2)
Get the scale calibration values for AXI DAC channel.
Definition axi_dac_core.c:934
int32_t axi_dac_dds_get_frequency(struct axi_dac *dac, uint32_t chan, uint32_t *freq)
AXI DAC Get DDS frequency for specific channel.
Definition axi_dac_core.c:647
int32_t axi_dac_data_transfer_addr(struct axi_dac *dac, uint32_t address)
AXI DAC Set starting dma data trasfer address.
Definition axi_dac_core.c:559
axi_io_mode
Definition axi_dac_core.h:43
@ AXI_DAC_IO_MODE_QSPI
Definition axi_dac_core.h:46
@ AXI_DAC_IO_MODE_SPI
Definition axi_dac_core.h:44
@ AXI_DAC_IO_MODE_DSPI
Definition axi_dac_core.h:45
int32_t axi_dac_set_datasel(struct axi_dac *dac, int32_t chan, enum axi_dac_data_sel sel)
AXI DAC Set Data type for specific channel.
Definition axi_dac_core.c:599
int32_t axi_dac_data_format_set(struct axi_dac *dac, int format)
AXI DAC data format.
Definition axi_dac_core.c:579
uint32_t axi_dac_set_sine_lut(struct axi_dac *dac, uint32_t address)
AXI DAC Set data based on a Sine Lookup Table.
Definition axi_dac_core.c:980
int32_t axi_dac_dds_get_calib_phase(struct axi_dac *dac, uint32_t chan, int32_t *val, int32_t *val2)
Get the phase calibration values for AXI DAC channel.
Definition axi_dac_core.c:966
int32_t axi_dac_init_begin(struct axi_dac **dac_core, const struct axi_dac_init *init)
Begin AXI DAC Initialization.
Definition axi_dac_core.c:1107
int32_t axi_dac_init(struct axi_dac **dac_core, const struct axi_dac_init *init)
AXI DAC Main Initialization.
Definition axi_dac_core.c:1163
int32_t axi_dac_dds_set_calib_scale(struct axi_dac *dac, uint32_t chan, int32_t val, int32_t val2)
Calibrate scale for specific AXI DAC channel.
Definition axi_dac_core.c:918
int32_t axi_dac_dds_get_phase(struct axi_dac *dac, uint32_t chan, uint32_t *phase)
AXI DAC Get DDS phase for specific channel.
Definition axi_dac_core.c:697
int32_t axi_dac_dds_set_phase(struct axi_dac *dac, uint32_t chan, uint32_t phase)
AXI DAC Set DDS phase for specific channel.
Definition axi_dac_core.c:672
int32_t axi_dac_init_finish(struct axi_dac *dac)
Begin AXI DAC Initialization.
Definition axi_dac_core.c:1132
int32_t axi_dac_load_custom_data(struct axi_dac *dac, const uint32_t *custom_data_iq, uint32_t custom_tx_count, uint32_t address)
AXI DAC Load custom data.
Definition axi_dac_core.c:1072
int32_t axi_dac_data_setup(struct axi_dac *dac)
AXI DAC Data Setup.
Definition axi_dac_core.c:1202
int32_t axi_dac_dds_set_frequency(struct axi_dac *dac, uint32_t chan, uint32_t freq_hz)
AXI DAC Set DDS frequency for specific channel.
Definition axi_dac_core.c:623
int32_t axi_dac_dds_set_scale(struct axi_dac *dac, uint32_t chan, int32_t scale_micro_units)
AXI DAC Set DDS scale for specific channel.
Definition axi_dac_core.c:723
int32_t axi_dac_set_data_stream(struct axi_dac *dac, bool enable)
AXI DAC Set data stream mode.
Definition axi_dac_core.c:544
Definition axi_dac_core.h:96
uint32_t dds_phase_0
Definition axi_dac_core.h:98
uint32_t dds_phase_1
Definition axi_dac_core.h:101
uint32_t dds_dual_tone
Definition axi_dac_core.h:103
uint32_t dds_frequency_1
Definition axi_dac_core.h:100
uint32_t pat_data
Definition axi_dac_core.h:104
uint32_t dds_frequency_0
Definition axi_dac_core.h:97
enum axi_dac_data_sel sel
Definition axi_dac_core.h:105
int32_t dds_scale_1
Definition axi_dac_core.h:102
int32_t dds_scale_0
Definition axi_dac_core.h:99
Definition axi_dac_core.h:68
uint32_t bus_type
Definition axi_dac_core.h:80
uint8_t num_channels
Definition axi_dac_core.h:74
uint8_t rate
Definition axi_dac_core.h:78
uint32_t base
Definition axi_dac_core.h:72
const char * name
Definition axi_dac_core.h:70
struct axi_dac_channel * channels
Definition axi_dac_core.h:76
AXI DAC Device Descriptor.
Definition axi_dac_core.h:53
uint64_t clock_hz
Definition axi_dac_core.h:61
uint32_t bus_type
Definition axi_dac_core.h:65
uint8_t num_channels
Definition axi_dac_core.h:59
uint32_t base
Definition axi_dac_core.h:57
struct axi_dac_channel * channels
Definition axi_dac_core.h:63
const char * name
Definition axi_dac_core.h:55