I'm having some trouble transmitting data from my pluto, as far as I can tell it's not being modulated onto the carrier wave but is being sent to hardware. I can get samples from the pluto so wanted to check I was going through the right process.
My program does the following;
Create context from URI
Find the physical ad9361 device (ad9361-phy)
Set the carrier frequency
Find the transmit device (cf-ad9361-dds-core-lpc)
Set TX1_I_F1 frequency (altvoltge0)
Set TX1_Q_F1 frequency (altvoltge0)
Set gain_control_mode to fast_attack (ad9361-phy voltage0)
Set ad9361-phy sampling_frequency
Find channel pointers for voltage0 & voltage1 of the TX device, (which are scan elements)
Enable the channels
Create a buffer for the transmit device
Iterate through the buffer calling 'iio_channel_write' and passing it a double
call iio_buffer_push
Questions;
Is there something I have missed?
The iio documentation notes that iio_channel_write will convert samples to hardware format, does it not matter then which format the passed value is double, int, float?
Does the samples have to be in a particular range, i.e. would 0.001 or 100.000 be okay?
Any other pointers or advice would be great.
Thanks