diff options
Diffstat (limited to 'host/examples')
-rw-r--r-- | host/examples/benchmark_rate.cpp | 11 | ||||
-rw-r--r-- | host/examples/rx_samples_to_file.cpp | 10 | ||||
-rw-r--r-- | host/examples/test_messages.cpp | 2 | ||||
-rw-r--r-- | host/examples/tx_samples_c.c | 2 | ||||
-rw-r--r-- | host/examples/tx_samples_from_file.cpp | 14 | ||||
-rw-r--r-- | host/examples/tx_waveforms.cpp | 9 | ||||
-rw-r--r-- | host/examples/wavetable.hpp | 7 |
7 files changed, 38 insertions, 17 deletions
diff --git a/host/examples/benchmark_rate.cpp b/host/examples/benchmark_rate.cpp index 0c16e5ecf..3b5816847 100644 --- a/host/examples/benchmark_rate.cpp +++ b/host/examples/benchmark_rate.cpp @@ -20,8 +20,8 @@ namespace po = boost::program_options; -const double CLOCK_TIMEOUT = 1000; // 1000mS timeout for external clock locking -const double INIT_DELAY = 0.05; // 50mS initial delay before transmit +const int64_t CLOCK_TIMEOUT = 1000; // 1000mS timeout for external clock locking +const float INIT_DELAY = 0.05; // 50mS initial delay before transmit //typedef boost::atomic<bool> atomic_bool; // We'll fake atomic bools for now, for more backward compat. // This is just an example, after all. @@ -72,7 +72,8 @@ void benchmark_rx_rate( cmd.stream_now = (buffs.size() == 1); rx_stream->issue_stream_cmd(cmd); - const float burst_pkt_time = std::max(0.100, (2 * max_samps_per_packet/rate)); + const float burst_pkt_time = + std::max<float>(0.100f, (2 * max_samps_per_packet/rate)); float recv_timeout = burst_pkt_time + INIT_DELAY; bool stop_called = false; @@ -353,7 +354,9 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){ if(ref != "internal") { std::cout << "Now confirming lock on clock signals..." << std::endl; bool is_locked = false; - boost::system_time end_time = boost::get_system_time() + boost::posix_time::milliseconds(CLOCK_TIMEOUT); + boost::system_time end_time = + boost::get_system_time() + + boost::posix_time::milliseconds(CLOCK_TIMEOUT); for (int i = 0; i < num_mboards; i++) { if (ref == "mimo" and i == 0) continue; while((is_locked = usrp->get_mboard_sensor("ref_locked",i).to_bool()) == false and diff --git a/host/examples/rx_samples_to_file.cpp b/host/examples/rx_samples_to_file.cpp index b4ca8cfee..59de6c26b 100644 --- a/host/examples/rx_samples_to_file.cpp +++ b/host/examples/rx_samples_to_file.cpp @@ -17,6 +17,8 @@ #include <fstream> #include <csignal> #include <complex> +#include <thread> +#include <chrono> namespace po = boost::program_options; @@ -184,7 +186,7 @@ bool check_locked_sensor(std::vector<std::string> sensor_names, const char* sens std::cout.flush(); } else { - first_lock_time = boost::system_time(); //reset to 'not a date time' + first_lock_time = boost::system_time(); //reset to 'not a date time' if (boost::get_system_time() > (start + boost::posix_time::seconds(setup_time))){ std::cout << std::endl; @@ -193,7 +195,7 @@ bool check_locked_sensor(std::vector<std::string> sensor_names, const char* sens std::cout << "_"; std::cout.flush(); } - boost::this_thread::sleep(boost::posix_time::milliseconds(100)); + std::this_thread::sleep_for(std::chrono::milliseconds(100)); } std::cout << std::endl; return true; @@ -307,7 +309,9 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){ //set the antenna if (vm.count("ant")) usrp->set_rx_antenna(ant); - boost::this_thread::sleep(boost::posix_time::seconds(setup_time)); //allow for some setup time + std::this_thread::sleep_for( + std::chrono::milliseconds(int64_t(1000 * setup_time)) + ); //check Ref and LO Lock detect if (not vm.count("skip-lo")){ diff --git a/host/examples/test_messages.cpp b/host/examples/test_messages.cpp index 5276dfd46..0f7c289d2 100644 --- a/host/examples/test_messages.cpp +++ b/host/examples/test_messages.cpp @@ -345,7 +345,7 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){ std::cout << boost::format( "%s -> %3u successes, %3u failures" ) % key % successes[key] % failures[key] << std::endl; - any_failure = any_failure or bool(failures[key]); + any_failure = any_failure or (failures[key] > 0); } //finished diff --git a/host/examples/tx_samples_c.c b/host/examples/tx_samples_c.c index aabf17805..eab061edb 100644 --- a/host/examples/tx_samples_c.c +++ b/host/examples/tx_samples_c.c @@ -115,7 +115,7 @@ int main(int argc, char* argv[]){ // Create TX metadata uhd_tx_metadata_handle md; EXECUTE_OR_GOTO(free_tx_streamer, - uhd_tx_metadata_make(&md, false, 0.0, 0.1, true, false) + uhd_tx_metadata_make(&md, false, 0, 0.1, true, false) ) // Create other necessary structs diff --git a/host/examples/tx_samples_from_file.cpp b/host/examples/tx_samples_from_file.cpp index ba2ad6cb8..31d70ad7e 100644 --- a/host/examples/tx_samples_from_file.cpp +++ b/host/examples/tx_samples_from_file.cpp @@ -16,6 +16,8 @@ #include <fstream> #include <complex> #include <csignal> +#include <chrono> +#include <thread> namespace po = boost::program_options; @@ -74,7 +76,7 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){ ("bw", po::value<double>(&bw), "analog frontend filter bandwidth in Hz") ("ref", po::value<std::string>(&ref)->default_value("internal"), "reference source (internal, external, mimo)") ("wirefmt", po::value<std::string>(&wirefmt)->default_value("sc16"), "wire format (sc8 or sc16)") - ("delay", po::value<double>(&delay)->default_value(0.0), "specify a delay between repeated transmission of file") + ("delay", po::value<double>(&delay)->default_value(0.0), "specify a delay between repeated transmission of file (in seconds)") ("channel", po::value<std::string>(&channel)->default_value("0"), "which channel to use") ("repeat", "repeatedly transmit file") ("int-n", "tune USRP with integer-n tuning") @@ -147,7 +149,8 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){ //set the antenna if (vm.count("ant")) usrp->set_tx_antenna(ant); - boost::this_thread::sleep(boost::posix_time::seconds(1)); //allow for some setup time + //allow for some setup time: + std::this_thread::sleep_for(std::chrono::seconds(1)); //Check Ref and LO Lock detect std::vector<std::string> sensor_names; @@ -193,7 +196,12 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){ else if (type == "short") send_from_file<std::complex<short> >(tx_stream, file, spb); else throw std::runtime_error("Unknown type " + type); - if(repeat and delay != 0.0) boost::this_thread::sleep(boost::posix_time::milliseconds(delay)); + if(repeat and delay > 0.0) { + boost::this_thread::sleep(boost::posix_time::milliseconds(delay)); + std::this_thread::sleep_for( + std::chrono::milliseconds(int64_t(delay*1000)) + ); + } } while(repeat and not stop_signal_called); //finished diff --git a/host/examples/tx_waveforms.cpp b/host/examples/tx_waveforms.cpp index 385110d7c..04cd8f3b4 100644 --- a/host/examples/tx_waveforms.cpp +++ b/host/examples/tx_waveforms.cpp @@ -37,7 +37,8 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){ //variables to be set by po std::string args, wave_type, ant, subdev, ref, pps, otw, channel_list; - uint64_t total_num_samps, spb; + uint64_t total_num_samps; + size_t spb; double rate, freq, gain, wave_freq, bw; float ampl; @@ -46,7 +47,7 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){ desc.add_options() ("help", "help message") ("args", po::value<std::string>(&args)->default_value(""), "single uhd device address args") - ("spb", po::value<uint64_t>(&spb)->default_value(0), "samples per buffer, 0 for default") + ("spb", po::value<size_t>(&spb)->default_value(0), "samples per buffer, 0 for default") ("nsamps", po::value<uint64_t>(&total_num_samps)->default_value(0), "total number of samples to transmit") ("rate", po::value<double>(&rate), "rate of outgoing samples") ("freq", po::value<double>(&freq), "RF center frequency in Hz") @@ -166,7 +167,9 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){ uhd::tx_streamer::sptr tx_stream = usrp->get_tx_stream(stream_args); //allocate a buffer which we re-use for each channel - if (spb == 0) spb = tx_stream->get_max_num_samps()*10; + if (spb == 0) { + spb = tx_stream->get_max_num_samps()*10; + } std::vector<std::complex<float> > buff(spb); std::vector<std::complex<float> *> buffs(channel_nums.size(), &buff.front()); diff --git a/host/examples/wavetable.hpp b/host/examples/wavetable.hpp index acced0d3a..8fdc8db30 100644 --- a/host/examples/wavetable.hpp +++ b/host/examples/wavetable.hpp @@ -19,7 +19,7 @@ public: _wave_table(wave_table_len) { //compute real wave table with 1.0 amplitude - std::vector<double> real_wave_table(wave_table_len); + std::vector<float> real_wave_table(wave_table_len); if (wave_type == "CONST"){ for (size_t i = 0; i < wave_table_len; i++) real_wave_table[i] = 1.0; @@ -42,7 +42,10 @@ public: //compute i and q pairs with 90% offset and scale to amplitude for (size_t i = 0; i < wave_table_len; i++){ const size_t q = (i+(3*wave_table_len)/4)%wave_table_len; - _wave_table[i] = std::complex<float>(ampl*real_wave_table[i], ampl*real_wave_table[q]); + _wave_table[i] = std::complex<float>( + ampl*real_wave_table[i], + ampl*real_wave_table[q] + ); } } |