Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Apr 2018 04:55:45 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r467364 - in head/comms/uhd: . files
Message-ID:  <201804150455.w3F4tjCD028800@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Sun Apr 15 04:55:45 2018
New Revision: 467364
URL: https://svnweb.freebsd.org/changeset/ports/467364

Log:
  comms/uhd: unbreak with boost 1.67
  
  host/lib/usrp/cores/rx_vita_core_3000.cpp:77:35: error:
        no matching conversion for functional-style cast from 'double' to 'boost::posix_time::milliseconds' (aka
        'subsecond_duration<boost::posix_time::time_duration, 1000>')
          boost::this_thread::sleep(boost::posix_time::milliseconds(1.0));
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  PR:		227427
  Reported by:	antoine (via exp-run)

Added:
  head/comms/uhd/files/
  head/comms/uhd/files/patch-boost-1.67   (contents, props changed)
Modified:
  head/comms/uhd/Makefile   (contents, props changed)

Modified: head/comms/uhd/Makefile
==============================================================================
--- head/comms/uhd/Makefile	Sun Apr 15 04:24:19 2018	(r467363)
+++ head/comms/uhd/Makefile	Sun Apr 15 04:55:45 2018	(r467364)
@@ -2,7 +2,7 @@
 
 PORTNAME=	uhd
 PORTVERSION=	3.10.3.0
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	comms hamradio
 MASTER_SITES=	http://files.ettus.com/binaries/images/
 DISTFILES=	${IMAGE_FILE}

