diff options
Diffstat (limited to 'host')
-rw-r--r-- | host/include/uhd/utils/exception.hpp | 7 | ||||
-rw-r--r-- | host/lib/usrp/dboard/db_rfx.cpp | 4 | ||||
-rw-r--r-- | host/lib/usrp/dboard/db_wbx.cpp | 4 | ||||
-rw-r--r-- | host/lib/usrp/dboard/db_xcvr2450.cpp | 6 | ||||
-rw-r--r-- | host/lib/usrp/dboard_manager.cpp | 2 |
5 files changed, 15 insertions, 8 deletions
diff --git a/host/include/uhd/utils/exception.hpp b/host/include/uhd/utils/exception.hpp index 40e81fae0..e74c19b9c 100644 --- a/host/include/uhd/utils/exception.hpp +++ b/host/include/uhd/utils/exception.hpp @@ -35,4 +35,11 @@ " at " + std::string(__FILE__) + ":" + BOOST_STRINGIZE(__LINE__) + "\n" \ ) +/*! + * Throws an invalid code path exception with throw-site information. + * Use this macro in places that code execution is not supposed to go. + */ +#define UHD_THROW_INVALID_CODE_PATH() \ + throw std::runtime_error(UHD_THROW_SITE_INFO("invalid code path")) + #endif /* INCLUDED_UHD_UTILS_EXCEPTION_HPP */ diff --git a/host/lib/usrp/dboard/db_rfx.cpp b/host/lib/usrp/dboard/db_rfx.cpp index 5b90bbbad..17fc00d24 100644 --- a/host/lib/usrp/dboard/db_rfx.cpp +++ b/host/lib/usrp/dboard/db_rfx.cpp @@ -247,7 +247,7 @@ static float rx_pga0_gain_to_dac_volts(float &gain){ void rfx_xcvr::set_tx_gain(float, const std::string &name){ assert_has(rfx_tx_gain_ranges.keys(), name, "rfx tx gain name"); - UHD_ASSERT_THROW(false); //no gains to set + UHD_THROW_INVALID_CODE_PATH(); //no gains to set } void rfx_xcvr::set_rx_gain(float gain, const std::string &name){ @@ -259,7 +259,7 @@ void rfx_xcvr::set_rx_gain(float gain, const std::string &name){ //write the new voltage to the aux dac this->get_iface()->write_aux_dac(dboard_iface::UNIT_RX, 1, dac_volts); } - else UHD_ASSERT_THROW(false); + else UHD_THROW_INVALID_CODE_PATH(); } /*********************************************************************** diff --git a/host/lib/usrp/dboard/db_wbx.cpp b/host/lib/usrp/dboard/db_wbx.cpp index 4cf168c6b..95dcb3802 100644 --- a/host/lib/usrp/dboard/db_wbx.cpp +++ b/host/lib/usrp/dboard/db_wbx.cpp @@ -248,7 +248,7 @@ void wbx_xcvr::set_tx_gain(float gain, const std::string &name){ //write the new voltage to the aux dac this->get_iface()->write_aux_dac(dboard_iface::UNIT_TX, 0, dac_volts); } - else UHD_ASSERT_THROW(false); + else UHD_THROW_INVALID_CODE_PATH(); } void wbx_xcvr::set_rx_gain(float gain, const std::string &name){ @@ -260,7 +260,7 @@ void wbx_xcvr::set_rx_gain(float gain, const std::string &name){ //write the new gain to atr regs update_atr(); } - else UHD_ASSERT_THROW(false); + else UHD_THROW_INVALID_CODE_PATH(); } /*********************************************************************** diff --git a/host/lib/usrp/dboard/db_xcvr2450.cpp b/host/lib/usrp/dboard/db_xcvr2450.cpp index d4d5f184e..974a378bd 100644 --- a/host/lib/usrp/dboard/db_xcvr2450.cpp +++ b/host/lib/usrp/dboard/db_xcvr2450.cpp @@ -375,7 +375,7 @@ static max2829_regs_t::tx_baseband_gain_t gain_to_tx_bb_reg(float &gain){ gain = 5; return max2829_regs_t::TX_BASEBAND_GAIN_5DB; } - UHD_ASSERT_THROW(false); + UHD_THROW_INVALID_CODE_PATH(); } /*! @@ -417,7 +417,7 @@ void xcvr2450::set_tx_gain(float gain, const std::string &name){ _max2829_regs.tx_baseband_gain = gain_to_tx_bb_reg(gain); send_reg(0x9); } - else UHD_ASSERT_THROW(false); + else UHD_THROW_INVALID_CODE_PATH(); _tx_gains[name] = gain; } @@ -431,7 +431,7 @@ void xcvr2450::set_rx_gain(float gain, const std::string &name){ _max2829_regs.rx_lna_gain = gain_to_rx_lna_reg(gain); send_reg(0xB); } - else UHD_ASSERT_THROW(false); + else UHD_THROW_INVALID_CODE_PATH(); _rx_gains[name] = gain; } diff --git a/host/lib/usrp/dboard_manager.cpp b/host/lib/usrp/dboard_manager.cpp index 01352039e..35ddfc4ee 100644 --- a/host/lib/usrp/dboard_manager.cpp +++ b/host/lib/usrp/dboard_manager.cpp @@ -181,7 +181,7 @@ static args_t get_dboard_args( switch(unit){ case dboard_iface::UNIT_RX: return get_dboard_args(unit, 0x0001); case dboard_iface::UNIT_TX: return get_dboard_args(unit, 0x0000); - default: UHD_ASSERT_THROW(false); + default: UHD_THROW_INVALID_CODE_PATH(); } } |