wiki:warpdac_ad9775.c

Version 31 (modified by andreat, 18 years ago) (diff)

--

Analog Devices AD9775 Control Library


Full Code

warpdac_ad9775.c
This file provides functions for controlling the WARP radio board's DAC chip.

Documentation

Functions

For all functions the input variable baseaddr is the base address of the SPI Core.

void WarpDac_InitializeSPI(unsigned int* baseaddr)
Initializes the SPI controller for DAC functions. This function must be called before calling any other DAC functions.

void WarpDac_InitializeDAC(unsigned int* baseaddr, unsigned char dacs)
This function must be called at the beginning of the program to make necessary changes in some of the registers. Initializes the DACs specified in dacs, the 8 bit value where the 4 least significant bits choose the DAC to initialize.

void WarpDac_Reset(unsigned int* baseaddr, unsigned char dacs)
Resets the DAC registers to their default values. Calls WarpDac_InitializeDAC, so there is no need to repeat it in the code. dacs is an 8 bit value where the 4 least significant bits choose the DAC to reset.

int WarpDac_Sleep(unsigned int* baseaddr, char mode, unsigned char dacs)
Will take the specified DACs either in (mode=1) or out (mode=0) of sleep mode. dacs is an 8 bit value where the 4 least significant bits choose the DAC to alter.

int WarpDac_FineGainAdj(unsigned int* baseaddr, char chan, unsigned char value, unsigned char dacs)
Changes the fine gain of either the I (chan=ICHAN) or the Q (chan=QCHAN) channel. The variable value is sent to the registers as specified by the channel setting. dacs is an 8 bit value where the 4 least significant bits choose the DAC to alter. Returns -1 if the mode is incorrect. Returns 0 if change is successful.

int WarpDac_CoarseGainAdj(unsigned int* baseaddr, char chan, unsigned char value, unsigned char dacs)
dacs is an 8 bit value where the 4 least significant bits choose the DAC to alter.

int WarpDac_OffsetAdj(unsigned int* baseaddr, char chan, short value, unsigned char dacs)