Hi Eric, this mail kind of fell through the cracks. Have you found a solution to this, yet?
It's not overly clear from the documentation, but the finite_acquisition method really bypasses parts of what you configure as behaviour for the USRP_source. So, ok, that won't work. The second one might be slightly off, syntaxwise. You'll need to create a stream_cmd_t (of the right type), not use one of the type constant fields of stream_cmd_t (just as you do in the next approach). The third might work, but really breaks GNU Radio idea of processing streams of samples; so, I'm not 100% sure what is appropriate for you :( Best regards, Marcus On 04/24/2017 09:30 PM, Eric Martin wrote: > I'm using the GNURadio python interface to UHD, and I'm trying to set > a specific time to start collecting samples and either collect a > specific number of samples or stop the collection of samples at a > specific time. Essentially, creating a timed snapshot of samples. This > is something similar to the C++ Ettus UHD example 'rx_timed_sample'. > > I can get a flowgraph to start at a specific time, but I can't seem to > get it to stop at a specific time (at least without causing > overflows). I've also tried doing a finite aquisition, which works, > but I can't get it to start at a specific time. So I'm kind of lost at > what to do next. > > Here is my try at the finite acquisition (seems to just ignore the > start time and collects 0 samples): > > num_samples = 1000 > > usrp = uhd.usrp_source( > ",".join(("", "")), > uhd.stream_args( > cpu_format="fc32", > channels=range(1), > ), > ) > > ... > > usrp.set_start_time(absolute_start_time) > samples = usrp.finite_acquisition(num_samples) > > > I've also tried some combinations of following without success > (TypeError: in method 'usrp_source_sptr_issue_stream_cmd', argument 2 > of type '::uhd::stream_cmd_t const &'): > > usrp.set_command_time(absolute_start_time) > usrp.issue_stream_cmd(uhd.stream_cmd.STREAM_MODE_NUM_SAMPS_AND_DONE) > I also tried the following in a flowgraph: > > ... > usrp = flowgrah.uhd_usrp_source_0 > absolute_start_time = uhd.uhd_swig.time_spec_t(start_time) > usrp.set_start_time(absolute_start_time) > > flowgrah.start() > > stop_cmd = uhd.stream_cmd(uhd.stream_cmd.STREAM_MODE_STOP_CONTINUOUS) > absolute_stop_time = absolute_start_time + > uhd.uhd_swig.time_spec_t(collection_time) > > usrp.set_command_time(absolute_stop_time) > usrp.issue_stream_cmd(stop_cmd) > > For whatever reason the flowgraph one generated overflows consistently > for anything greater than a .02s collection time. > > I posted this question on stack overflow without any success: > http://stackoverflow.com/questions/43420300/how-to-receive-a-finite-number-of-samples-at-a-future-time-using-uhd-gnuradio > > Any help would be greatly appreciated!! > > Thanks. > > > > _______________________________________________ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio