Apologies in advance - this is most likely a PEBCAK problem. I’m still spinning up on the API, and am not aware of all the nuances and dependencies.
I’m working on a radar, so I need to transmit and receive at the same time. I started with the ‘C’ receive samples example:
I built LimeSuite and Soapy from source (pulled both a couple of weeks ago).
The ‘C’ example works just fine. And when I modified it to create a TX stream in isolation that worked too - I see my signal coming out the correct spigot, and it appears just as expected.
But when I try to run both TX and RX at the same time only the receiver returns samples. The transmit LO turns on, but I don’t see my signal coming out.
The specific code:
// Send and receive the samples
for (int i = 0; i < 128; i++)
{
int txret = SoapySDRDevice_writeStream(sdr, txStream, txbuff_signal, tx_bufsize, &txflags, txtimeNs, txtimeout);
int rxret = SoapySDRDevice_readStream(sdr, rxStream, rxbuffs, rx_bufsize, &rxflags, &rxtimeNs, rxtimeout);
txtimeNs += tx_bufsize * 1e9/sample_rate;
}
If I comment out the readStream my signal shows up on the TX spigot. If I leave readStream in situ, I see the carrier pop up, but my signal does not come out.
I get no errors back from the API calls either during setup or when I’m on the air.
Can someone give me a clue?