libad9361
0.2
Device specific library for AD936X transceivers
|
Functions | |
__api int | ad9361_multichip_sync (struct iio_device *master, struct iio_device **slaves, unsigned int num_slaves, unsigned int flags) |
Multi-chip synchronization (MCS) management. More... | |
__api int | ad9361_fmcomms5_multichip_sync (struct iio_context *ctx, unsigned int flags) |
FMComms5 specific MCS management. More... | |
__api int | ad9361_set_bb_rate (struct iio_device *dev, unsigned long rate) |
Baseband rate configuration with generic filter support. More... | |
__api int | ad9361_set_trx_fir_enable (struct iio_device *dev, int enable) |
Enable or disable transmit and receiver FIRs simultaneously. More... | |
__api int | ad9361_get_trx_fir_enable (struct iio_device *dev, int *enable) |
Get current enable value of transmit and receiver FIRs. More... | |
__api int | ad9361_generate_fir_taps (struct filter_design_parameters *parameters, short *taps, int *num_taps, int *gain) |
Design custom FIR filter from specific design criteria. More... | |
__api int | ad9361_calculate_rf_clock_chain (unsigned long tx_sample_rate, unsigned long rate_gov, unsigned long *rx_path_clks, unsigned long *tx_path_clks) |
Calculate the clock path rates for both transmit and receiver paths. More... | |
__api int | ad9361_calculate_rf_clock_chain_fdp (struct filter_design_parameters *fdpTX, struct filter_design_parameters *fdpRX, unsigned long sample_rate) |
Calculate the clock path rates and default filter settings for both transmit and receiver for a desired baseband rate. More... | |
__api int | ad9361_set_bb_rate_custom_filter_auto (struct iio_device *dev, unsigned long rate) |
Baseband rate configuration with custom filter support based on desired baseband sample rate. More... | |
__api int | ad9361_set_bb_rate_custom_filter_manual (struct iio_device *dev, unsigned long rate, unsigned long Fpass, unsigned long Fstop, unsigned long wnom_tx, unsigned long wnom_rx) |
Baseband rate configuration with custom filter support based on desired baseband sample rate and simplified filter configuration. More... | |
__api int | ad9361_fmcomms5_phase_sync (struct iio_context *ctx, long long lo) |
FMComms5 phase synchronize all TX and RX channels together. More... | |
__api int ad9361_calculate_rf_clock_chain | ( | unsigned long | tx_sample_rate, |
unsigned long | rate_gov, | ||
unsigned long * | rx_path_clks, | ||
unsigned long * | tx_path_clks | ||
) |
Calculate the clock path rates for both transmit and receiver paths.
tx_sample_rate | Sample rate in samples per second of desired baseband rate |
rate_gov | Rate governor enable setting forcing HB3=3 when enabled |
rx_path_clks | A pointer to a unsigned long variable where the 6 RX path rates should be stored |
tx_path_clks | A pointer to a unsigned long variable where the 6 TX path rates should be stored |
__api int ad9361_calculate_rf_clock_chain_fdp | ( | struct filter_design_parameters * | fdpTX, |
struct filter_design_parameters * | fdpRX, | ||
unsigned long | sample_rate | ||
) |
Calculate the clock path rates and default filter settings for both transmit and receiver for a desired baseband rate.
fdpTX | Filter design parameters structure where TX filter design parameters will be stored |
fdpRX | Filter design parameters structure where RX filter design parameters will be stored |
sample_rate | Desired basedband sample rate in samples per second for both RX and TX filter configurations |
__api int ad9361_fmcomms5_multichip_sync | ( | struct iio_context * | ctx, |
unsigned int | flags | ||
) |
FMComms5 specific MCS management.
ctx | A pointer to an iio_context structure |
flags | Control flags for MCS configuration |
__api int ad9361_fmcomms5_phase_sync | ( | struct iio_context * | ctx, |
long long | lo | ||
) |
FMComms5 phase synchronize all TX and RX channels together.
ctx | A pointer to an iio_context structure |
lo | Frequency in hertz of LO for TX and RX |
NOTES: To perform calibration the following side effects occur:
Phase synchronization is valid until the LOs are retuned or sample rates change or gains are modified.
External Links:
__api int ad9361_generate_fir_taps | ( | struct filter_design_parameters * | parameters, |
short * | taps, | ||
int * | num_taps, | ||
int * | gain | ||
) |
Design custom FIR filter from specific design criteria.
parameters | A pointer filter designer structure |
taps | A pointer to taps of designed filter |
num_taps | A pointer to integer number of taps designed in taps |
gain | Integer gain for designed filter |
__api int ad9361_get_trx_fir_enable | ( | struct iio_device * | dev, |
int * | enable | ||
) |
Get current enable value of transmit and receiver FIRs.
dev | A pointer to an iio_device structure |
enable | Returned integer value of FIR enabled |
__api int ad9361_multichip_sync | ( | struct iio_device * | master, |
struct iio_device ** | slaves, | ||
unsigned int | num_slaves, | ||
unsigned int | flags | ||
) |
Multi-chip synchronization (MCS) management.
master | A pointer to an iio_device structure |
slaves | A double pointer to an iio_device structure |
num_slaves | Number of slave devices associated with the master |
flags | Control flags for MCS configuration |
__api int ad9361_set_bb_rate | ( | struct iio_device * | dev, |
unsigned long | rate | ||
) |
Baseband rate configuration with generic filter support.
dev | A pointer to an iio_device structure |
rate | Rate in samples per second of desired baseband rate |
NOTE: Three possible filters are loaded based on required rate and associated decimation/interpolation. These filters are generally very wide band and not waveform specific.
__api int ad9361_set_bb_rate_custom_filter_auto | ( | struct iio_device * | dev, |
unsigned long | rate | ||
) |
Baseband rate configuration with custom filter support based on desired baseband sample rate.
dev | A pointer to an iio_device structure |
rate | Rate in samples per second of desired baseband rate |
NOTE: Designed filter will have the following configuration: Fpass = rate / 3 Fstop = Fpass * 1.25 wnomTX = 1.6 * Fstop wnomRX = 1.4 * Fstop
__api int ad9361_set_bb_rate_custom_filter_manual | ( | struct iio_device * | dev, |
unsigned long | rate, | ||
unsigned long | Fpass, | ||
unsigned long | Fstop, | ||
unsigned long | wnom_tx, | ||
unsigned long | wnom_rx | ||
) |
Baseband rate configuration with custom filter support based on desired baseband sample rate and simplified filter configuration.
dev | A pointer to an iio_device structure |
rate | Rate in samples per second of desired baseband rate |
Fpass | Stop edge frequency in hertz of passband |
Fstop | Start edge frequency in hertz of stopband |
wnom_tx | TX RF bandwidth of analog filter in hertz |
wnom_rx | RX RF bandwidth of analog filter in hertz |
__api int ad9361_set_trx_fir_enable | ( | struct iio_device * | dev, |
int | enable | ||
) |
Enable or disable transmit and receiver FIRs simultaneously.
dev | A pointer to an iio_device structure |
enable | Integer to enable FIRs when 1 or disable when 0 |