aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib')
-rw-r--r--host/lib/include/uhdlib/usrp/common/max287x.hpp11
-rwxr-xr-xhost/lib/rfnoc/nocscript/gen_basic_funcs.py5
-rw-r--r--host/lib/rfnoc/source_block_ctrl_base.cpp4
-rw-r--r--host/lib/transport/muxed_zero_copy_if.cpp4
-rw-r--r--host/lib/transport/nirio/niusrprio_session.cpp2
-rw-r--r--host/lib/transport/nirio_zero_copy.cpp9
-rw-r--r--host/lib/transport/super_send_packet_handler.hpp6
-rw-r--r--host/lib/transport/tcp_zero_copy.cpp6
-rw-r--r--host/lib/transport/udp_zero_copy.cpp5
-rw-r--r--host/lib/transport/xport_benchmarker.cpp4
-rw-r--r--host/lib/types/serial.cpp7
-rw-r--r--host/lib/usrp/b100/clock_ctrl.cpp7
-rw-r--r--host/lib/usrp/b200/b200_iface.cpp11
-rw-r--r--host/lib/usrp/common/ad9361_driver/ad9361_device.cpp44
-rw-r--r--host/lib/usrp/common/fx2_ctrl.cpp9
-rw-r--r--host/lib/usrp/cores/dma_fifo_core_3000.cpp9
-rw-r--r--host/lib/usrp/cores/i2c_core_100_wb32.cpp5
-rw-r--r--host/lib/usrp/cores/i2c_core_200.cpp5
-rw-r--r--host/lib/usrp/cores/rx_dsp_core_200.cpp5
-rw-r--r--host/lib/usrp/cores/time_core_3000.cpp5
-rw-r--r--host/lib/usrp/cores/tx_dsp_core_200.cpp5
-rw-r--r--host/lib/usrp/dboard/db_dbsrx.cpp5
-rw-r--r--host/lib/usrp/dboard/db_tvrx2.cpp5
-rw-r--r--host/lib/usrp/dboard/db_ubx.cpp5
-rw-r--r--host/lib/usrp/dboard/db_xcvr2450.cpp9
-rw-r--r--host/lib/usrp/dboard/twinrx/twinrx_ctrl.cpp5
-rw-r--r--host/lib/usrp/dboard_iface.cpp6
-rw-r--r--host/lib/usrp/e300/e300_fifo_config.cpp4
-rw-r--r--host/lib/usrp/e300/e300_i2c.cpp9
-rw-r--r--host/lib/usrp/e300/e300_impl.cpp9
-rw-r--r--host/lib/usrp/e300/e300_network.cpp5
-rw-r--r--host/lib/usrp/gps_ctrl.cpp1
-rw-r--r--host/lib/usrp/multi_usrp.cpp7
-rw-r--r--host/lib/usrp/n230/n230_impl.cpp5
-rw-r--r--host/lib/usrp/n230/n230_resource_manager.cpp11
-rw-r--r--host/lib/usrp/usrp1/io_impl.cpp4
-rw-r--r--host/lib/usrp/usrp2/io_impl.cpp4
-rw-r--r--host/lib/usrp/usrp2/usrp2_iface.cpp5
-rw-r--r--host/lib/usrp/x300/x300_radio_ctrl_impl.cpp2
-rw-r--r--host/lib/usrp_clock/octoclock/octoclock_image_loader.cpp5
-rw-r--r--host/lib/usrp_clock/octoclock/octoclock_uart.cpp6
41 files changed, 162 insertions, 118 deletions
diff --git a/host/lib/include/uhdlib/usrp/common/max287x.hpp b/host/lib/include/uhdlib/usrp/common/max287x.hpp
index 762daf7b6..154a967b4 100644
--- a/host/lib/include/uhdlib/usrp/common/max287x.hpp
+++ b/host/lib/include/uhdlib/usrp/common/max287x.hpp
@@ -8,6 +8,8 @@
#ifndef MAX287X_HPP_INCLUDED
#define MAX287X_HPP_INCLUDED
+#include "max2870_regs.hpp"
+#include "max2871_regs.hpp"
#include <uhd/exception.hpp>
#include <uhd/types/dict.hpp>
#include <uhd/types/ranges.hpp>
@@ -16,12 +18,11 @@
#include <uhd/utils/safe_call.hpp>
#include <boost/assign.hpp>
#include <boost/function.hpp>
-#include <boost/thread.hpp>
#include <boost/math/special_functions/round.hpp>
-#include <stdint.h>
#include <vector>
-#include "max2870_regs.hpp"
-#include "max2871_regs.hpp"
+#include <chrono>
+#include <thread>
+#include <stdint.h>
/**
* MAX287x interface
@@ -915,7 +916,7 @@ void max287x<max287x_regs_t>::commit()
if (_delay_after_write)
{
- boost::this_thread::sleep(boost::posix_time::milliseconds(20));
+ std::this_thread::sleep_for(std::chrono::milliseconds(20));
_delay_after_write = false;
}
}
diff --git a/host/lib/rfnoc/nocscript/gen_basic_funcs.py b/host/lib/rfnoc/nocscript/gen_basic_funcs.py
index cd024af5c..fec6b04ad 100755
--- a/host/lib/rfnoc/nocscript/gen_basic_funcs.py
+++ b/host/lib/rfnoc/nocscript/gen_basic_funcs.py
@@ -26,7 +26,8 @@ from mako.template import Template
#
INCLUDE_LIST = """
#include <boost/math/special_functions/round.hpp>
-#include <boost/thread/thread.hpp>
+#include <chrono>
+#include <thread>
"""
FUNCTION_LIST = """
CATEGORY: Math Functions
@@ -251,7 +252,7 @@ CATEGORY: Execution Control
BOOL SLEEP(DOUBLE)
{
int ms = ${args[0]} / 1000;
- boost::this_thread::sleep(boost::posix_time::milliseconds(ms));
+ std::this_thread::sleep_for(std::chrono::milliseconds(ms));
${RETURN}(true);
}
"""
diff --git a/host/lib/rfnoc/source_block_ctrl_base.cpp b/host/lib/rfnoc/source_block_ctrl_base.cpp
index d71905a1f..5ede899cb 100644
--- a/host/lib/rfnoc/source_block_ctrl_base.cpp
+++ b/host/lib/rfnoc/source_block_ctrl_base.cpp
@@ -9,6 +9,8 @@
#include <uhd/utils/log.hpp>
#include <uhd/rfnoc/constants.hpp>
#include <uhdlib/rfnoc/utils.hpp>
+#include <chrono>
+#include <thread>
using namespace uhd;
using namespace uhd::rfnoc;
@@ -103,7 +105,7 @@ void source_block_ctrl_base::configure_flow_control_out(
//to flush is more than enough time.
//TODO: Enhancement. We should get feedback from the FPGA about when the source_flow_control
// module is done flushing.
- boost::this_thread::sleep(boost::posix_time::milliseconds(1));
+ std::this_thread::sleep_for(std::chrono::milliseconds(1));
//Resize the FC window.
//Precondition: No data can be buffered upstream.
diff --git a/host/lib/transport/muxed_zero_copy_if.cpp b/host/lib/transport/muxed_zero_copy_if.cpp
index 9211ffeb2..2e7583276 100644
--- a/host/lib/transport/muxed_zero_copy_if.cpp
+++ b/host/lib/transport/muxed_zero_copy_if.cpp
@@ -14,6 +14,8 @@
#include <boost/thread.hpp>
#include <boost/thread/locks.hpp>
#include <map>
+#include <chrono>
+#include <thread>
using namespace uhd;
using namespace uhd::transport;
@@ -210,7 +212,7 @@ private:
if (not _process_next_buffer()) {
//Be a good citizen and yield if no packet is processed
static const size_t MIN_DUR = 1;
- boost::this_thread::sleep_for(boost::chrono::nanoseconds(MIN_DUR));
+ std::this_thread::sleep_for(std::chrono::nanoseconds(MIN_DUR));
//We call sleep(MIN_DUR) above instead of yield() to ensure that we
//relinquish the current scheduler time slot.
//yield() is a hint to the scheduler to end the time
diff --git a/host/lib/transport/nirio/niusrprio_session.cpp b/host/lib/transport/nirio/niusrprio_session.cpp
index 797855a11..bda0ec1c1 100644
--- a/host/lib/transport/nirio/niusrprio_session.cpp
+++ b/host/lib/transport/nirio/niusrprio_session.cpp
@@ -230,7 +230,7 @@ nirio_status niusrprio_session::_ensure_fpga_ready()
boost::posix_time::ptime start_time = boost::posix_time::microsec_clock::local_time();
boost::posix_time::time_duration elapsed;
do {
- boost::this_thread::sleep(boost::posix_time::milliseconds(10)); //Avoid flooding the bus
+ std::this_thread::sleep_for(std::chrono::milliseconds(10)); //Avoid flooding the bus
elapsed = boost::posix_time::microsec_clock::local_time() - start_time;
nirio_status_chain(_riok_proxy->peek(FPGA_STATUS_REG, reg_data), status);
} while (
diff --git a/host/lib/transport/nirio_zero_copy.cpp b/host/lib/transport/nirio_zero_copy.cpp
index 418e78d09..993a2c593 100644
--- a/host/lib/transport/nirio_zero_copy.cpp
+++ b/host/lib/transport/nirio_zero_copy.cpp
@@ -6,18 +6,19 @@
//
#include <uhd/transport/nirio_zero_copy.hpp>
-#include <stdio.h>
#include <uhd/transport/nirio/nirio_fifo.h>
-
#include <uhd/utils/log.hpp>
#include <uhdlib/utils/atomic.hpp>
#include <boost/format.hpp>
#include <boost/make_shared.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
-#include <boost/thread/thread.hpp> //sleep
#include <boost/interprocess/mapped_region.hpp> //get_page_size()
#include <vector>
#include <algorithm> // std::max
+#include <chrono>
+#include <thread>
+#include <stdio.h>
+
//@TODO: Move the register defs required by the class to a common location
#include "../usrp/x300/x300_regs.hpp"
@@ -313,7 +314,7 @@ private:
if (nirio_status_not_fatal(status) && (tx_busy || rx_busy)) {
start_time = boost::posix_time::microsec_clock::local_time();
do {
- boost::this_thread::sleep(boost::posix_time::microsec(50)); //Avoid flooding the bus
+ std::this_thread::sleep_for(std::chrono::microseconds(50)); //Avoid flooding the bus
elapsed = boost::posix_time::microsec_clock::local_time() - start_time;
nirio_status_chain(_proxy()->peek(
PCIE_TX_DMA_REG(DMA_CTRL_STATUS_REG, _fifo_instance), reg_data), status);
diff --git a/host/lib/transport/super_send_packet_handler.hpp b/host/lib/transport/super_send_packet_handler.hpp
index 9c18e2080..e824ef4e9 100644
--- a/host/lib/transport/super_send_packet_handler.hpp
+++ b/host/lib/transport/super_send_packet_handler.hpp
@@ -20,11 +20,11 @@
#include <uhd/transport/vrt_if_packet.hpp>
#include <uhd/transport/zero_copy.hpp>
#include <uhdlib/rfnoc/tx_stream_terminator.hpp>
-#include <boost/thread/thread.hpp>
-#include <boost/thread/thread_time.hpp>
#include <boost/function.hpp>
#include <iostream>
#include <vector>
+#include <chrono>
+#include <thread>
#ifdef UHD_TXRX_DEBUG_PRINTS
// Included for debugging
@@ -172,7 +172,7 @@ public:
uhd::async_metadata_t &async_metadata, double timeout = 0.1
){
if (_async_receiver) return _async_receiver(async_metadata, timeout);
- boost::this_thread::sleep(boost::posix_time::microseconds(long(timeout*1e6)));
+ std::this_thread::sleep_for(std::chrono::microseconds(long(timeout*1e6)));
return false;
}
diff --git a/host/lib/transport/tcp_zero_copy.cpp b/host/lib/transport/tcp_zero_copy.cpp
index ddbc6b786..a52d089a8 100644
--- a/host/lib/transport/tcp_zero_copy.cpp
+++ b/host/lib/transport/tcp_zero_copy.cpp
@@ -8,13 +8,13 @@
#include "udp_common.hpp"
#include <uhd/transport/tcp_zero_copy.hpp>
#include <uhd/transport/buffer_pool.hpp>
-
#include <uhd/utils/log.hpp>
#include <uhdlib/utils/atomic.hpp>
#include <boost/format.hpp>
#include <boost/make_shared.hpp>
-#include <boost/thread/thread.hpp> //sleep
#include <vector>
+#include <chrono>
+#include <thread>
using namespace uhd;
using namespace uhd::transport;
@@ -85,7 +85,7 @@ public:
if (ret == ssize_t(size())) break;
if (ret == -1 and errno == ENOBUFS)
{
- boost::this_thread::sleep(boost::posix_time::microseconds(1));
+ std::this_thread::sleep_for(std::chrono::microseconds(1));
continue; //try to send again
}
UHD_ASSERT_THROW(ret == ssize_t(size()));
diff --git a/host/lib/transport/udp_zero_copy.cpp b/host/lib/transport/udp_zero_copy.cpp
index dc87d7e4c..29dbd6c1e 100644
--- a/host/lib/transport/udp_zero_copy.cpp
+++ b/host/lib/transport/udp_zero_copy.cpp
@@ -14,8 +14,9 @@
#include <uhdlib/utils/atomic.hpp>
#include <boost/format.hpp>
#include <boost/make_shared.hpp>
-#include <boost/thread/thread.hpp> //sleep
#include <vector>
+#include <chrono>
+#include <thread>
using namespace uhd;
using namespace uhd::transport;
@@ -116,7 +117,7 @@ public:
if (ret == ssize_t(size())) break;
if (ret == -1 and errno == ENOBUFS)
{
- boost::this_thread::sleep(boost::posix_time::microseconds(1));
+ std::this_thread::sleep_for(std::chrono::microseconds(1));
continue; //try to send again
}
if (ret == -1)
diff --git a/host/lib/transport/xport_benchmarker.cpp b/host/lib/transport/xport_benchmarker.cpp
index c56b3a53e..0351d5106 100644
--- a/host/lib/transport/xport_benchmarker.cpp
+++ b/host/lib/transport/xport_benchmarker.cpp
@@ -6,6 +6,8 @@
//
#include "xport_benchmarker.hpp"
+#include <chrono>
+#include <thread>
namespace uhd { namespace transport {
@@ -25,7 +27,7 @@ const device_addr_t& xport_benchmarker::benchmark_throughput_chdr
_tx_thread.reset(new boost::thread(boost::bind(&xport_benchmarker::_stream_tx, this, tx_transport.get(), &pkt_info, big_endian)));
_rx_thread.reset(new boost::thread(boost::bind(&xport_benchmarker::_stream_rx, this, rx_transport.get(), &pkt_info, big_endian)));
- boost::this_thread::sleep(boost::posix_time::milliseconds(duration_ms));
+ std::this_thread::sleep_for(std::chrono::milliseconds(duration_ms));
_tx_thread->interrupt();
_rx_thread->interrupt();
diff --git a/host/lib/types/serial.cpp b/host/lib/types/serial.cpp
index 381bb2181..24da51e7f 100644
--- a/host/lib/types/serial.cpp
+++ b/host/lib/types/serial.cpp
@@ -6,8 +6,9 @@
//
#include <uhd/types/serial.hpp>
-#include <boost/thread.hpp> //for sleeping
#include <boost/assign/list_of.hpp>
+#include <chrono>
+#include <thread>
using namespace uhd;
@@ -43,7 +44,7 @@ void i2c_iface::write_eeprom(
//write a byte at a time, its easy that way
byte_vector_t cmd = boost::assign::list_of(offset+i)(bytes[i]);
this->write_i2c(addr, cmd);
- boost::this_thread::sleep(boost::posix_time::milliseconds(10)); //worst case write
+ std::this_thread::sleep_for(std::chrono::milliseconds(10)); //worst case write
}
}
@@ -104,7 +105,7 @@ struct eeprom16_impl : i2c_iface
uint16_t offset_i = offset+i;
byte_vector_t cmd = boost::assign::list_of(offset_i >> 8)(offset_i & 0xff)(bytes[i]);
this->write_i2c(addr, cmd);
- boost::this_thread::sleep(boost::posix_time::milliseconds(10)); //worst case write
+ std::this_thread::sleep_for(std::chrono::milliseconds(10)); //worst case write
}
}
};
diff --git a/host/lib/usrp/b100/clock_ctrl.cpp b/host/lib/usrp/b100/clock_ctrl.cpp
index e3ef7d6a5..c06b44c49 100644
--- a/host/lib/usrp/b100/clock_ctrl.cpp
+++ b/host/lib/usrp/b100/clock_ctrl.cpp
@@ -16,10 +16,11 @@
#include "b100_regs.hpp" //spi slave constants
#include <boost/assign/list_of.hpp>
#include <boost/format.hpp>
-#include <boost/thread/thread.hpp>
#include <boost/math/common_factor_rt.hpp> //gcd
#include <algorithm>
#include <utility>
+#include <chrono>
+#include <thread>
using namespace uhd;
@@ -486,7 +487,7 @@ private:
//wait for calibration done:
static const uint8_t addr = 0x01F;
for (size_t ms10 = 0; ms10 < 100; ms10++){
- boost::this_thread::sleep(boost::posix_time::milliseconds(10));
+ std::this_thread::sleep_for(std::chrono::milliseconds(10));
uint32_t reg = read_reg(addr);
_ad9522_regs.set_reg(addr, reg);
if (_ad9522_regs.vco_calibration_finished) goto wait_for_ld;
@@ -495,7 +496,7 @@ private:
wait_for_ld:
//wait for digital lock detect:
for (size_t ms10 = 0; ms10 < 100; ms10++){
- boost::this_thread::sleep(boost::posix_time::milliseconds(10));
+ std::this_thread::sleep_for(std::chrono::milliseconds(10));
uint32_t reg = read_reg(addr);
_ad9522_regs.set_reg(addr, reg);
if (_ad9522_regs.digital_lock_detect) return;
diff --git a/host/lib/usrp/b200/b200_iface.cpp b/host/lib/usrp/b200/b200_iface.cpp
index 836a92ff7..432201429 100644
--- a/host/lib/usrp/b200/b200_iface.cpp
+++ b/host/lib/usrp/b200/b200_iface.cpp
@@ -13,7 +13,6 @@
#include <uhdlib/utils/ihex.hpp>
#include <boost/functional/hash.hpp>
-#include <boost/thread/thread.hpp>
#include <boost/lexical_cast.hpp>
#include <boost/format.hpp>
#include <libusb.h>
@@ -22,6 +21,8 @@
#include <vector>
#include <cstring>
#include <iomanip>
+#include <chrono>
+#include <thread>
#include <stdint.h>
//! libusb_error_name is only in newer API
@@ -225,7 +226,7 @@ public:
/* Success! Let the system settle. */
// TODO: Replace this with a polling loop in the FX3, or find out
// what the actual, correct timeout value is.
- boost::this_thread::sleep(boost::posix_time::milliseconds(1000));
+ std::this_thread::sleep_for(std::chrono::milliseconds(1000));
}
void reset_fx3(void) {
@@ -431,7 +432,7 @@ public:
return fx3_state;
}
- boost::this_thread::sleep(boost::posix_time::milliseconds(10));
+ std::this_thread::sleep_for(std::chrono::milliseconds(10));
wait_count++;
} while(fx3_state != FX3_STATE_FPGA_READY);
@@ -456,7 +457,7 @@ public:
return fx3_state;
}
- boost::this_thread::sleep(boost::posix_time::milliseconds(10));
+ std::this_thread::sleep_for(std::chrono::milliseconds(10));
wait_count++;
} while(fx3_state != FX3_STATE_CONFIGURING_FPGA);
@@ -505,7 +506,7 @@ public:
return fx3_state;
}
- boost::this_thread::sleep(boost::posix_time::milliseconds(10));
+ std::this_thread::sleep_for(std::chrono::milliseconds(10));
wait_count++;
} while(fx3_state != FX3_STATE_RUNNING);
diff --git a/host/lib/usrp/common/ad9361_driver/ad9361_device.cpp b/host/lib/usrp/common/ad9361_driver/ad9361_device.cpp
index cbb720894..54f15d1a8 100644
--- a/host/lib/usrp/common/ad9361_driver/ad9361_device.cpp
+++ b/host/lib/usrp/common/ad9361_driver/ad9361_device.cpp
@@ -11,16 +11,16 @@
#include "ad9361_client.h"
#include "ad9361_device.h"
#define _USE_MATH_DEFINES
-#include <cmath>
#include <uhd/exception.hpp>
#include <uhd/utils/log.hpp>
-#include <stdint.h>
-#include <boost/date_time/posix_time/posix_time.hpp>
-#include <boost/thread/thread.hpp>
#include <boost/scoped_array.hpp>
#include <boost/format.hpp>
#include <boost/math/special_functions.hpp>
+#include <chrono>
+#include <thread>
+#include <cmath>
+#include <stdint.h>
////////////////////////////////////////////////////////////
// the following macros evaluate to a compile time constant
@@ -127,7 +127,7 @@ void ad9361_device_t::_program_fir_filter(direction_t direction, chain_t chain,
/* Turn on the filter clock. */
_io_iface->poke8(base + 5, reg_numtaps | reg_chain | 0x02);
- boost::this_thread::sleep(boost::posix_time::milliseconds(1));
+ std::this_thread::sleep_for(std::chrono::milliseconds(1));
/* Zero the unused taps just in case they have stale data */
int addr;
@@ -258,7 +258,7 @@ void ad9361_device_t::_calibrate_lock_bbpll()
break;
}
count++;
- boost::this_thread::sleep(boost::posix_time::milliseconds(2));
+ std::this_thread::sleep_for(std::chrono::milliseconds(2));
}
}
@@ -283,7 +283,7 @@ void ad9361_device_t::_calibrate_synth_charge_pumps()
break;
}
count++;
- boost::this_thread::sleep(boost::posix_time::milliseconds(1));
+ std::this_thread::sleep_for(std::chrono::milliseconds(1));
}
_io_iface->poke8(0x23d, 0x00);
@@ -296,7 +296,7 @@ void ad9361_device_t::_calibrate_synth_charge_pumps()
break;
}
count++;
- boost::this_thread::sleep(boost::posix_time::milliseconds(1));
+ std::this_thread::sleep_for(std::chrono::milliseconds(1));
}
_io_iface->poke8(0x27d, 0x00);
}
@@ -357,7 +357,7 @@ double ad9361_device_t::_calibrate_baseband_rx_analog_filter(double req_rfbw)
break;
}
count++;
- boost::this_thread::sleep(boost::posix_time::milliseconds(1));
+ std::this_thread::sleep_for(std::chrono::milliseconds(1));
}
/* Disable RX1 & RX2 filter tuners. */
@@ -414,7 +414,7 @@ double ad9361_device_t::_calibrate_baseband_tx_analog_filter(double req_rfbw)
}
count++;
- boost::this_thread::sleep(boost::posix_time::milliseconds(1));
+ std::this_thread::sleep_for(std::chrono::milliseconds(1));
}
/* Disable the filter tuner. */
@@ -734,7 +734,7 @@ void ad9361_device_t::_calibrate_baseband_dc_offset()
break;
}
count++;
- boost::this_thread::sleep(boost::posix_time::milliseconds(5));
+ std::this_thread::sleep_for(std::chrono::milliseconds(5));
}
}
@@ -767,7 +767,7 @@ void ad9361_device_t::_calibrate_rf_dc_offset()
break;
}
count++;
- boost::this_thread::sleep(boost::posix_time::milliseconds(50));
+ std::this_thread::sleep_for(std::chrono::milliseconds(50));
}
_io_iface->poke8(0x18b, 0x8d); // Enable RF DC tracking
@@ -818,7 +818,7 @@ void ad9361_device_t::_calibrate_rx_quadrature()
break;
}
count++;
- boost::this_thread::sleep(boost::posix_time::milliseconds(5));
+ std::this_thread::sleep_for(std::chrono::milliseconds(5));
}
_io_iface->poke8(0x057, 0x30); // Re-enable Tx mixers
@@ -886,7 +886,7 @@ void ad9361_device_t::_tx_quadrature_cal_routine() {
break;
}
count++;
- boost::this_thread::sleep(boost::posix_time::milliseconds(10));
+ std::this_thread::sleep_for(std::chrono::milliseconds(10));
}
}
@@ -1309,7 +1309,7 @@ double ad9361_device_t::_tune_helper(direction_t direction, const double value)
_io_iface->poke8(0x005, _regs.vcodivs);
/* Lock the PLL! */
- boost::this_thread::sleep(boost::posix_time::milliseconds(2));
+ std::this_thread::sleep_for(std::chrono::milliseconds(2));
if ((_io_iface->peek8(0x247) & 0x02) == 0) {
throw uhd::runtime_error("[ad9361_device_t] RX PLL NOT LOCKED");
}
@@ -1350,7 +1350,7 @@ double ad9361_device_t::_tune_helper(direction_t direction, const double value)
_io_iface->poke8(0x005, _regs.vcodivs);
/* Lock the PLL! */
- boost::this_thread::sleep(boost::posix_time::milliseconds(2));
+ std::this_thread::sleep_for(std::chrono::milliseconds(2));
if ((_io_iface->peek8(0x287) & 0x02) == 0) {
throw uhd::runtime_error("[ad9361_device_t] TX PLL NOT LOCKED");
}
@@ -1555,7 +1555,7 @@ void ad9361_device_t::initialize()
/* Reset the device. */
_io_iface->poke8(0x000, 0x01);
_io_iface->poke8(0x000, 0x00);
- boost::this_thread::sleep(boost::posix_time::milliseconds(20));
+ std::this_thread::sleep_for(std::chrono::milliseconds(20));
/* Check device ID to make sure iface works */
uint32_t device_id = (_io_iface->peek8(0x037) & 0x8);
@@ -1590,7 +1590,7 @@ void ad9361_device_t::initialize()
default:
throw uhd::runtime_error("[ad9361_device_t] NOT IMPLEMENTED");
}
- boost::this_thread::sleep(boost::posix_time::milliseconds(20));
+ std::this_thread::sleep_for(std::chrono::milliseconds(20));
/* Tune the BBPLL, write TX and RX FIRS. */
_setup_rates(50e6);
@@ -1698,7 +1698,7 @@ void ad9361_device_t::initialize()
_io_iface->poke8(0x015, 0x04); // dual synth mode, synth en ctrl en
_io_iface->poke8(0x014, 0x05); // use SPI for TXNRX ctrl, to ALERT, TX on
_io_iface->poke8(0x013, 0x01); // enable ENSM
- boost::this_thread::sleep(boost::posix_time::milliseconds(1));
+ std::this_thread::sleep_for(std::chrono::milliseconds(1));
_calibrate_synth_charge_pumps();
@@ -1808,7 +1808,7 @@ double ad9361_device_t::set_clock_rate(const double req_rate)
case 0x05:
/* We are in the ALERT state. */
_io_iface->poke8(0x014, 0x21);
- boost::this_thread::sleep(boost::posix_time::milliseconds(5));
+ std::this_thread::sleep_for(std::chrono::milliseconds(5));
_io_iface->poke8(0x014, 0x00);
break;
@@ -1838,7 +1838,7 @@ double ad9361_device_t::set_clock_rate(const double req_rate)
_io_iface->poke8(0x015, 0x04); //dual synth mode, synth en ctrl en
_io_iface->poke8(0x014, 0x05); //use SPI for TXNRX ctrl, to ALERT, TX on
_io_iface->poke8(0x013, 0x01); //enable ENSM
- boost::this_thread::sleep(boost::posix_time::milliseconds(1));
+ std::this_thread::sleep_for(std::chrono::milliseconds(1));
_calibrate_synth_charge_pumps();
@@ -2192,7 +2192,7 @@ double ad9361_device_t::_get_temperature(const double cal_offset, const double t
boost::posix_time::time_duration elapsed;
//wait for valid data (toggle of bit 1 in 0x00C)
while(((_io_iface->peek8(0x00C) >> 1) & 0x01) == 0) {
- boost::this_thread::sleep(boost::posix_time::microseconds(100));
+ std::this_thread::sleep_for(std::chrono::microseconds(100));
elapsed = boost::posix_time::microsec_clock::local_time() - start_time;
if(elapsed.total_milliseconds() > (timeout*1000))
{
diff --git a/host/lib/usrp/common/fx2_ctrl.cpp b/host/lib/usrp/common/fx2_ctrl.cpp
index 6e1b374ca..77501d981 100644
--- a/host/lib/usrp/common/fx2_ctrl.cpp
+++ b/host/lib/usrp/common/fx2_ctrl.cpp
@@ -10,13 +10,14 @@
#include <uhd/exception.hpp>
#include <uhd/transport/usb_control.hpp>
#include <boost/functional/hash.hpp>
-#include <boost/thread/thread.hpp>
#include <stdint.h>
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
#include <cstring>
+#include <chrono>
+#include <thread>
using namespace uhd;
using namespace uhd::usrp;
@@ -137,7 +138,7 @@ public:
usrp_control_write(FX2_FIRMWARE_LOAD, 0xe600, 0, &reset_y, 1);
usrp_control_write(FX2_FIRMWARE_LOAD, 0xe600, 0, &reset_n, 1);
//wait for things to settle
- boost::this_thread::sleep(boost::posix_time::milliseconds(2000));
+ std::this_thread::sleep_for(std::chrono::milliseconds(2000));
}
void usrp_load_firmware(std::string filestring, bool force)
@@ -194,7 +195,7 @@ public:
file.close();
//wait for things to settle
- boost::this_thread::sleep(boost::posix_time::milliseconds(1000));
+ std::this_thread::sleep_for(std::chrono::milliseconds(1000));
if (load_img_msg) UHD_LOGGER_INFO("FX2") << "Firmware loaded";
return;
}
@@ -302,7 +303,7 @@ public:
}
addr += pagesize;
len -= pagesize;
- boost::this_thread::sleep(boost::posix_time::milliseconds(100));
+ std::this_thread::sleep_for(std::chrono::milliseconds(100));
}
file.close();
if (load_img_msg) UHD_LOGGER_INFO("FX2") << "EEPROM image loaded";
diff --git a/host/lib/usrp/cores/dma_fifo_core_3000.cpp b/host/lib/usrp/cores/dma_fifo_core_3000.cpp
index 618f81f64..445706574 100644
--- a/host/lib/usrp/cores/dma_fifo_core_3000.cpp
+++ b/host/lib/usrp/cores/dma_fifo_core_3000.cpp
@@ -10,7 +10,8 @@
#include <uhd/utils/log.hpp>
#include <uhdlib/usrp/cores/dma_fifo_core_3000.hpp>
#include <boost/format.hpp>
-#include <boost/thread/thread.hpp> //sleep
+#include <chrono>
+#include <thread>
using namespace uhd;
@@ -315,7 +316,7 @@ public:
_bist_ctrl_reg.write(bist_ctrl_reg_t::GO, 1);
if (!finite) {
- boost::this_thread::sleep(boost::posix_time::milliseconds(timeout_ms));
+ std::this_thread::sleep_for(std::chrono::milliseconds(timeout_ms));
}
_wait_for_bist_done(timeout_ms, !finite);
@@ -345,7 +346,7 @@ private:
boost::posix_time::time_duration elapsed;
while (_fifo_readback.is_fifo_busy()) {
- boost::this_thread::sleep(boost::posix_time::microsec(1000));
+ std::this_thread::sleep_for(std::chrono::microseconds(1000));
elapsed = boost::posix_time::microsec_clock::local_time() - start_time;
if (elapsed.total_milliseconds() > 100) break;
}
@@ -361,7 +362,7 @@ private:
_bist_ctrl_reg.write(bist_ctrl_reg_t::GO, 0);
force_stop = false;
}
- boost::this_thread::sleep(boost::posix_time::microsec(1000));
+ std::this_thread::sleep_for(std::chrono::microseconds(1000));
elapsed = boost::posix_time::microsec_clock::local_time() - start_time;
if (elapsed.total_milliseconds() > timeout_ms) break;
}
diff --git a/host/lib/usrp/cores/i2c_core_100_wb32.cpp b/host/lib/usrp/cores/i2c_core_100_wb32.cpp
index c6a0e8d84..ec47aa8f0 100644
--- a/host/lib/usrp/cores/i2c_core_100_wb32.cpp
+++ b/host/lib/usrp/cores/i2c_core_100_wb32.cpp
@@ -8,7 +8,8 @@
#include <uhd/exception.hpp>
#include <uhd/utils/log.hpp>
#include <uhdlib/usrp/cores/i2c_core_100_wb32.hpp>
-#include <boost/thread/thread.hpp> //sleep
+#include <chrono>
+#include <thread>
#define REG_I2C_PRESCALER_LO _base + 0
#define REG_I2C_PRESCALER_HI _base + 4
@@ -126,7 +127,7 @@ private:
for (size_t i = 0; i < 10; i++)
{
if ((_iface->peek32(REG_I2C_CMD_STATUS) & I2C_ST_TIP) == 0) return;
- boost::this_thread::sleep(boost::posix_time::milliseconds(1));
+ std::this_thread::sleep_for(std::chrono::milliseconds(1));
}
UHD_LOGGER_ERROR("CORES") << "i2c_core_100_wb32: i2c_wait timeout" ;
}
diff --git a/host/lib/usrp/cores/i2c_core_200.cpp b/host/lib/usrp/cores/i2c_core_200.cpp
index c0a6cb949..4278bf611 100644
--- a/host/lib/usrp/cores/i2c_core_200.cpp
+++ b/host/lib/usrp/cores/i2c_core_200.cpp
@@ -8,8 +8,9 @@
#include <uhd/exception.hpp>
#include <uhd/utils/log.hpp>
#include <uhdlib/usrp/cores/i2c_core_200.hpp>
-#include <boost/thread/thread.hpp> //sleep
#include <boost/thread/mutex.hpp>
+#include <chrono>
+#include <thread>
#define REG_I2C_WR_PRESCALER_LO (1 << 3) | 0
#define REG_I2C_WR_PRESCALER_HI (1 << 3) | 1
@@ -118,7 +119,7 @@ private:
void i2c_wait(void) {
for (size_t i = 0; i < 100; i++){
if ((this->peek(REG_I2C_RD_ST) & I2C_ST_TIP) == 0) return;
- boost::this_thread::sleep(boost::posix_time::milliseconds(1));
+ std::this_thread::sleep_for(std::chrono::milliseconds(1));
}
UHD_LOGGER_ERROR("CORES") << "i2c_core_200: i2c_wait timeout" ;
}
diff --git a/host/lib/usrp/cores/rx_dsp_core_200.cpp b/host/lib/usrp/cores/rx_dsp_core_200.cpp
index 730985fdd..a87b92a50 100644
--- a/host/lib/usrp/cores/rx_dsp_core_200.cpp
+++ b/host/lib/usrp/cores/rx_dsp_core_200.cpp
@@ -13,11 +13,12 @@
#include <uhdlib/usrp/cores/rx_dsp_core_200.hpp>
#include <uhdlib/usrp/cores/dsp_core_utils.hpp>
#include <boost/assign/list_of.hpp>
-#include <boost/thread/thread.hpp> //thread sleep
#include <boost/math/special_functions/round.hpp>
#include <boost/numeric/conversion/bounds.hpp>
#include <algorithm>
#include <cmath>
+#include <chrono>
+#include <thread>
#define REG_DSP_RX_FREQ _dsp_base + 0
#define REG_DSP_RX_SCALE_IQ _dsp_base + 4
@@ -69,7 +70,7 @@ public:
stream_cmd_t stream_cmd(stream_cmd_t::STREAM_MODE_NUM_SAMPS_AND_DONE);
stream_cmd.num_samps = 1;
issue_stream_command(stream_cmd);
- boost::this_thread::sleep(boost::posix_time::milliseconds(10)); //lets lingering pkt propagate
+ std::this_thread::sleep_for(std::chrono::milliseconds(10)); //lets lingering pkt propagate
}
this->clear();
diff --git a/host/lib/usrp/cores/time_core_3000.cpp b/host/lib/usrp/cores/time_core_3000.cpp
index edec2880b..3fb6c3d57 100644
--- a/host/lib/usrp/cores/time_core_3000.cpp
+++ b/host/lib/usrp/cores/time_core_3000.cpp
@@ -8,7 +8,8 @@
#include <uhd/utils/safe_call.hpp>
#include <uhd/utils/log.hpp>
#include <uhdlib/usrp/cores/time_core_3000.hpp>
-#include <boost/thread/thread.hpp>
+#include <chrono>
+#include <thread>
#define REG_TIME_HI _base + 0
#define REG_TIME_LO _base + 4
@@ -55,7 +56,7 @@ struct time_core_3000_impl : time_core_3000
const size_t sleep_millis = 100;
UHD_LOGGER_DEBUG("CORES") << "Performing timer loopback test... ";
const time_spec_t time0 = this->get_time_now();
- boost::this_thread::sleep(boost::posix_time::milliseconds(sleep_millis));
+ std::this_thread::sleep_for(std::chrono::milliseconds(sleep_millis));
const time_spec_t time1 = this->get_time_now();
const double approx_secs = (time1 - time0).get_real_secs();
const bool test_fail = (approx_secs > 0.15) or (approx_secs < 0.05);
diff --git a/host/lib/usrp/cores/tx_dsp_core_200.cpp b/host/lib/usrp/cores/tx_dsp_core_200.cpp
index efd64f7e5..6418d7049 100644
--- a/host/lib/usrp/cores/tx_dsp_core_200.cpp
+++ b/host/lib/usrp/cores/tx_dsp_core_200.cpp
@@ -13,9 +13,10 @@
#include <uhd/utils/log.hpp>
#include <boost/assign/list_of.hpp>
#include <boost/math/special_functions/round.hpp>
-#include <boost/thread/thread.hpp> //sleep
#include <algorithm>
#include <cmath>
+#include <chrono>
+#include <thread>
#define REG_DSP_TX_FREQ _dsp_base + 0
#define REG_DSP_TX_SCALE_IQ _dsp_base + 4
@@ -68,7 +69,7 @@ public:
void clear(void){
_iface->poke32(REG_TX_CTRL_CLEAR, 1); //reset and flush technique
- boost::this_thread::sleep(boost::posix_time::milliseconds(10));
+ std::this_thread::sleep_for(std::chrono::milliseconds(10));
_iface->poke32(REG_TX_CTRL_CLEAR, 0);
_iface->poke32(REG_TX_CTRL_REPORT_SID, _sid);
}
diff --git a/host/lib/usrp/dboard/db_dbsrx.cpp b/host/lib/usrp/dboard/db_dbsrx.cpp
index 8266b6d9e..587158470 100644
--- a/host/lib/usrp/dboard/db_dbsrx.cpp
+++ b/host/lib/usrp/dboard/db_dbsrx.cpp
@@ -22,10 +22,11 @@
#include <uhd/usrp/dboard_manager.hpp>
#include <boost/assign/list_of.hpp>
#include <boost/format.hpp>
-#include <boost/thread.hpp>
#include <boost/math/special_functions/round.hpp>
#include <utility>
#include <cmath>
+#include <chrono>
+#include <thread>
using namespace uhd;
using namespace uhd::usrp;
@@ -396,7 +397,7 @@ double dbsrx::set_lo_freq(double target_freq){
read_reg(0x0, 0x0);
//allow for setup time before checking condition again
- boost::this_thread::sleep(boost::posix_time::milliseconds(10));
+ std::this_thread::sleep_for(std::chrono::milliseconds(10));
}
UHD_LOGGER_TRACE("DBSRX") << boost::format(
diff --git a/host/lib/usrp/dboard/db_tvrx2.cpp b/host/lib/usrp/dboard/db_tvrx2.cpp
index 8bf2308d7..5f43c75e6 100644
--- a/host/lib/usrp/dboard/db_tvrx2.cpp
+++ b/host/lib/usrp/dboard/db_tvrx2.cpp
@@ -53,11 +53,12 @@
#include <uhd/usrp/dboard_manager.hpp>
#include <boost/assign/list_of.hpp>
#include <boost/format.hpp>
-#include <boost/thread.hpp>
#include <boost/array.hpp>
#include <boost/math/special_functions/round.hpp>
#include <utility>
#include <cmath>
+#include <chrono>
+#include <thread>
using namespace uhd;
using namespace uhd::usrp;
@@ -1695,7 +1696,7 @@ void tvrx2::wait_irq(void){
while (not irq and timeout > 0) {
//irq = (this->get_iface()->read_gpio(dboard_iface::UNIT_RX) & tvrx2_sd_name_to_irq_io[get_subdev_name()]);
irq = get_irq();
- boost::this_thread::sleep(boost::posix_time::milliseconds(10));
+ std::this_thread::sleep_for(std::chrono::milliseconds(10));
timeout -= 1;
}
diff --git a/host/lib/usrp/dboard/db_ubx.cpp b/host/lib/usrp/dboard/db_ubx.cpp
index 0e85cf188..6c6862fb7 100644
--- a/host/lib/usrp/dboard/db_ubx.cpp
+++ b/host/lib/usrp/dboard/db_ubx.cpp
@@ -23,10 +23,11 @@
#include <boost/assign/list_of.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/math/special_functions/round.hpp>
-#include <boost/thread.hpp>
#include <boost/algorithm/string.hpp>
#include <boost/thread/mutex.hpp>
#include <map>
+#include <chrono>
+#include <thread>
using namespace uhd;
using namespace uhd::usrp;
@@ -384,7 +385,7 @@ public:
_iface->set_pin_ctrl(dboard_iface::UNIT_RX, _rx_gpio_reg.atr_mask);
// bring CPLD out of reset
- boost::this_thread::sleep(boost::posix_time::milliseconds(20)); // hold CPLD reset for minimum of 20 ms
+ std::this_thread::sleep_for(std::chrono::milliseconds(20)); // hold CPLD reset for minimum of 20 ms
set_gpio_field(CPLD_RST_N, 1);
write_gpio();
diff --git a/host/lib/usrp/dboard/db_xcvr2450.cpp b/host/lib/usrp/dboard/db_xcvr2450.cpp
index 73e778b1b..9e1c9f2b0 100644
--- a/host/lib/usrp/dboard/db_xcvr2450.cpp
+++ b/host/lib/usrp/dboard/db_xcvr2450.cpp
@@ -50,9 +50,10 @@
#include <uhd/usrp/dboard_manager.hpp>
#include <boost/assign/list_of.hpp>
#include <boost/format.hpp>
-#include <boost/thread.hpp>
#include <boost/math/special_functions/round.hpp>
#include <utility>
+#include <chrono>
+#include <thread>
using namespace uhd;
using namespace uhd::usrp;
@@ -307,11 +308,11 @@ void xcvr2450::spi_reset(void){
//spi reset mode: global enable = off, tx and rx enable = on
this->get_iface()->set_atr_reg(dboard_iface::UNIT_TX, gpio_atr::ATR_REG_IDLE, TX_ENB_TXIO);
this->get_iface()->set_atr_reg(dboard_iface::UNIT_RX, gpio_atr::ATR_REG_IDLE, RX_ENB_RXIO | POWER_DOWN_RXIO);
- boost::this_thread::sleep(boost::posix_time::milliseconds(10));
+ std::this_thread::sleep_for(std::chrono::milliseconds(10));
//take it back out of spi reset mode and wait a bit
this->get_iface()->set_atr_reg(dboard_iface::UNIT_RX, gpio_atr::ATR_REG_IDLE, RX_DIS_RXIO | POWER_UP_RXIO);
- boost::this_thread::sleep(boost::posix_time::milliseconds(10));
+ std::this_thread::sleep_for(std::chrono::milliseconds(10));
}
/***********************************************************************
@@ -348,7 +349,7 @@ double xcvr2450::set_lo_freq(double target_freq){
double actual = 0.0;
for (double offset = 0.0; offset <= 3e6; offset+=1e6){
actual = this->set_lo_freq_core(target_freq + offset);
- boost::this_thread::sleep(boost::posix_time::milliseconds(50));
+ std::this_thread::sleep_for(std::chrono::milliseconds(50));
if (this->get_locked().to_bool()) break;
}
return actual;
diff --git a/host/lib/usrp/dboard/twinrx/twinrx_ctrl.cpp b/host/lib/usrp/dboard/twinrx/twinrx_ctrl.cpp
index 3e8473087..d8233e1f7 100644
--- a/host/lib/usrp/dboard/twinrx/twinrx_ctrl.cpp
+++ b/host/lib/usrp/dboard/twinrx/twinrx_ctrl.cpp
@@ -10,7 +10,8 @@
#include <uhdlib/usrp/common/adf535x.hpp>
#include <uhd/utils/math.hpp>
#include <uhd/utils/safe_call.hpp>
-#include <boost/thread/thread.hpp>
+#include <chrono>
+#include <thread>
using namespace uhd;
using namespace usrp;
@@ -40,7 +41,7 @@ public:
_gpio_iface->set_field(twinrx_gpio::FIELD_SWPS_EN, 1);
size_t timeout_ms = 100;
while (_gpio_iface->get_field(twinrx_gpio::FIELD_SWPS_PWR_GOOD) == 0) {
- boost::this_thread::sleep(boost::posix_time::microsec(1000));
+ std::this_thread::sleep_for(std::chrono::microseconds(1000));
if (--timeout_ms == 0) {
throw uhd::runtime_error("power supply failure");
}
diff --git a/host/lib/usrp/dboard_iface.cpp b/host/lib/usrp/dboard_iface.cpp
index 55b3c19ba..3bda643fe 100644
--- a/host/lib/usrp/dboard_iface.cpp
+++ b/host/lib/usrp/dboard_iface.cpp
@@ -6,6 +6,8 @@
//
#include <uhd/usrp/dboard_iface.hpp>
+#include <chrono>
+#include <thread>
using namespace uhd::usrp;
@@ -14,8 +16,8 @@ void dboard_iface::sleep(const boost::chrono::nanoseconds& time)
//nanosleep is not really accurate in userland and it is also not very
//cross-platform. So just sleep for the minimum amount of time in us.
if (time < boost::chrono::microseconds(1)) {
- boost::this_thread::sleep_for(boost::chrono::microseconds(1));
+ std::this_thread::sleep_for(std::chrono::microseconds(1));
} else {
- boost::this_thread::sleep_for(time);
+ std::this_thread::sleep_for(std::chrono::microseconds(time.count()));
}
}
diff --git a/host/lib/usrp/e300/e300_fifo_config.cpp b/host/lib/usrp/e300/e300_fifo_config.cpp
index 044ce01ee..2c0027ae0 100644
--- a/host/lib/usrp/e300/e300_fifo_config.cpp
+++ b/host/lib/usrp/e300/e300_fifo_config.cpp
@@ -11,6 +11,8 @@
#include <uhd/config.hpp>
#include <stdint.h>
#include <atomic>
+#include <chrono>
+#include <thread>
// constants coded into the fpga parameters
static const size_t ZF_CONFIG_BASE = 0x40000000;
@@ -256,7 +258,7 @@ public:
break;
}
_waiter->wait(timeout);
- //boost::this_thread::sleep(boost::posix_time::milliseconds(1));
+ //std::this_thread::sleep_for(std::chrono::milliseconds(1));
}
return typename T::sptr();
diff --git a/host/lib/usrp/e300/e300_i2c.cpp b/host/lib/usrp/e300/e300_i2c.cpp
index c3db4f67a..24fd429b5 100644
--- a/host/lib/usrp/e300/e300_i2c.cpp
+++ b/host/lib/usrp/e300/e300_i2c.cpp
@@ -5,13 +5,14 @@
// SPDX-License-Identifier: GPL-3.0-or-later
//
+#include "e300_i2c.hpp"
#include <uhd/exception.hpp>
#include <uhd/utils/byteswap.hpp>
#include <uhd/transport/udp_simple.hpp>
-
-#include "e300_i2c.hpp"
#include <cstring>
+#include <chrono>
+#include <thread>
namespace uhd { namespace usrp { namespace e300 {
@@ -281,7 +282,7 @@ public:
throw std::runtime_error("ioctl failed");
}
// this is ugly
- boost::this_thread::sleep(boost::posix_time::milliseconds(5));
+ std::this_thread::sleep_for(std::chrono::milliseconds(5));
}
uint8_t get_i2c_reg8(
@@ -339,7 +340,7 @@ public:
throw std::runtime_error("ioctl failed");
}
// this is ugly
- boost::this_thread::sleep(boost::posix_time::milliseconds(5));
+ std::this_thread::sleep_for(std::chrono::milliseconds(5));
}
diff --git a/host/lib/usrp/e300/e300_impl.cpp b/host/lib/usrp/e300/e300_impl.cpp
index 324b25407..9aa872ff3 100644
--- a/host/lib/usrp/e300/e300_impl.cpp
+++ b/host/lib/usrp/e300/e300_impl.cpp
@@ -32,9 +32,10 @@
#include <boost/bind.hpp>
#include <boost/make_shared.hpp>
#include <boost/assign/list_of.hpp>
-#include <boost/thread/thread.hpp> //sleep
#include <boost/asio.hpp>
#include <fstream>
+#include <chrono>
+#include <thread>
using namespace uhd;
using namespace uhd::usrp;
@@ -395,7 +396,7 @@ e300_impl::e300_impl(const uhd::device_addr_t &device_addr)
ad9361_params::sptr client_settings = boost::make_shared<e300_ad9361_client_t>();
_codec_ctrl = ad9361_ctrl::make_spi(client_settings, spi::make(E300_SPIDEV_DEVICE), 1);
// This is horrible ... why do I have to sleep here?
- boost::this_thread::sleep(boost::posix_time::milliseconds(100));
+ std::this_thread::sleep_for(std::chrono::milliseconds(100));
_eeprom_manager = boost::make_shared<e300_eeprom_manager>(i2c::make_i2cdev(E300_I2CDEV_DEVICE));
_sensor_manager = e300_sensor_manager::make_local(_global_regs);
}
@@ -415,7 +416,7 @@ e300_impl::e300_impl(const uhd::device_addr_t &device_addr)
if (_gps) {
for (size_t i = 0; i < _GPS_TIMEOUT; i++)
{
- boost::this_thread::sleep(boost::posix_time::seconds(1));
+ std::this_thread::sleep_for(std::chrono::seconds(1));
if (!_gps->gps_detected())
std::cout << "." << std::flush;
else {
@@ -1141,7 +1142,7 @@ void e300_impl::_reset_codec_mmcm(void)
{
_misc.codec_arst = 1;
_update_gpio_state();
- boost::this_thread::sleep(boost::posix_time::milliseconds(10));
+ std::this_thread::sleep_for(std::chrono::milliseconds(10));
_misc.codec_arst = 0;
_update_gpio_state();
}
diff --git a/host/lib/usrp/e300/e300_network.cpp b/host/lib/usrp/e300/e300_network.cpp
index d7473d2ee..d9a104dda 100644
--- a/host/lib/usrp/e300/e300_network.cpp
+++ b/host/lib/usrp/e300/e300_network.cpp
@@ -26,11 +26,12 @@
#include <uhdlib/usrp/common/ad9361_ctrl.hpp>
#include <boost/asio.hpp>
-#include <boost/thread.hpp>
#include <boost/filesystem.hpp>
#include <boost/make_shared.hpp>
#include <fstream>
+#include <chrono>
+#include <thread>
using namespace uhd;
using namespace uhd::transport;
@@ -630,7 +631,7 @@ network_server_impl::network_server_impl(const uhd::device_addr_t &device_addr)
ad9361_params::sptr client_settings = boost::make_shared<e300_ad9361_client_t>();
_codec_ctrl = ad9361_ctrl::make_spi(client_settings, spi::make(E300_SPIDEV_DEVICE), 1);
// This is horrible ... why do I have to sleep here?
- boost::this_thread::sleep(boost::posix_time::milliseconds(100));
+ std::this_thread::sleep_for(std::chrono::milliseconds(100));
_sensor_manager = e300_sensor_manager::make_local(_global_regs);
}
diff --git a/host/lib/usrp/gps_ctrl.cpp b/host/lib/usrp/gps_ctrl.cpp
index a50261851..f030108cc 100644
--- a/host/lib/usrp/gps_ctrl.cpp
+++ b/host/lib/usrp/gps_ctrl.cpp
@@ -28,7 +28,6 @@
using namespace uhd;
using namespace boost::posix_time;
using namespace boost::algorithm;
-using namespace boost::this_thread;
namespace {
constexpr int GPS_COMM_TIMEOUT_MS = 1300;
diff --git a/host/lib/usrp/multi_usrp.cpp b/host/lib/usrp/multi_usrp.cpp
index f9509b7f3..6c758e07e 100644
--- a/host/lib/usrp/multi_usrp.cpp
+++ b/host/lib/usrp/multi_usrp.cpp
@@ -20,12 +20,13 @@
#include <uhdlib/usrp/gpio_defs.hpp>
#include <uhdlib/rfnoc/legacy_compat.hpp>
#include <boost/assign/list_of.hpp>
-#include <boost/thread.hpp>
#include <boost/format.hpp>
#include <boost/algorithm/string.hpp>
#include <algorithm>
#include <cmath>
#include <bitset>
+#include <chrono>
+#include <thread>
using namespace uhd;
using namespace uhd::usrp;
@@ -579,12 +580,12 @@ public:
"See the application notes for your device.\n"
);
}
- boost::this_thread::sleep(boost::posix_time::milliseconds(1));
+ std::this_thread::sleep_for(std::chrono::milliseconds(1));
}
UHD_LOGGER_INFO("MULTI_USRP") << " 2) set times next pps (synchronously)";
set_time_next_pps(time_spec, ALL_MBOARDS);
- boost::this_thread::sleep(boost::posix_time::seconds(1));
+ std::this_thread::sleep_for(std::chrono::seconds(1));
//verify that the time registers are read to be within a few RTT
for (size_t m = 1; m < get_num_mboards(); m++){
diff --git a/host/lib/usrp/n230/n230_impl.cpp b/host/lib/usrp/n230/n230_impl.cpp
index c4e3af0b2..0595ee29d 100644
--- a/host/lib/usrp/n230/n230_impl.cpp
+++ b/host/lib/usrp/n230/n230_impl.cpp
@@ -37,6 +37,9 @@
#include <boost/asio.hpp> //used for htonl and ntohl
#include <boost/make_shared.hpp>
+#include <chrono>
+#include <thread>
+
namespace uhd { namespace usrp { namespace n230 {
using namespace uhd::transport;
@@ -131,7 +134,7 @@ uhd::device_addrs_t n230_impl::n230_find(const uhd::device_addr_t &multi_dev_hin
fw_ctrl = n230_fw_ctrl_iface::make(ctrl_xport, N230_FW_PRODUCT_ID, false /*verbose*/);
break;
} catch (uhd::io_error& ex) {
- boost::this_thread::sleep(boost::posix_time::milliseconds(500));
+ std::this_thread::sleep_for(std::chrono::milliseconds(500));
first_conn_retries--;
}
}
diff --git a/host/lib/usrp/n230/n230_resource_manager.cpp b/host/lib/usrp/n230/n230_resource_manager.cpp
index e9f8b5c7d..7a68816a3 100644
--- a/host/lib/usrp/n230/n230_resource_manager.cpp
+++ b/host/lib/usrp/n230/n230_resource_manager.cpp
@@ -15,11 +15,12 @@
#include <uhd/utils/platform.hpp>
#include <uhd/utils/paths.hpp>
#include <boost/format.hpp>
-#include <boost/thread.hpp>
#include <boost/functional/hash.hpp>
#include <boost/make_shared.hpp>
#include "n230_fw_defs.h"
#include "n230_fw_host_iface.h"
+#include <chrono>
+#include <thread>
#define IF_DATA_I_MASK 0xFFF00000
#define IF_DATA_Q_MASK 0x0000FFF0
@@ -206,7 +207,7 @@ n230_resource_manager::n230_resource_manager(
_gps_uart = n230_uart::make(gps_uart_xport, uhd::htonx(gps_uart_sid.get()));
_gps_uart->set_baud_divider(fpga::BUS_CLK_RATE/fpga::GPSDO_UART_BAUDRATE);
_gps_uart->write_uart("\n"); //cause the baud and response to be setup
- boost::this_thread::sleep(boost::posix_time::seconds(1)); //allow for a little propagation
+ std::this_thread::sleep_for(std::chrono::seconds(1)); //allow for a little propagation
_gps_ctrl = gps_ctrl::make(_gps_uart);
} catch(std::exception &e) {
UHD_LOGGER_ERROR("N230") << "An error occurred making GPSDO control: " << e.what() ;
@@ -283,7 +284,7 @@ void n230_resource_manager::_claimer_loop()
_fw_ctrl->poke32(N230_FW_HOST_SHMEM_OFFSET(claim_time), time(NULL));
_fw_ctrl->poke32(N230_FW_HOST_SHMEM_OFFSET(claim_src), get_process_hash());
}
- boost::this_thread::sleep(boost::posix_time::milliseconds(N230_CLAIMER_TIMEOUT_IN_MS / 2));
+ std::this_thread::sleep_for(std::chrono::milliseconds(N230_CLAIMER_TIMEOUT_IN_MS / 2));
}
void n230_resource_manager::_initialize_radio(size_t instance)
@@ -444,7 +445,7 @@ void n230_resource_manager::_reset_codec_digital_interface()
_core_ctrl->poke32(fpga::sr_addr(fpga::SR_CORE_CLK_DELAY), fpga::CODEC_CLK_DELAY);
_core_radio_ctrl_reg.write(fpga::core_radio_ctrl_reg_t::CODEC_ARST, 1);
- boost::this_thread::sleep(boost::posix_time::milliseconds(10));
+ std::this_thread::sleep_for(std::chrono::milliseconds(10));
_core_radio_ctrl_reg.write(fpga::core_radio_ctrl_reg_t::CODEC_ARST, 0);
}
@@ -470,7 +471,7 @@ bool n230_resource_manager::_radio_data_loopback_self_test(wb_iface::sptr iface)
const uint32_t word32 = uint32_t(hash) & (IF_DATA_I_MASK | IF_DATA_Q_MASK);
iface->poke32(fpga::sr_addr(fpga::SR_RADIO_CODEC_IDLE), word32);
iface->peek64(fpga::rb_addr(fpga::RB_RADIO_CODEC_DATA)); //block until request completes
- boost::this_thread::sleep(boost::posix_time::microseconds(100)); //wait for loopback to propagate through codec
+ std::this_thread::sleep_for(std::chrono::microseconds(100)); //wait for loopback to propagate through codec
const uint64_t rb_word64 = iface->peek64(fpga::rb_addr(fpga::RB_RADIO_CODEC_DATA));
const uint32_t rb_tx = uint32_t(rb_word64 >> 32);
const uint32_t rb_rx = uint32_t(rb_word64 & 0xffffffff);
diff --git a/host/lib/usrp/usrp1/io_impl.cpp b/host/lib/usrp/usrp1/io_impl.cpp
index 0e79a5985..3ccfa11c9 100644
--- a/host/lib/usrp/usrp1/io_impl.cpp
+++ b/host/lib/usrp/usrp1/io_impl.cpp
@@ -23,6 +23,8 @@
#include <boost/format.hpp>
#include <boost/make_shared.hpp>
#include <atomic>
+#include <chrono>
+#include <thread>
#define bmFR_RX_FORMAT_SHIFT_SHIFT 0
#define bmFR_RX_FORMAT_WIDTH_SHIFT 4
@@ -307,7 +309,7 @@ void usrp1_impl::vandal_conquest_loop(std::atomic<bool> &exit_loop){
UHD_LOG_FASTPATH("O")
}
- boost::this_thread::sleep(boost::posix_time::milliseconds(50));
+ std::this_thread::sleep_for(std::chrono::milliseconds(50));
}}
catch(const std::exception &e){
UHD_LOGGER_ERROR("USRP1") << "The vandal caught an unexpected exception " << e.what() ;
diff --git a/host/lib/usrp/usrp2/io_impl.cpp b/host/lib/usrp/usrp2/io_impl.cpp
index 2b8c7a5d1..7042f0391 100644
--- a/host/lib/usrp/usrp2/io_impl.cpp
+++ b/host/lib/usrp/usrp2/io_impl.cpp
@@ -26,6 +26,8 @@
#include <boost/thread/mutex.hpp>
#include <boost/make_shared.hpp>
#include <iostream>
+#include <chrono>
+#include <thread>
using namespace uhd;
using namespace uhd::usrp;
@@ -384,7 +386,7 @@ void usrp2_impl::program_stream_dest(
std::memcpy(send_buff->cast<void *>(), &stream_ctrl, sizeof(stream_ctrl));
send_buff->commit(sizeof(stream_ctrl));
send_buff.reset();
- boost::this_thread::sleep(boost::posix_time::milliseconds(300));
+ std::this_thread::sleep_for(std::chrono::milliseconds(300));
managed_recv_buffer::sptr recv_buff = xport->get_recv_buff(0.0);
if (recv_buff and recv_buff->size() >= sizeof(uint32_t)){
const uint32_t result = uhd::ntohx(recv_buff->cast<const uint32_t *>()[0]);
diff --git a/host/lib/usrp/usrp2/usrp2_iface.cpp b/host/lib/usrp/usrp2/usrp2_iface.cpp
index a3d1bc390..c8283c500 100644
--- a/host/lib/usrp/usrp2/usrp2_iface.cpp
+++ b/host/lib/usrp/usrp2/usrp2_iface.cpp
@@ -16,7 +16,6 @@
#include <uhd/utils/paths.hpp>
#include <uhd/utils/safe_call.hpp>
#include <uhd/types/dict.hpp>
-#include <boost/thread.hpp>
#include <boost/asio.hpp> //used for htonl and ntohl
#include <boost/assign/list_of.hpp>
#include <boost/format.hpp>
@@ -26,6 +25,8 @@
#include <boost/filesystem.hpp>
#include <algorithm>
#include <iostream>
+#include <chrono>
+#include <thread>
#include <uhd/utils/platform.hpp>
using namespace uhd;
@@ -118,7 +119,7 @@ public:
//re-lock in task
this->pokefw(U2_FW_REG_LOCK_TIME, this->get_curr_time());
//sleep for a bit
- boost::this_thread::sleep(boost::posix_time::milliseconds(1500));
+ std::this_thread::sleep_for(std::chrono::milliseconds(1500));
}
uint32_t get_curr_time(void){
diff --git a/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp b/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp
index 6208de231..cf1d9d7c2 100644
--- a/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp
+++ b/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp
@@ -928,7 +928,7 @@ void x300_radio_ctrl_impl::synchronize_dacs(const std::vector<x300_radio_ctrl_im
}
//Wait and check status
- boost::this_thread::sleep(boost::posix_time::microseconds(t_sync_us));
+ std::this_thread::sleep_for(std::chrono::microseconds(t_sync_us));
for (size_t i = 0; i < radios.size(); i++) {
radios[i]->_dac->verify_sync();
}
diff --git a/host/lib/usrp_clock/octoclock/octoclock_image_loader.cpp b/host/lib/usrp_clock/octoclock/octoclock_image_loader.cpp
index 594d10df6..e030e6106 100644
--- a/host/lib/usrp_clock/octoclock/octoclock_image_loader.cpp
+++ b/host/lib/usrp_clock/octoclock/octoclock_image_loader.cpp
@@ -20,7 +20,6 @@
#include <boost/filesystem.hpp>
#include <boost/format.hpp>
-#include <boost/thread.hpp>
#include <algorithm>
#include <iterator>
@@ -29,6 +28,8 @@
#include <fstream>
#include <iostream>
#include <string>
+#include <chrono>
+#include <thread>
#include <stdint.h>
namespace fs = boost::filesystem;
@@ -194,7 +195,7 @@ static void octoclock_reset_into_bootloader(octoclock_session_t &session){
if(UHD_OCTOCLOCK_PACKET_MATCHES(RESET_ACK, pkt_out, pkt_in, len)){
// Make sure this device is now in its bootloader
- boost::this_thread::sleep(boost::posix_time::milliseconds(500));
+ std::this_thread::sleep_for(std::chrono::milliseconds(500));
uhd::device_addrs_t octoclocks = uhd::device::find(
uhd::device_addr_t(str(boost::format("addr=%s")
% session.dev_addr["addr"]
diff --git a/host/lib/usrp_clock/octoclock/octoclock_uart.cpp b/host/lib/usrp_clock/octoclock/octoclock_uart.cpp
index 490814c40..74d324645 100644
--- a/host/lib/usrp_clock/octoclock/octoclock_uart.cpp
+++ b/host/lib/usrp_clock/octoclock/octoclock_uart.cpp
@@ -7,11 +7,13 @@
#include <iostream>
#include <string>
+#include <chrono>
+#include <thread>
#include <string.h>
+#include <stdint.h>
#include <boost/algorithm/string.hpp>
#include <boost/asio.hpp>
-#include <stdint.h>
#include <boost/format.hpp>
#include <boost/thread/thread.hpp>
@@ -95,7 +97,7 @@ namespace uhd{
{
break;
}
- boost::this_thread::sleep(boost::posix_time::milliseconds(1));
+ std::this_thread::sleep_for(std::chrono::milliseconds(1));
}
return result;