All, I am trying to use both transceivers to transmit and receive data, which is fine with the current GNU Radio blocks. On one of the transceivers I am currently using an independent piece of software to do a rough TDMA type waveform. Basically, the GNU Radio flow graph for one side looks like:
SIDEA usrp_source_c => deinterleave => multiply_const_cc => file_descriptor_sink usrp_sink_c <= interleave <= multiply_const_cc <= file_descriptor_source SIDEB (same source /deinterleave as above) => FM demod (same sink / inteleave as above) <= FM mod When I am running the TDMA code (connected through TCP sockets), the USRP underruns (uU) when no data is sent. That's no big deal when I have one transceiver, but when I am running with two transceivers this REALLY messes with things because of the interleaving. What I have tried to do is patch the file_descriptor_source by checking the socket for data (with a select() call with a timeout of 0) and then sending noutput_items complex zeros to the USRP to allow the data to be interleaved. I still seem to be having problems with underruns. I know that mblocks will solve my problems in this area, but I need a solution in a couple of weeks. Should I throw my hands up and wait? or do I need to make my own scheduler? gr_buffer? HELP! Thanks for any guidance, David
_______________________________________________ Discuss-gnuradio mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
