diff options
| author | Josh Blum <josh@joshknows.com> | 2011-06-10 15:23:24 -0700 | 
|---|---|---|
| committer | Josh Blum <josh@joshknows.com> | 2011-06-10 15:23:24 -0700 | 
| commit | 09cf8eb16444b0c744b47b39b077f9d0fbb09886 (patch) | |
| tree | 6f7c381b2736860378838e5bab6baeef8f602e13 /host | |
| parent | e709e4d36516f4459cc08c46ae6eea1e12feb70b (diff) | |
| download | uhd-09cf8eb16444b0c744b47b39b077f9d0fbb09886.tar.gz uhd-09cf8eb16444b0c744b47b39b077f9d0fbb09886.tar.bz2 uhd-09cf8eb16444b0c744b47b39b077f9d0fbb09886.zip | |
uhd: added more SAFE_CALL macros to hardware wrapper dtors
And removed the calls on the sptr resets (not needed now).
Diffstat (limited to 'host')
| -rw-r--r-- | host/lib/usrp/dboard_manager.cpp | 6 | ||||
| -rw-r--r-- | host/lib/usrp/usrp1/codec_ctrl.cpp | 6 | ||||
| -rw-r--r-- | host/lib/usrp/usrp1/usrp1_impl.cpp | 18 | ||||
| -rw-r--r-- | host/lib/usrp/usrp2/clock_ctrl.cpp | 5 | ||||
| -rw-r--r-- | host/lib/usrp/usrp2/codec_ctrl.cpp | 5 | ||||
| -rw-r--r-- | host/lib/usrp/usrp2/mboard_impl.cpp | 16 | 
6 files changed, 20 insertions, 36 deletions
| diff --git a/host/lib/usrp/dboard_manager.cpp b/host/lib/usrp/dboard_manager.cpp index e624ec62f..3cc2ca3c0 100644 --- a/host/lib/usrp/dboard_manager.cpp +++ b/host/lib/usrp/dboard_manager.cpp @@ -351,9 +351,9 @@ void dboard_manager_impl::init(      }  } -dboard_manager_impl::~dboard_manager_impl(void){ -    UHD_SAFE_CALL(set_nice_dboard_if();) -} +dboard_manager_impl::~dboard_manager_impl(void){UHD_SAFE_CALL( +    set_nice_dboard_if(); +)}  prop_names_t dboard_manager_impl::get_rx_subdev_names(void){      return _rx_dboards.keys(); diff --git a/host/lib/usrp/usrp1/codec_ctrl.cpp b/host/lib/usrp/usrp1/codec_ctrl.cpp index 64a93ede5..448135185 100644 --- a/host/lib/usrp/usrp1/codec_ctrl.cpp +++ b/host/lib/usrp/usrp1/codec_ctrl.cpp @@ -20,6 +20,7 @@  #include "clock_ctrl.hpp"  #include "ad9862_regs.hpp"  #include <uhd/utils/log.hpp> +#include <uhd/utils/safe_call.hpp>  #include <uhd/types/dict.hpp>  #include <uhd/exception.hpp>  #include <uhd/utils/algorithm.hpp> @@ -140,8 +141,7 @@ usrp1_codec_ctrl_impl::usrp1_codec_ctrl_impl(usrp1_iface::sptr iface,      this->send_reg(34);  } -usrp1_codec_ctrl_impl::~usrp1_codec_ctrl_impl(void) -{ +usrp1_codec_ctrl_impl::~usrp1_codec_ctrl_impl(void){UHD_SAFE_CALL(      //set aux dacs to zero      this->write_aux_dac(AUX_DAC_A, 0);      this->write_aux_dac(AUX_DAC_B, 0); @@ -154,7 +154,7 @@ usrp1_codec_ctrl_impl::~usrp1_codec_ctrl_impl(void)      _ad9862_regs.tx_digital_pd = 1;      _ad9862_regs.tx_analog_pd = ad9862_regs_t::TX_ANALOG_PD_BOTH;      this->send_reg(8); -} +)}  /***********************************************************************   * Codec Control Gain Control Methods diff --git a/host/lib/usrp/usrp1/usrp1_impl.cpp b/host/lib/usrp/usrp1/usrp1_impl.cpp index b1fa986d1..83ff8ebe2 100644 --- a/host/lib/usrp/usrp1/usrp1_impl.cpp +++ b/host/lib/usrp/usrp1/usrp1_impl.cpp @@ -208,20 +208,10 @@ usrp1_impl::usrp1_impl(uhd::transport::usb_zero_copy::sptr data_transport,      this->mboard_set(MBOARD_PROP_TX_SUBDEV_SPEC, subdev_spec_t());  } -usrp1_impl::~usrp1_impl(void){ -    UHD_SAFE_CALL(this->enable_rx(false);) -    UHD_SAFE_CALL(this->enable_tx(false);) -    //Safely destruct all RAII objects in a device. -    //This prevents the mboard deconstructor from throwing, -    //which allows the device to be safely deconstructed. -    BOOST_FOREACH(dboard_slot_t slot, _dboard_slots){ -        UHD_SAFE_CALL(_dboard_managers[slot].reset();) -        UHD_SAFE_CALL(_dboard_ifaces[slot].reset();) -        UHD_SAFE_CALL(_codec_ctrls[slot].reset();) -    } -    UHD_SAFE_CALL(_clock_ctrl.reset();) -    UHD_SAFE_CALL(_io_impl.reset();) -} +usrp1_impl::~usrp1_impl(void){UHD_SAFE_CALL( +    this->enable_rx(false); +    this->enable_tx(false); +)}  bool usrp1_impl::recv_async_msg(uhd::async_metadata_t &, double timeout){      //dummy fill-in for the recv_async_msg diff --git a/host/lib/usrp/usrp2/clock_ctrl.cpp b/host/lib/usrp/usrp2/clock_ctrl.cpp index f1fdfb7cf..66c7a6c28 100644 --- a/host/lib/usrp/usrp2/clock_ctrl.cpp +++ b/host/lib/usrp/usrp2/clock_ctrl.cpp @@ -19,6 +19,7 @@  #include "ad9510_regs.hpp"  #include "usrp2_regs.hpp" //spi slave constants  #include "usrp2_clk_regs.hpp" +#include <uhd/utils/safe_call.hpp>  #include <uhd/utils/assert_has.hpp>  #include <boost/cstdint.hpp>  #include <boost/lexical_cast.hpp> @@ -77,7 +78,7 @@ public:          this->enable_test_clock(enb_test_clk);      } -    ~usrp2_clock_ctrl_impl(void){ +    ~usrp2_clock_ctrl_impl(void){UHD_SAFE_CALL(          //power down clock outputs          this->enable_external_ref(false);          this->enable_rx_dboard_clock(false); @@ -86,7 +87,7 @@ public:          this->enable_adc_clock(false);          this->enable_mimo_clock_out(false);          this->enable_test_clock(false); -    } +    )}      void enable_mimo_clock_out(bool enb){          //calculate the low and high dividers diff --git a/host/lib/usrp/usrp2/codec_ctrl.cpp b/host/lib/usrp/usrp2/codec_ctrl.cpp index 047195390..ee0ef9ceb 100644 --- a/host/lib/usrp/usrp2/codec_ctrl.cpp +++ b/host/lib/usrp/usrp2/codec_ctrl.cpp @@ -20,6 +20,7 @@  #include "ads62p44_regs.hpp"  #include "usrp2_regs.hpp"  #include <uhd/utils/log.hpp> +#include <uhd/utils/safe_call.hpp>  #include <uhd/exception.hpp>  #include <boost/cstdint.hpp>  #include <boost/foreach.hpp> @@ -95,7 +96,7 @@ public:          }      } -    ~usrp2_codec_ctrl_impl(void){ +    ~usrp2_codec_ctrl_impl(void){UHD_SAFE_CALL(          //power-down dac          _ad9777_regs.power_down_mode = 1;          this->send_ad9777_reg(0); @@ -118,7 +119,7 @@ public:          case usrp2_iface::USRP_NXXX: break;          } -    } +    )}      void set_tx_mod_mode(int mod_mode){          //set the sign of the frequency shift diff --git a/host/lib/usrp/usrp2/mboard_impl.cpp b/host/lib/usrp/usrp2/mboard_impl.cpp index bf1fd5cce..4a28ea9c4 100644 --- a/host/lib/usrp/usrp2/mboard_impl.cpp +++ b/host/lib/usrp/usrp2/mboard_impl.cpp @@ -176,18 +176,10 @@ usrp2_mboard_impl::usrp2_mboard_impl(      //------------------------------------------------------------------  } -usrp2_mboard_impl::~usrp2_mboard_impl(void){ -    //Safely destruct all RAII objects in an mboard. -    //This prevents the mboard deconstructor from throwing, -    //which allows the device to be safely deconstructed. -    UHD_SAFE_CALL(_iface->poke32(U2_REG_TX_CTRL_CYCLES_PER_UP, 0);) -    UHD_SAFE_CALL(_iface->poke32(U2_REG_TX_CTRL_PACKETS_PER_UP, 0);) -    UHD_SAFE_CALL(_dboard_manager.reset();) -    UHD_SAFE_CALL(_dboard_iface.reset();) -    UHD_SAFE_CALL(_codec_ctrl.reset();) -    UHD_SAFE_CALL(_clock_ctrl.reset();) -    UHD_SAFE_CALL(_gps_ctrl.reset();) -} +usrp2_mboard_impl::~usrp2_mboard_impl(void){UHD_SAFE_CALL( +    _iface->poke32(U2_REG_TX_CTRL_CYCLES_PER_UP, 0); +    _iface->poke32(U2_REG_TX_CTRL_PACKETS_PER_UP, 0); +)}  /***********************************************************************   * Helper Methods | 
