Hi. I am having trouble understanding why the first samples I receive have a tick count offset of 7.
My setup is: - B210 with gpsdo - Time source and reference set to 'gspdo' - Two-channel RX - Sample rate set to 16Mhz The procedure is then to - Reset to time to 0 using the PPS signal - Requesting streaming to begin on time 2 - The first samples received has a tick of 32000007, but it should have been 32000000 (time 2) Why is the tick count 32000007 on the initially received samples? It seems very consistent, as the received tick count is the same on three different B210 boards handled by three different PCs. Below is the relevant code parts mentioned above. Regards /KF === Code for resetting time to 0 === const uhd::time_spec_t last_pps_time1 = usrp->get_time_last_pps(); while (last_pps_time1 == usrp->get_time_last_pps()) boost::this_thread::sleep(boost::posix_time::milliseconds(50)); usrp->set_time_next_pps(uhd::time_spec_t(0.0)); const uhd::time_spec_t last_pps_time2 = usrp->get_time_last_pps(); while (last_pps_time2 == usrp->get_time_last_pps()) boost::this_thread::sleep(boost::posix_time::milliseconds(50)); === Code for streaming === double seconds = 2.0; std::cout << "Issuing stream command to start streaming at time " << seconds << std::endl; uhd::stream_cmd_t stream_cmd(uhd::stream_cmd_t::STREAM_MODE_START_CONTINUOUS); stream_cmd.num_samps = 0; stream_cmd.stream_now = false; stream_cmd.time_spec = uhd::time_spec_t(seconds); rx_stream->issue_stream_cmd(stream_cmd); === Printing the first tick received === size_t num_rx_samps = rx_stream->recv(buffers, _startArguments.samplesPerBuffer, md, 10.0, false); std::cout << "Received first samples. Tick: " << md.time_spec.to_ticks(16000000) << std::endl; _______________________________________________ USRP-users mailing list USRP-users@lists.ettus.com http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com