Added: head/comms/uhd/files/patch-boost-1.67
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/comms/uhd/files/patch-boost-1.67	Sun Apr 15 04:55:45 2018	(r467364)
@@ -0,0 +1,156 @@
+https://github.com/EttusResearch/uhd/commit/305d0e79e219
+https://github.com/EttusResearch/uhd/pull/170
+
+--- host/examples/benchmark_rate.cpp.orig	2018-01-30 20:19:20 UTC
++++ host/examples/benchmark_rate.cpp
+@@ -31,7 +31,7 @@
+ 
+ namespace po = boost::program_options;
+ 
+-const double CLOCK_TIMEOUT = 1000;  // 1000mS timeout for external clock locking
++const long CLOCK_TIMEOUT   = 1000;  // 1000mS timeout for external clock locking
+ const double 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.
+@@ -471,7 +471,7 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){
+     const long usecs = long((duration - secs)*1e6);
+     boost::this_thread::sleep(boost::posix_time::seconds(secs)
+             + boost::posix_time::microseconds(usecs)
+-            + boost::posix_time::milliseconds( (rx_channel_nums.size() <= 1 and tx_channel_nums.size() <= 1) ? 0 : (INIT_DELAY * 1000))
++            + boost::posix_time::milliseconds( (rx_channel_nums.size() <= 1 and tx_channel_nums.size() <= 1) ? 0 : long(INIT_DELAY * 1000))
+     );
+ 
+     //interrupt and join the threads
+--- host/examples/rx_samples_to_file.cpp.orig	2018-01-30 20:19:20 UTC
++++ host/examples/rx_samples_to_file.cpp
+@@ -166,7 +166,7 @@ template<typename samp_type> void recv_to_file(
+ 
+ typedef boost::function<uhd::sensor_value_t (const std::string&)> get_sensor_fn_t;
+ 
+-bool check_locked_sensor(std::vector<std::string> sensor_names, const char* sensor_name, get_sensor_fn_t get_sensor_fn, double setup_time){
++bool check_locked_sensor(std::vector<std::string> sensor_names, const char* sensor_name, get_sensor_fn_t get_sensor_fn, long setup_time){
+     if (std::find(sensor_names.begin(), sensor_names.end(), sensor_name) == sensor_names.end())
+         return false;
+ 
+@@ -211,7 +211,8 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){
+     //variables to be set by po
+     std::string args, file, type, ant, subdev, ref, wirefmt;
+     size_t total_num_samps, spb;
+-    double rate, freq, gain, bw, total_time, setup_time;
++    double rate, freq, gain, bw, total_time;
++    long setup_time;
+ 
+     //setup the program options
+     po::options_description desc("Allowed options");
+@@ -232,7 +233,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)")
+-        ("setup", po::value<double>(&setup_time)->default_value(1.0), "seconds of setup time")
++        ("setup", po::value<long>(&setup_time)->default_value(1), "seconds of setup time")
+         ("progress", "periodically display short-term bandwidth")
+         ("stats", "show average bandwidth on exit")
+         ("sizemap", "track packet size and display breakdown on exit")
+--- host/examples/tx_samples_from_file.cpp.orig	2018-01-30 20:19:20 UTC
++++ host/examples/tx_samples_from_file.cpp
+@@ -71,7 +71,8 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){
+     //variables to be set by po
+     std::string args, file, type, ant, subdev, ref, wirefmt;
+     size_t spb;
+-    double rate, freq, gain, bw, delay, lo_off;
++    double rate, freq, gain, bw, lo_off;
++    long delay;
+ 
+     //setup the program options
+     po::options_description desc("Allowed options");
+@@ -90,7 +91,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<long>(&delay)->default_value(0), "specify a delay between repeated transmission of file")
+         ("repeat", "repeatedly transmit file")
+         ("int-n", "tune USRP with integer-n tuning")
+     ;
+@@ -193,7 +194,7 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){
+         else if (type == "short") send_from_file<std::complex<short> >(usrp, "sc16", wirefmt, 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) boost::this_thread::sleep(boost::posix_time::milliseconds(delay));
+     } while(repeat and not stop_signal_called);
+ 
+     //finished
+--- host/lib/transport/nirio/niusrprio_session.cpp.orig	2018-01-30 20:19:20 UTC
++++ host/lib/transport/nirio/niusrprio_session.cpp
+@@ -218,7 +218,7 @@ nirio_status niusrprio_session::_ensure_fpga_ready()
+         //there is a small chance that the server is still finishing up cleaning up
+         //the DMA FIFOs. We currently don't have any feedback from the driver regarding
+         //this state so just wait.
+-        boost::this_thread::sleep(boost::posix_time::milliseconds(FPGA_READY_TIMEOUT_IN_MS));
++        boost::this_thread::sleep(boost::posix_time::milliseconds(long(FPGA_READY_TIMEOUT_IN_MS)));
+ 
+         //Disable all FIFOs in the FPGA
+         for (size_t i = 0; i < _lvbitx->get_input_fifo_count(); i++) {
+--- host/lib/transport/nirio/rpc/usrprio_rpc_client.cpp.orig	2018-01-30 20:19:20 UTC
++++ host/lib/transport/nirio/rpc/usrprio_rpc_client.cpp
+@@ -24,7 +24,7 @@ usrprio_rpc_client::usrprio_rpc_client(
+     std::string server,
+     std::string port
+ ) : _rpc_client(server, port, uhd::get_process_id(), uhd::get_host_id()),
+-    _timeout(boost::posix_time::milliseconds(DEFAULT_TIMEOUT_IN_MS))
++    _timeout(boost::posix_time::milliseconds(long(DEFAULT_TIMEOUT_IN_MS)))
+ {
+    _ctor_status = _rpc_client.status() ? NiRio_Status_RpcConnectionError : NiRio_Status_Success;
+ }
+--- host/lib/usrp/cores/rx_vita_core_3000.cpp.orig	2018-01-30 20:19:20 UTC
++++ host/lib/usrp/cores/rx_vita_core_3000.cpp
+@@ -74,7 +74,7 @@ struct rx_vita_core_3000_impl : rx_vita_core_3000
+         // At 1 ms * 200 MHz = 200k cycles, 8 bytes * 200k cycles = 1.6 MB
+         // of flushed data, when the typical amount of data buffered
+         // is on the order of kilobytes
+-        boost::this_thread::sleep(boost::posix_time::milliseconds(1.0));
++        boost::this_thread::sleep(boost::posix_time::milliseconds(1));
+ 
+         _iface->poke32(REG_FC_WINDOW, window_size-1);
+         _iface->poke32(REG_FC_ENABLE, window_size?1:0);
+--- host/lib/usrp/gps_ctrl.cpp.orig	2018-01-30 20:19:20 UTC
++++ host/lib/usrp/gps_ctrl.cpp
+@@ -306,19 +306,19 @@ class gps_ctrl_impl : public gps_ctrl{ (private)
+     //issue some setup stuff so it spits out the appropriate data
+     //none of these should issue replies so we don't bother looking for them
+     //we have to sleep between commands because the JL device, despite not acking, takes considerable time to process each command.
+-     sleep(milliseconds(GPSDO_COMMAND_DELAY_MS));
++     sleep(milliseconds(long(GPSDO_COMMAND_DELAY_MS)));
+     _send("SYST:COMM:SER:ECHO OFF\r\n");
+-     sleep(milliseconds(GPSDO_COMMAND_DELAY_MS));
++     sleep(milliseconds(long(GPSDO_COMMAND_DELAY_MS)));
+     _send("SYST:COMM:SER:PRO OFF\r\n");
+-     sleep(milliseconds(GPSDO_COMMAND_DELAY_MS));
++     sleep(milliseconds(long(GPSDO_COMMAND_DELAY_MS)));
+     _send("GPS:GPGGA 1\r\n");
+-     sleep(milliseconds(GPSDO_COMMAND_DELAY_MS));
++     sleep(milliseconds(long(GPSDO_COMMAND_DELAY_MS)));
+     _send("GPS:GGAST 0\r\n");
+-     sleep(milliseconds(GPSDO_COMMAND_DELAY_MS));
++     sleep(milliseconds(long(GPSDO_COMMAND_DELAY_MS)));
+     _send("GPS:GPRMC 1\r\n");
+-     sleep(milliseconds(GPSDO_COMMAND_DELAY_MS));
++     sleep(milliseconds(long(GPSDO_COMMAND_DELAY_MS)));
+     _send("SERV:TRAC 1\r\n");
+-     sleep(milliseconds(GPSDO_COMMAND_DELAY_MS));
++     sleep(milliseconds(long(GPSDO_COMMAND_DELAY_MS)));
+   }
+ 
+   //helper function to retrieve a field from an NMEA sentence
+--- host/lib/usrp/x300/x300_impl.cpp.orig	2018-01-30 20:19:20 UTC
++++ host/lib/usrp/x300/x300_impl.cpp
+@@ -1471,7 +1471,7 @@ void x300_impl::sync_times(mboard_members_t &mb, const
+ 
+ bool x300_impl::wait_for_clk_locked(mboard_members_t& mb, uint32_t which, double timeout)
+ {
+-    boost::system_time timeout_time = boost::get_system_time() + boost::posix_time::milliseconds(timeout * 1000.0);
++    boost::system_time timeout_time = boost::get_system_time() + boost::posix_time::milliseconds(long(timeout * 1000));
+     do {
+         if (mb.fw_regmap->clock_status_reg.read(which)==1)
+             return true;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201804150455.w3F4tjCD028800>