aboutsummaryrefslogtreecommitdiffstats
path: root/host/examples
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2017-02-10 16:41:50 -0800
committerMartin Braun <martin.braun@ettus.com>2017-02-10 16:41:50 -0800
commitcc769d1b532df2c636edca0bda951b3c5e919de2 (patch)
tree40322d9dbb0875e7fcd888aa375b2c7a6c5feb39 /host/examples
parent0e7c61ec6818232ffcb68b79e54d8ffbe7431d75 (diff)
parentd5d3e5a7cc4a8a5cbb1685f2e00d6301a9a9781f (diff)
downloaduhd-cc769d1b532df2c636edca0bda951b3c5e919de2.tar.gz
uhd-cc769d1b532df2c636edca0bda951b3c5e919de2.tar.bz2
uhd-cc769d1b532df2c636edca0bda951b3c5e919de2.zip
Merge branch 'maint'
Diffstat (limited to 'host/examples')
-rw-r--r--host/examples/test_messages.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/host/examples/test_messages.cpp b/host/examples/test_messages.cpp
index 4c07d34b1..4135bca56 100644
--- a/host/examples/test_messages.cpp
+++ b/host/examples/test_messages.cpp
@@ -264,7 +264,12 @@ void flush_async(uhd::tx_streamer::sptr tx_stream){
}
void flush_recv(uhd::rx_streamer::sptr rx_stream){
- std::vector<std::complex<float> > buff(rx_stream->get_max_num_samps());
+ uhd::stream_cmd_t stream_cmd(uhd::stream_cmd_t::STREAM_MODE_NUM_SAMPS_AND_DONE);
+ stream_cmd.num_samps = rx_stream->get_max_num_samps()*3;
+ stream_cmd.stream_now = true;
+ rx_stream->issue_stream_cmd(stream_cmd);
+
+ std::vector<std::complex<float> > buff(stream_cmd.num_samps);
uhd::rx_metadata_t md;
do{
@@ -285,6 +290,7 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){
("help", "help message")
("args", po::value<std::string>(&args)->default_value(""), "multi uhd device address args")
("ntests", po::value<size_t>(&ntests)->default_value(50), "number of tests to run")
+ ("test-chain", "Run broken chain tests")
;
po::variables_map vm;
po::store(po::parse_command_line(argc, argv, desc), vm);
@@ -310,15 +316,18 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){
//------------------------------------------------------------------
// begin messages test
//------------------------------------------------------------------
- static const uhd::dict<std::string, boost::function<bool(uhd::usrp::multi_usrp::sptr, uhd::rx_streamer::sptr, uhd::tx_streamer::sptr)> >
+ static uhd::dict<std::string, boost::function<bool(uhd::usrp::multi_usrp::sptr, uhd::rx_streamer::sptr, uhd::tx_streamer::sptr)> >
tests = boost::assign::map_list_of
("Test Burst ACK ", &test_burst_ack_message)
("Test Underflow ", &test_underflow_message)
("Test Time Error", &test_time_error_message)
("Test Late Command", &test_late_command_message)
- ("Test Broken Chain", &test_broken_chain_message)
;
+ if (vm.count("test-chain")) {
+ tests["Test Broken Chain"] = &test_broken_chain_message;
+ }
+
//init result counts
uhd::dict<std::string, size_t> failures, successes;
BOOST_FOREACH(const std::string &key, tests.keys()){
@@ -331,8 +340,9 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){
for (size_t n = 0; n < ntests; n++){
std::string key = tests.keys()[std::rand() % tests.size()];
bool pass = tests[key](usrp, rx_stream, tx_stream);
- flush_async(tx_stream);
+
flush_recv(rx_stream);
+ flush_async(tx_stream);
//store result
if (pass) successes[key]++;