Just realized that there *is* a C++ API:
usrp_block->get_device()->get_rx_dboard_iface()->read_aux_adc();
replace _rx_ with _tx_ for the LFTX, and read_aux_adc with write_aux_dac for
the DAC.
Best regards,
Marcus
DISCLAIMER: Any attached Code is provided As Is. It has not been tested or
validated as a product, for use in a deployed application or system, or for use
in hazardous environments. You assume all risks for use of the Code. Use of the
Code is subject to terms of the licenses to the UHD or RFNoC code with which
the Code is used. Standard licenses to UHD and RFNoC can be found at
https://www.ettus.com/sdr-software/licenses/.
NI will only perform services based on its understanding and condition that the
goods or services (i) are not for the use in the production or development of
any item produced, purchased, or ordered by any entity with a footnote 1
designation in the license requirement column of Supplement No. 4 to Part 744,
U.S. Export Administration Regulations and (ii) such a company is not a party
to the transaction. If our understanding is incorrect, please notify us
immediately because a specific authorization may be required from the U.S.
Commerce Department before the transaction may proceed further.
On 05.03.22 13:31, Marcus Müller wrote:
Hi Fabien,
no need to modify the FPGA. The functionality is there – it's just not exposed to the
user. Also, note that interacting with the auxiliary ADC and DAC is going to be
asynchronous to the sample flow – there might be millions of samples from the main ADC
that have flown by before an AUX_DAC setting takes effect!
You also don't really need to modify UHD – you *can* use the UHD property tree (through
uspr_block->get_device()->get_tree()->access() ), it's just not a proper, stable,
well-tested, failure-checking API.
Best regards,
Marcus
On 04.03.22 15:01, Fabien PELLET wrote:
Yes, sorry indeed I was talking about AUX_DAC and AUX_ADC that are replicated from the
motherboard.
I already use IO which works very well. So there is no way to send samples (or receive)
at a specific sample rate using that AUX_DAC or ADC. It is just some "analog IOs" for
reading some external sensors for example if I understand well what you wrote.
What are the specifications of that AUX ?
Using a specifique FPGA firmware and custom UHD library, would it be possible to
transform them as GR source or sink ?
Thanks,
Best regards,
Fabien, F4CTZ.
Le 04/03/2022 à 14:35, Marcus Müller a écrit :
Sorry, hit "send" accidentally:
Dear Fabien,
there's no ADC on these daughterboards. Just an EEPROM for identification, opamps for
amplification and signal conditioning, and on the LFTX a switch-mode power supply.
You're right, they do exppose the AUX DACs and ADC lines from the motherboad.
However, these are without further ado not accessible from UHD, and thus also not from
GNU Radio. Some daughterboard drivers use them.
I'm not sure UHD exposes them in all version, but `uhd_usrp_probe --tree` might show
properties called "AUX_DAC_A" (or _B, or AUX_ADC_.., you get the idea). You can use
get_device() on your USRP blocks and access theses properties from your GNU Radio
program (from C++), but it's not really an API – more an exposing of intestines...
Best regards,
Marcus
On 04.03.22 14:30, Marcus Müller wrote:
Dear Fabien,
there's no ADC on these daughterboards. Just an EEPROM for identification, opamps for
amplification and signal conditioning, and on the LFTX a switch-mode power supply.
Best regards,
Marcus
On 04.03.22 10:30, Fabien PELLET wrote:
Hello,
As there are IOs available on LFTX and LFRX, there are also ADC and DAC
available.
Is there a way to use them as SOURCE and SINK in gnuradio for low speed
conversion ?
Thanks,
Best regards,
Fabien, F4CTZ.