diff options
Diffstat (limited to 'lib/usrp')
| -rw-r--r-- | lib/usrp/dboard/Makefile.am | 1 | ||||
| -rw-r--r-- | lib/usrp/dboard/id.cpp | 27 | ||||
| -rw-r--r-- | lib/usrp/dboard/manager.cpp | 11 | ||||
| -rw-r--r-- | lib/usrp/mboard/test.cpp | 2 | 
4 files changed, 35 insertions, 6 deletions
| diff --git a/lib/usrp/dboard/Makefile.am b/lib/usrp/dboard/Makefile.am index 20d28c9ed..3d14fc115 100644 --- a/lib/usrp/dboard/Makefile.am +++ b/lib/usrp/dboard/Makefile.am @@ -16,6 +16,7 @@ dboard_sources = \  lib_la_SOURCES = \  	$(dboard_sources) \  	base.cpp \ +	id.cpp \  	interface.cpp \  	manager.cpp diff --git a/lib/usrp/dboard/id.cpp b/lib/usrp/dboard/id.cpp new file mode 100644 index 000000000..0aee3439e --- /dev/null +++ b/lib/usrp/dboard/id.cpp @@ -0,0 +1,27 @@ +// +// Copyright 2010 Ettus Research LLC +// + +#include <usrp_uhd/usrp/dboard/id.hpp> +#include <boost/assign/list_of.hpp> +#include <boost/format.hpp> +#include <map> + +using namespace usrp_uhd::usrp::dboard; + +std::ostream& operator<<(std::ostream &os, const dboard_id_t &id){ +    //map the dboard ids to string representations +    std::map<dboard_id_t, std::string> id_to_str = boost::assign::map_list_of +        (ID_BASIC_TX, "basic tx") +        (ID_BASIC_RX, "basic rx") +    ; + +    //get the string representation +    if (id_to_str.count(id) != 0){ +        os << id_to_str[id]; +    } +    else{ +        os << boost::format("dboard id %u") % unsigned(id); +    } +    return os; +} diff --git a/lib/usrp/dboard/manager.cpp b/lib/usrp/dboard/manager.cpp index e9d973cb5..43152a064 100644 --- a/lib/usrp/dboard/manager.cpp +++ b/lib/usrp/dboard/manager.cpp @@ -11,6 +11,7 @@  using namespace usrp_uhd;  using namespace usrp_uhd::usrp::dboard; +using namespace boost::assign;  /***********************************************************************   * register internal dboards @@ -28,16 +29,16 @@ static void register_internal_dboards(void){      //ensure that this function can only be called once per instance      static bool called = false;      if (called) return; called = true; -    //register the known dboards (dboard id, constructor, num subdevs) -    manager::register_subdevs(0x0000, &basic_tx::make, boost::assign::list_of("")); -    manager::register_subdevs(0x0001, &basic_rx::make, boost::assign::list_of("a")("b")("ab")); +    //register the known dboards (dboard id, constructor, subdev names) +    manager::register_subdevs(ID_BASIC_TX, &basic_tx::make, list_of("")); +    manager::register_subdevs(ID_BASIC_RX, &basic_rx::make, list_of("a")("b")("ab"));  }  /***********************************************************************   * storage and registering for dboards   **********************************************************************/  //map a dboard id to a dboard constructor -static std::map<manager::dboard_id_t, manager::dboard_ctor_t> id_to_ctor_map; +static std::map<dboard_id_t, manager::dboard_ctor_t> id_to_ctor_map;  //map a dboard constructor to subdevice names  static std::map<manager::dboard_ctor_t, prop_names_t> ctor_to_names_map; @@ -99,7 +100,7 @@ private:   * dboard manager methods   **********************************************************************/  static manager::dboard_ctor_t const& get_dboard_ctor( -    manager::dboard_id_t dboard_id, +    dboard_id_t dboard_id,      std::string const& xx_type  ){      //verify that there is a registered constructor for this id diff --git a/lib/usrp/mboard/test.cpp b/lib/usrp/mboard/test.cpp index 321ec0855..f3bcca670 100644 --- a/lib/usrp/mboard/test.cpp +++ b/lib/usrp/mboard/test.cpp @@ -100,7 +100,7 @@ test::test(const device_addr_t &device_addr){      for (size_t i = 0; i < device_addr.virtual_args.num_dboards; i++){          dboard::interface::sptr ifc(new dummy_interface());          _dboard_managers[boost::lexical_cast<std::string>(i)] = dboard::manager::sptr( -            new dboard::manager(0x0001, 0x0000, ifc) +            new dboard::manager(dboard::ID_BASIC_RX, dboard::ID_BASIC_TX, ifc)          );      }  } | 
