diff options
| author | Ashish Chaudhari <ashish@ettus.com> | 2015-10-15 13:58:34 -0700 | 
|---|---|---|
| committer | Ashish Chaudhari <ashish@ettus.com> | 2016-02-18 09:07:26 -0800 | 
| commit | 2d68f228888807d0fd76c7b759ec39fd86523f67 (patch) | |
| tree | 0665569a3f78a2ed5b619417d60d0426bdb40192 | |
| parent | c37ab6091c48b3486b7af745f0a61cdf7db9fc42 (diff) | |
| download | uhd-2d68f228888807d0fd76c7b759ec39fd86523f67.tar.gz uhd-2d68f228888807d0fd76c7b759ec39fd86523f67.tar.bz2 uhd-2d68f228888807d0fd76c7b759ec39fd86523f67.zip | |
x300: Added capability to write_spi to BOTH channels in dboard_iface
| -rw-r--r-- | host/lib/usrp/x300/x300_dboard_iface.cpp | 14 | 
1 files changed, 8 insertions, 6 deletions
| diff --git a/host/lib/usrp/x300/x300_dboard_iface.cpp b/host/lib/usrp/x300/x300_dboard_iface.cpp index 981976867..ef55368c8 100644 --- a/host/lib/usrp/x300/x300_dboard_iface.cpp +++ b/host/lib/usrp/x300/x300_dboard_iface.cpp @@ -245,17 +245,17 @@ boost::uint32_t x300_dboard_iface::read_gpio(unit_t unit)  /***********************************************************************   * SPI   **********************************************************************/ -#define toslaveno(unit) \ -    (((unit) == dboard_iface::UNIT_TX)? _config.tx_spi_slaveno : _config.rx_spi_slaveno) -  void x300_dboard_iface::write_spi(      unit_t unit,      const spi_config_t &config,      boost::uint32_t data,      size_t num_bits  ){ -    if (unit == UNIT_BOTH) throw uhd::runtime_error("UNIT_BOTH not supported."); -    _config.spi->write_spi(toslaveno(unit), config, data, num_bits); +    boost::uint32_t slave = 0; +    if (unit == UNIT_TX) slave |= _config.tx_spi_slaveno; +    if (unit == UNIT_RX) slave |= _config.rx_spi_slaveno; + +    _config.spi->write_spi(int(slave), config, data, num_bits);  }  boost::uint32_t x300_dboard_iface::read_write_spi( @@ -265,7 +265,9 @@ boost::uint32_t x300_dboard_iface::read_write_spi(      size_t num_bits  ){      if (unit == UNIT_BOTH) throw uhd::runtime_error("UNIT_BOTH not supported."); -    return _config.spi->read_spi(toslaveno(unit), config, data, num_bits); +    return _config.spi->read_spi( +        (unit==dboard_iface::UNIT_TX)?_config.tx_spi_slaveno:_config.rx_spi_slaveno, +        config, data, num_bits);  }  /*********************************************************************** | 
