Can't transmit twice on LimeSDR-USB

I’m having problems getting my LimeSDR-USB to transmit more than once.

Here’s the setup. I’m trying to transmit and receive BPSK in the 12m ham band. After much wrestling with the board configuration, I managed to get a successful transmission of a beacon message at 24MHz, then the board is returned to receiving (to listen for others’ transmissions). And yes, the signal does not look like a clean sine wave on an oscilloscope (just as others have complained), but it is there. 10 seconds later (yeah, it’s fast beaconing, but I’m still debugging), the software tries to send a beacon message again, and all the software thinks it’s doing it, but I don’t hear anything on the analog radio I’m using as a monitor or see any S-meter deviation, and I heard a definite BPSK signal the first transmission attempt.

So why can’t I transmit twice? I originally tried creating the Tx stream once with the call to LMS_SetupStream(device, &xmtStreamId) and just doing a LMS_EnableChannel(device, LMS_TX_CH, 0, true) and LMS_StartStream when transmission began, then a LMS_StopStream and LMS_EnableChannel(device, LMS_TX_CH, 0, false) when done transmitting. Then I tried doing the LMS_SetupStream just before the enable channel and an LMS_DestroyStream after the disable channel, and then re-creating the stream for the next transmission. That didn’t work either.

So what is the proper code flow to make two (or more) time-separated transmissions from the same running program? Note that I do not stop the receiving stream while I am transmitting.

The FPGA and LMS7003 chips are running quite warm, although I don’t have a thermometer to measure them.

Any advice welcome.

No need to disable anything! Once you initialize and start RX/TX streams just use LMS_SendStream function to send data when ever you need to do. If your app do not send data TX module will not emit anything on RF output. When your app need to be closed use LMS_StopStream and then LMS_DestroyStream for both RX and TX channel.