diff options
| author | Derek Kozel <derek.kozel@ettus.com> | 2017-04-07 19:38:44 -0700 | 
|---|---|---|
| committer | Martin Braun <martin.braun@ettus.com> | 2017-04-13 15:30:13 -0700 | 
| commit | d1596dc40b1f0983512ab48372bdf25dd918710e (patch) | |
| tree | 9dd689912e36d486ff1140950f6d3267f86c7bf8 | |
| parent | ce14b640546985ac65964e071e869c1504d3e025 (diff) | |
| download | uhd-d1596dc40b1f0983512ab48372bdf25dd918710e.tar.gz uhd-d1596dc40b1f0983512ab48372bdf25dd918710e.tar.bz2 uhd-d1596dc40b1f0983512ab48372bdf25dd918710e.zip  | |
rfnoc: Add set_command_time hook to radio block
| -rw-r--r-- | host/include/uhd/rfnoc/block_ctrl_base.hpp | 3 | ||||
| -rw-r--r-- | host/lib/rfnoc/block_ctrl_base.cpp | 5 | ||||
| -rw-r--r-- | host/lib/usrp/x300/x300_radio_ctrl_impl.cpp | 4 | ||||
| -rw-r--r-- | host/lib/usrp/x300/x300_radio_ctrl_impl.hpp | 1 | 
4 files changed, 13 insertions, 0 deletions
diff --git a/host/include/uhd/rfnoc/block_ctrl_base.hpp b/host/include/uhd/rfnoc/block_ctrl_base.hpp index f770cf129..e9dd9c233 100644 --- a/host/include/uhd/rfnoc/block_ctrl_base.hpp +++ b/host/include/uhd/rfnoc/block_ctrl_base.hpp @@ -381,6 +381,9 @@ protected:      // than reset register SR_CLEAR_TX_FC.      virtual void _clear(const size_t port = 0); +    //! Override this function if your block needs to specially handle +    // setting the command time +    virtual void _set_command_time(const time_spec_t &time_spec, const size_t port = ANY_PORT);      /***********************************************************************       * Protected members       **********************************************************************/ diff --git a/host/lib/rfnoc/block_ctrl_base.cpp b/host/lib/rfnoc/block_ctrl_base.cpp index 24dad6b47..a6eecc20b 100644 --- a/host/lib/rfnoc/block_ctrl_base.cpp +++ b/host/lib/rfnoc/block_ctrl_base.cpp @@ -356,6 +356,7 @@ void block_ctrl_base::set_command_time(      }      iface_sptr->set_time(time_spec); +    _set_command_time(time_spec, port);  }  time_spec_t block_ctrl_base::get_command_time( @@ -583,4 +584,8 @@ void block_ctrl_base::_clear(const size_t port)      sr_write(SR_CLEAR_RX_FC, 0x00C1EA12, port); // 'CLEAR', but we can write anything, really  } +void block_ctrl_base::_set_command_time(const time_spec_t & /*time_spec*/, const size_t /*port*/) +{ +    UHD_RFNOC_BLOCK_TRACE() << "block_ctrl_base::_set_command_time() "; +}  // vim: sw=4 et: diff --git a/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp b/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp index 0e11cb42c..80865eaf0 100644 --- a/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp +++ b/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp @@ -907,6 +907,10 @@ void x300_radio_ctrl_impl::_set_db_eeprom(i2c_iface::sptr i2c, const size_t addr      _db_eeproms[addr] = db_eeprom;  } +void x300_radio_ctrl_impl::_set_command_time(const time_spec_t &spec, const size_t port) +{ +   set_fe_cmd_time(spec, port); +}  /****************************************************************************   * Helpers   ***************************************************************************/ diff --git a/host/lib/usrp/x300/x300_radio_ctrl_impl.hpp b/host/lib/usrp/x300/x300_radio_ctrl_impl.hpp index 6e17778bd..417c88f9e 100644 --- a/host/lib/usrp/x300/x300_radio_ctrl_impl.hpp +++ b/host/lib/usrp/x300/x300_radio_ctrl_impl.hpp @@ -161,6 +161,7 @@ private:      void set_rx_fe_corrections(const uhd::fs_path &db_path, const uhd::fs_path &rx_fe_corr_path, const double lo_freq);      void set_tx_fe_corrections(const uhd::fs_path &db_path, const uhd::fs_path &tx_fe_corr_path, const double lo_freq); +    void _set_command_time(const uhd::time_spec_t &spec, const size_t port);      void set_fe_cmd_time(const time_spec_t &time, const size_t chan);  private: // members  | 
