diff options
author | Nick Foster <nick@ettus.com> | 2011-09-01 12:48:16 -0700 |
---|---|---|
committer | Josh Blum <josh@joshknows.com> | 2011-09-23 16:46:26 -0700 |
commit | b998964ca78e3d7927c82680c167aebf9cabae73 (patch) | |
tree | e971460694fc71a7224ee3a93e38af68d7aa6d08 /host/lib/usrp/b100/dboard_iface.cpp | |
parent | d5d448eb8f19d73c7abbef5d5a49e9c4cd24fee2 (diff) | |
download | uhd-b998964ca78e3d7927c82680c167aebf9cabae73.tar.gz uhd-b998964ca78e3d7927c82680c167aebf9cabae73.tar.bz2 uhd-b998964ca78e3d7927c82680c167aebf9cabae73.zip |
B100: unshadow dboard clock rates so you can set master freq after init and still tune ok
Diffstat (limited to 'host/lib/usrp/b100/dboard_iface.cpp')
-rw-r--r-- | host/lib/usrp/b100/dboard_iface.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/host/lib/usrp/b100/dboard_iface.cpp b/host/lib/usrp/b100/dboard_iface.cpp index 33c4b355d..229215a4e 100644 --- a/host/lib/usrp/b100/dboard_iface.cpp +++ b/host/lib/usrp/b100/dboard_iface.cpp @@ -104,7 +104,6 @@ private: spi_iface::sptr _spi_iface; b100_clock_ctrl::sptr _clock; b100_codec_ctrl::sptr _codec; - uhd::dict<unit_t, double> _clock_rates; }; /*********************************************************************** @@ -124,7 +123,6 @@ dboard_iface::sptr make_b100_dboard_iface( * Clock Rates **********************************************************************/ void b100_dboard_iface::set_clock_rate(unit_t unit, double rate){ - _clock_rates[unit] = rate; switch(unit){ case UNIT_RX: return _clock->set_rx_dboard_clock_rate(rate); case UNIT_TX: return _clock->set_tx_dboard_clock_rate(rate); @@ -140,7 +138,11 @@ std::vector<double> b100_dboard_iface::get_clock_rates(unit_t unit){ } double b100_dboard_iface::get_clock_rate(unit_t unit){ - return _clock_rates[unit]; + switch(unit){ + case UNIT_RX: return _clock->get_rx_clock_rate(); + case UNIT_TX: return _clock->get_tx_clock_rate(); + } + UHD_THROW_INVALID_CODE_PATH(); } void b100_dboard_iface::set_clock_enabled(unit_t unit, bool enb){ @@ -244,7 +246,7 @@ static boost::uint32_t unit_to_otw_spi_dev(dboard_iface::unit_t unit){ case dboard_iface::UNIT_TX: return B100_SPI_SS_TX_DB; case dboard_iface::UNIT_RX: return B100_SPI_SS_RX_DB; } - throw std::invalid_argument("unknown unit type"); + UHD_THROW_INVALID_CODE_PATH(); } void b100_dboard_iface::write_spi( @@ -253,7 +255,7 @@ void b100_dboard_iface::write_spi( boost::uint32_t data, size_t num_bits ){ - _spi_iface->transact_spi(unit_to_otw_spi_dev(unit), config, data, num_bits, false /*no rb*/); + _spi_iface->write_spi(unit_to_otw_spi_dev(unit), config, data, num_bits); } boost::uint32_t b100_dboard_iface::read_write_spi( @@ -262,7 +264,7 @@ boost::uint32_t b100_dboard_iface::read_write_spi( boost::uint32_t data, size_t num_bits ){ - return _spi_iface->transact_spi(unit_to_otw_spi_dev(unit), config, data, num_bits, true /*rb*/); + return _spi_iface->read_spi(unit_to_otw_spi_dev(unit), config, data, num_bits); } /*********************************************************************** |