diff options
| author | Brent Stapleton <brent.stapleton@ettus.com> | 2018-01-03 10:43:19 -0800 | 
|---|---|---|
| committer | Martin Braun <martin.braun@ettus.com> | 2018-01-05 16:10:47 -0800 | 
| commit | acd1f6d91e7cb0c2d3dd76581ec8ee4b7acd9a4b (patch) | |
| tree | 562fa55642f28dbc97a4ce7c272fb935b6fbd17f /host/lib/usrp | |
| parent | 6f8acc07c6c4abc2ccdd4158e2564edde1ffacb6 (diff) | |
| download | uhd-acd1f6d91e7cb0c2d3dd76581ec8ee4b7acd9a4b.tar.gz uhd-acd1f6d91e7cb0c2d3dd76581ec8ee4b7acd9a4b.tar.bz2 uhd-acd1f6d91e7cb0c2d3dd76581ec8ee4b7acd9a4b.zip | |
mpm: Increase RPC timeout during update_component
Increases the host's timeout during update_component times, then resets
it to the default RPC timeout after the call is complete.
Reviewed-by: Martin Braun <martin.braun@ettus.com>
Diffstat (limited to 'host/lib/usrp')
| -rw-r--r-- | host/lib/usrp/mpmd/mpmd_impl.cpp | 4 | ||||
| -rw-r--r-- | host/lib/usrp/mpmd/mpmd_impl.hpp | 3 | ||||
| -rw-r--r-- | host/lib/usrp/mpmd/mpmd_mboard_impl.cpp | 7 | 
3 files changed, 14 insertions, 0 deletions
| diff --git a/host/lib/usrp/mpmd/mpmd_impl.cpp b/host/lib/usrp/mpmd/mpmd_impl.cpp index ff1e0498d..3afa6dfc1 100644 --- a/host/lib/usrp/mpmd/mpmd_impl.cpp +++ b/host/lib/usrp/mpmd/mpmd_impl.cpp @@ -43,6 +43,8 @@ namespace {      const double MPMD_CHDR_MAX_RTT = 0.02;      //! MPM Compatibility number      const std::vector<size_t> MPM_COMPAT_NUM = {1, 0}; +    //! Timeout value for the update_component RPC call (ms) +    const size_t MPMD_UPDATE_COMPONENT_TIMEOUT     = 10000;      /*************************************************************************       * Helper functions @@ -75,7 +77,9 @@ namespace {          }          // Now call update component +        mb->rpc->set_timeout(MPMD_UPDATE_COMPONENT_TIMEOUT);          mb->rpc->notify_with_token("update_component", all_metadata, all_data); +        mb->set_timeout_default();          return all_comps_copy;      } diff --git a/host/lib/usrp/mpmd/mpmd_impl.hpp b/host/lib/usrp/mpmd/mpmd_impl.hpp index 79ab18aa3..6d7b93b10 100644 --- a/host/lib/usrp/mpmd/mpmd_impl.hpp +++ b/host/lib/usrp/mpmd/mpmd_impl.hpp @@ -106,6 +106,9 @@ class mpmd_mboard_impl      uhd::device_addr_t get_rx_hints() const;      uhd::device_addr_t get_tx_hints() const; +    //! Set the RPC call timeout to the default value +    void set_timeout_default(); +    private:      /*************************************************************************       * Private methods diff --git a/host/lib/usrp/mpmd/mpmd_mboard_impl.cpp b/host/lib/usrp/mpmd/mpmd_mboard_impl.cpp index 3702c15a1..0ca996d28 100644 --- a/host/lib/usrp/mpmd/mpmd_mboard_impl.cpp +++ b/host/lib/usrp/mpmd/mpmd_mboard_impl.cpp @@ -259,6 +259,13 @@ uhd::device_addr_t mpmd_mboard_impl::get_tx_hints() const      return tx_hints;  } +void mpmd_mboard_impl::set_timeout_default() +{ +    rpc->set_timeout(mb_args.cast<size_t>( +            "rpc_timeout", MPMD_DEFAULT_RPC_TIMEOUT +    )); +} +  /*****************************************************************************   * Private methods | 
