diff options
Diffstat (limited to 'host/lib')
| -rw-r--r-- | host/lib/usrp/usrp1/mboard_impl.cpp | 15 | 
1 files changed, 15 insertions, 0 deletions
| diff --git a/host/lib/usrp/usrp1/mboard_impl.cpp b/host/lib/usrp/usrp1/mboard_impl.cpp index 8555577f5..a90532cb8 100644 --- a/host/lib/usrp/usrp1/mboard_impl.cpp +++ b/host/lib/usrp/usrp1/mboard_impl.cpp @@ -30,6 +30,7 @@  #include <boost/assign/list_of.hpp>  #include <boost/foreach.hpp>  #include <boost/bind.hpp> +#include <boost/thread/thread.hpp>  #include <iostream>  using namespace uhd; @@ -251,6 +252,20 @@ void usrp1_impl::mboard_get(const wax::obj &key_, wax::obj &val)  {      named_prop_t key = named_prop_t::extract(key_); +    if(key_.type() == typeid(std::string)) { +      if(key.as<std::string>() == "serial") { +        uhd::byte_vector_t buf; +        buf.insert(buf.begin(), 248); +        boost::this_thread::sleep(boost::posix_time::milliseconds(100)); +        _iface->write_i2c(I2C_DEV_EEPROM, buf); +        boost::this_thread::sleep(boost::posix_time::milliseconds(100)); +        buf = _iface->read_i2c(I2C_DEV_EEPROM, 8); +        val = std::string(buf.begin(), buf.end()); +      } + +      return; +   	} +      //handle the get request conditioned on the key      switch(key.as<mboard_prop_t>()){      case MBOARD_PROP_NAME: | 
