diff options
Diffstat (limited to 'host/lib')
-rw-r--r-- | host/lib/include/uhdlib/transport/udp_common.hpp | 6 | ||||
-rw-r--r-- | host/lib/include/uhdlib/usrp/common/adf435x.hpp | 8 | ||||
-rw-r--r-- | host/lib/include/uhdlib/usrp/common/adf535x.hpp | 25 | ||||
-rw-r--r-- | host/lib/include/uhdlib/utils/isatty.hpp | 3 | ||||
-rw-r--r-- | host/lib/include/uhdlib/utils/rpc.hpp | 5 | ||||
-rw-r--r-- | host/lib/rfnoc/block_id.cpp | 3 | ||||
-rw-r--r-- | host/lib/usrp/dboard/db_tvrx.cpp | 6 | ||||
-rw-r--r-- | host/lib/usrp/dboard/twinrx/twinrx_ctrl.cpp | 5 | ||||
-rw-r--r-- | host/lib/usrp/usrp2/clock_ctrl.cpp | 26 |
9 files changed, 55 insertions, 32 deletions
diff --git a/host/lib/include/uhdlib/transport/udp_common.hpp b/host/lib/include/uhdlib/transport/udp_common.hpp index 6c87ef498..c094fb142 100644 --- a/host/lib/include/uhdlib/transport/udp_common.hpp +++ b/host/lib/include/uhdlib/transport/udp_common.hpp @@ -1,6 +1,7 @@ // // Copyright 2011 Ettus Research LLC // Copyright 2018 Ettus Research, a National Instruments Company +// Copyright 2019 Ettus Research, A National Instruments Brand // // SPDX-License-Identifier: GPL-3.0-or-later // @@ -14,6 +15,7 @@ #include <uhd/types/device_addr.hpp> #include <uhd/utils/log.hpp> #include <uhdlib/transport/links.hpp> +#include <uhdlib/utils/narrow.hpp> #include <boost/asio.hpp> #include <boost/format.hpp> #include <thread> @@ -110,7 +112,7 @@ UHD_INLINE size_t recv_udp_packet( #endif if (wait_for_recv_ready(sock_fd, timeout_ms)) { - len = ::recv(sock_fd, (char*)mem, frame_size, 0); + len = uhd::narrow_cast<ssize_t>(::recv(sock_fd, (char*)mem, frame_size, 0)); if (len == 0) { throw uhd::io_error("socket closed"); } @@ -130,7 +132,7 @@ UHD_INLINE void send_udp_packet(int sock_fd, void* mem, size_t len) // This is known to occur at least on some OSX systems. // But it should be safe to always check for the error. while (true) { - const ssize_t ret = ::send(sock_fd, (const char*)mem, len, 0); + const ssize_t ret = uhd::narrow_cast<ssize_t>(::send(sock_fd, (const char*)mem, len, 0)); if (ret == ssize_t(len)) break; if (ret == -1 and errno == ENOBUFS) { diff --git a/host/lib/include/uhdlib/usrp/common/adf435x.hpp b/host/lib/include/uhdlib/usrp/common/adf435x.hpp index 886c8d335..7989420dd 100644 --- a/host/lib/include/uhdlib/usrp/common/adf435x.hpp +++ b/host/lib/include/uhdlib/usrp/common/adf435x.hpp @@ -1,6 +1,7 @@ // // Copyright 2015 Ettus Research LLC // Copyright 2018 Ettus Research, a National Instruments Company +// Copyright 2019 Ettus Research, A National Instruments Brand // // SPDX-License-Identifier: GPL-3.0-or-later // @@ -15,6 +16,7 @@ #include <uhd/types/ranges.hpp> #include <uhd/utils/log.hpp> #include <uhdlib/utils/math.hpp> +#include <uhdlib/utils/narrow.hpp> #include <functional> #include <boost/math/special_functions/round.hpp> #include <boost/thread.hpp> @@ -112,7 +114,8 @@ public: virtual void set_charge_pump_current(charge_pump_current_t cp_current) = 0; - virtual double set_charge_pump_current(double current, bool flush = false) = 0; + virtual double set_charge_pump_current( + const double current, const bool flush = false) = 0; virtual uhd::meta_range_t get_charge_pump_current_range() = 0; @@ -321,7 +324,8 @@ public: const auto cp_range = get_charge_pump_current_range(); const auto coerced_current = cp_range.clip(current, true); - const int current_step = std::round((coerced_current / cp_range.step()) - 1); + const int current_step = + uhd::narrow_cast<int>(std::round((coerced_current / cp_range.step()) - 1)); UHD_ASSERT_THROW(current_step >= 0 and current_step < 16); set_charge_pump_current( diff --git a/host/lib/include/uhdlib/usrp/common/adf535x.hpp b/host/lib/include/uhdlib/usrp/common/adf535x.hpp index c42f05b57..6af8556be 100644 --- a/host/lib/include/uhdlib/usrp/common/adf535x.hpp +++ b/host/lib/include/uhdlib/usrp/common/adf535x.hpp @@ -1,5 +1,6 @@ // // Copyright 2015, 2017 Ettus Research, A National Instruments Company +// Copyright 2019 Ettus Research, A National Instruments Brand // // SPDX-License-Identifier: GPL-3.0-or-later // @@ -13,6 +14,7 @@ #include <uhd/utils/log.hpp> #include <uhd/utils/math.hpp> #include <uhd/utils/safe_call.hpp> +#include <uhdlib/utils/narrow.hpp> #include <stdint.h> #include <boost/format.hpp> #include <functional> @@ -54,22 +56,24 @@ public: MUXOUT_DLD }; - virtual void set_reference_freq(double fref, bool force = false) = 0; + virtual void set_reference_freq(const double fref, const bool force = false) = 0; - virtual void set_pfd_freq(double pfd_freq) = 0; + virtual void set_pfd_freq(const double pfd_freq) = 0; - virtual void set_feedback_select(feedback_sel_t fb_sel) = 0; + virtual void set_feedback_select(const feedback_sel_t fb_sel) = 0; - virtual void set_output_power(output_power_t power) = 0; + virtual void set_output_power(const output_power_t power) = 0; - virtual void set_output_enable(output_t output, bool enable) = 0; + virtual void set_output_enable(const output_t output, const bool enable) = 0; - virtual void set_muxout_mode(muxout_t mode) = 0; + virtual void set_muxout_mode(const muxout_t mode) = 0; - virtual double set_frequency( - double target_freq, double freq_resolution, bool flush = false) = 0; + virtual double set_frequency(const double target_freq, + const double freq_resolution, + const bool flush = false) = 0; - virtual double set_charge_pump_current(double target_current, bool flush = false) = 0; + virtual double set_charge_pump_current( + const double target_current, const bool flush = false) = 0; virtual uhd::meta_range_t get_charge_pump_current_range() = 0; @@ -238,7 +242,8 @@ public: const auto cp_range = get_charge_pump_current_range(); const auto coerced_current = cp_range.clip(current, true); - const int current_step = std::round((coerced_current / cp_range.step()) - 1); + const int current_step = + uhd::narrow_cast<int>(std::round((coerced_current / cp_range.step()) - 1)); UHD_ASSERT_THROW(current_step >= 0 and current_step < 16); _regs.charge_pump_current = diff --git a/host/lib/include/uhdlib/utils/isatty.hpp b/host/lib/include/uhdlib/utils/isatty.hpp index 1ae2c8de4..cb8d07afb 100644 --- a/host/lib/include/uhdlib/utils/isatty.hpp +++ b/host/lib/include/uhdlib/utils/isatty.hpp @@ -8,6 +8,7 @@ #define INCLUDED_UHDLIB_UTILS_ISATTY_HPP #include <uhd/config.hpp> +#include <uhdlib/utils/narrow.hpp> namespace uhd { @@ -23,7 +24,7 @@ namespace uhd { */ bool is_a_tty(const int fd) { - return _isatty(fd); + return uhd::narrow_cast<bool>(_isatty(fd)); } #elif _POSIX_C_SOURCE >= _200112L diff --git a/host/lib/include/uhdlib/utils/rpc.hpp b/host/lib/include/uhdlib/utils/rpc.hpp index 066c6d144..6a45ba61f 100644 --- a/host/lib/include/uhdlib/utils/rpc.hpp +++ b/host/lib/include/uhdlib/utils/rpc.hpp @@ -1,5 +1,6 @@ // // Copyright 2017 Ettus Research, a National Instruments Company +// Copyright 2019 Ettus Research, A National Instruments Brand // // SPDX-License-Identifier: GPL-3.0-or-later // @@ -305,9 +306,9 @@ private: } try { return _client->call(_get_last_error_cmd).as<std::string>(); - } catch (const ::rpc::rpc_error& ex) { + } catch (const ::rpc::rpc_error&) { // nop - } catch (const std::bad_cast& ex) { + } catch (const std::bad_cast&) { // nop } catch (...) { // nop diff --git a/host/lib/rfnoc/block_id.cpp b/host/lib/rfnoc/block_id.cpp index db7ddb032..e4dc1832f 100644 --- a/host/lib/rfnoc/block_id.cpp +++ b/host/lib/rfnoc/block_id.cpp @@ -1,6 +1,7 @@ // // Copyright 2014 Ettus Research LLC // Copyright 2018 Ettus Research, a National Instruments Company +// Copyright 2019 Ettus Research, A National Instruments Brand // // SPDX-License-Identifier: GPL-3.0-or-later // @@ -74,7 +75,7 @@ bool block_id_t::match(const std::string& block_str) and (matches[3] == "" or boost::lexical_cast<size_t>(matches[3]) == _block_ctr) and not(matches[1] == "" and matches[2] == "" and matches[3] == ""); - } catch (const std::bad_cast& e) { + } catch (const std::bad_cast&) { return false; } return false; diff --git a/host/lib/usrp/dboard/db_tvrx.cpp b/host/lib/usrp/dboard/db_tvrx.cpp index 5235b1bfe..cd238ddc8 100644 --- a/host/lib/usrp/dboard/db_tvrx.cpp +++ b/host/lib/usrp/dboard/db_tvrx.cpp @@ -1,6 +1,7 @@ // // Copyright 2010-2012 Ettus Research LLC // Copyright 2018 Ettus Research, a National Instruments Company +// Copyright 2019 Ettus Research, A National Instruments Brand // // SPDX-License-Identifier: GPL-3.0-or-later // @@ -26,6 +27,7 @@ #include <uhd/utils/assert_has.hpp> #include <uhd/utils/log.hpp> #include <uhd/utils/static.hpp> +#include <uhdlib/utils/narrow.hpp> #include <tuner_4937di5_regs.hpp> #include <boost/array.hpp> #include <boost/assign/list_of.hpp> @@ -264,7 +266,9 @@ static double gain_interp(double gain, const boost::array<double, 17>& db_vector uint8_t gain_step = 0; //find which bin we're in for(size_t i = 0; i < db_vector.size()-1; i++) { - if(gain >= db_vector[i] && gain <= db_vector[i+1]) gain_step = i; + if (gain >= db_vector[i] && gain <= db_vector[i+1]) { + gain_step = uhd::narrow_cast<uint8_t>(i); + } } //find the current slope for linear interpolation diff --git a/host/lib/usrp/dboard/twinrx/twinrx_ctrl.cpp b/host/lib/usrp/dboard/twinrx/twinrx_ctrl.cpp index 91cfa22ca..85ed3ddb7 100644 --- a/host/lib/usrp/dboard/twinrx/twinrx_ctrl.cpp +++ b/host/lib/usrp/dboard/twinrx/twinrx_ctrl.cpp @@ -1,5 +1,6 @@ // // Copyright 2015-2017 Ettus Research, A National Instruments Company +// Copyright 2019 Ettus Research, A National Instruments Brand // // SPDX-License-Identifier: GPL-3.0-or-later // @@ -8,6 +9,7 @@ #include "twinrx_ids.hpp" #include <uhdlib/usrp/common/adf435x.hpp> #include <uhdlib/usrp/common/adf535x.hpp> +#include <uhdlib/utils/narrow.hpp> #include <uhd/utils/math.hpp> #include <uhd/utils/safe_call.hpp> #include <chrono> @@ -41,7 +43,8 @@ public: { // SPI configuration _spi_config.use_custom_divider = true; - _spi_config.divider = std::ceil(_db_iface->get_codec_rate(dboard_iface::UNIT_TX) / TWINRX_SPI_CLOCK_FREQ); + _spi_config.divider = uhd::narrow_cast<size_t>(std::ceil( + _db_iface->get_codec_rate(dboard_iface::UNIT_TX) / TWINRX_SPI_CLOCK_FREQ)); //Initialize dboard clocks bool found_rate = false; diff --git a/host/lib/usrp/usrp2/clock_ctrl.cpp b/host/lib/usrp/usrp2/clock_ctrl.cpp index c175a8c12..40f7c75f6 100644 --- a/host/lib/usrp/usrp2/clock_ctrl.cpp +++ b/host/lib/usrp/usrp2/clock_ctrl.cpp @@ -1,6 +1,7 @@ // // Copyright 2010-2012,2014 Ettus Research LLC // Copyright 2018 Ettus Research, a National Instruments Company +// Copyright 2019 Ettus Research, a National Instruments Brand // // SPDX-License-Identifier: GPL-3.0-or-later // @@ -11,6 +12,7 @@ #include "usrp2_clk_regs.hpp" #include <uhd/utils/safe_call.hpp> #include <uhd/utils/assert_has.hpp> +#include <uhdlib/utils/narrow.hpp> #include <stdint.h> #include <boost/math/special_functions/round.hpp> #include <iostream> @@ -96,8 +98,8 @@ public: ad9510_regs_t::POWER_DOWN_LVPECL_OUT2_SAFE_PD; _ad9510_regs.output_level_lvpecl_out2 = ad9510_regs_t::OUTPUT_LEVEL_LVPECL_OUT2_810MV; //set the registers (divider - 1) - _ad9510_regs.divider_low_cycles_out2 = low - 1; - _ad9510_regs.divider_high_cycles_out2 = high - 1; + _ad9510_regs.divider_low_cycles_out2 = uhd::narrow_cast<uint8_t>(low - 1); + _ad9510_regs.divider_high_cycles_out2 = uhd::narrow_cast<uint8_t>(high - 1); _ad9510_regs.bypass_divider_out2 = 0; break; @@ -106,8 +108,8 @@ public: _ad9510_regs.lvds_cmos_select_out5 = ad9510_regs_t::LVDS_CMOS_SELECT_OUT5_LVDS; _ad9510_regs.output_level_lvds_out5 = ad9510_regs_t::OUTPUT_LEVEL_LVDS_OUT5_1_75MA; //set the registers (divider - 1) - _ad9510_regs.divider_low_cycles_out5 = low - 1; - _ad9510_regs.divider_high_cycles_out5 = high - 1; + _ad9510_regs.divider_low_cycles_out5 = uhd::narrow_cast<uint8_t>(low - 1); + _ad9510_regs.divider_high_cycles_out5 = uhd::narrow_cast<uint8_t>(high - 1); _ad9510_regs.bypass_divider_out5 = 0; break; @@ -116,8 +118,8 @@ public: _ad9510_regs.lvds_cmos_select_out6 = ad9510_regs_t::LVDS_CMOS_SELECT_OUT6_LVDS; _ad9510_regs.output_level_lvds_out6 = ad9510_regs_t::OUTPUT_LEVEL_LVDS_OUT6_1_75MA; //set the registers (divider - 1) - _ad9510_regs.divider_low_cycles_out6 = low - 1; - _ad9510_regs.divider_high_cycles_out6 = high - 1; + _ad9510_regs.divider_low_cycles_out6 = uhd::narrow_cast<uint8_t>(low - 1); + _ad9510_regs.divider_high_cycles_out6 = uhd::narrow_cast<uint8_t>(high - 1); _ad9510_regs.bypass_divider_out5 = 0; break; @@ -159,8 +161,8 @@ public: size_t high = divider/2; size_t low = divider - high; //set the registers (divider - 1) - _ad9510_regs.divider_low_cycles_out7 = low - 1; - _ad9510_regs.divider_high_cycles_out7 = high - 1; + _ad9510_regs.divider_low_cycles_out7 = uhd::narrow_cast<uint8_t>(low - 1); + _ad9510_regs.divider_high_cycles_out7 = uhd::narrow_cast<uint8_t>(high - 1); //write the registers this->write_reg(clk_regs.div_lo(clk_regs.rx_db)); this->write_reg(clk_regs.div_hi(clk_regs.rx_db)); @@ -217,15 +219,15 @@ public: switch(clk_regs.tx_db) { case 5: //USRP2+ _ad9510_regs.bypass_divider_out5 = (divider == 1)? 1 : 0; - _ad9510_regs.divider_low_cycles_out5 = low - 1; - _ad9510_regs.divider_high_cycles_out5 = high - 1; + _ad9510_regs.divider_low_cycles_out5 = uhd::narrow_cast<uint8_t>(low - 1); + _ad9510_regs.divider_high_cycles_out5 = uhd::narrow_cast<uint8_t>(high - 1); break; case 6: //USRP2 //bypass when the divider ratio is one _ad9510_regs.bypass_divider_out6 = (divider == 1)? 1 : 0; //set the registers (divider - 1) - _ad9510_regs.divider_low_cycles_out6 = low - 1; - _ad9510_regs.divider_high_cycles_out6 = high - 1; + _ad9510_regs.divider_low_cycles_out6 = uhd::narrow_cast<uint8_t>(low - 1); + _ad9510_regs.divider_high_cycles_out6 = uhd::narrow_cast<uint8_t>(high - 1); break; } |