diff options
Diffstat (limited to 'include/uhd/usrp/mboard')
-rw-r--r-- | include/uhd/usrp/mboard/.gitignore | 2 | ||||
-rw-r--r-- | include/uhd/usrp/mboard/Makefile.am | 26 | ||||
-rw-r--r-- | include/uhd/usrp/mboard/base.hpp | 45 | ||||
-rw-r--r-- | include/uhd/usrp/mboard/test.hpp | 46 | ||||
-rw-r--r-- | include/uhd/usrp/mboard/usrp2.hpp | 53 |
5 files changed, 172 insertions, 0 deletions
diff --git a/include/uhd/usrp/mboard/.gitignore b/include/uhd/usrp/mboard/.gitignore new file mode 100644 index 000000000..b336cc7ce --- /dev/null +++ b/include/uhd/usrp/mboard/.gitignore @@ -0,0 +1,2 @@ +/Makefile +/Makefile.in diff --git a/include/uhd/usrp/mboard/Makefile.am b/include/uhd/usrp/mboard/Makefile.am new file mode 100644 index 000000000..6a85d354e --- /dev/null +++ b/include/uhd/usrp/mboard/Makefile.am @@ -0,0 +1,26 @@ +# +# Copyright 2010 Ettus Research LLC +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +include $(top_srcdir)/Makefile.common + +SUBDIRS = + +this_includedir = $(includedir)/uhd/usrp/mboard +this_include_HEADERS = \ + base.hpp \ + test.hpp \ + usrp2.hpp diff --git a/include/uhd/usrp/mboard/base.hpp b/include/uhd/usrp/mboard/base.hpp new file mode 100644 index 000000000..a8de81a7e --- /dev/null +++ b/include/uhd/usrp/mboard/base.hpp @@ -0,0 +1,45 @@ +// +// Copyright 2010 Ettus Research LLC +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. +// + +#ifndef INCLUDED_UHD_USRP_MBOARD_BASE_HPP +#define INCLUDED_UHD_USRP_MBOARD_BASE_HPP + +#include <uhd/wax.hpp> +#include <boost/utility.hpp> +#include <boost/shared_ptr.hpp> + +namespace uhd{ namespace usrp{ namespace mboard{ + +/*! + * A base class for usrp mboard objects. + */ +class base : boost::noncopyable, public wax::obj{ +public: + typedef boost::shared_ptr<base> sptr; + base(void); + ~base(void); + + //TODO other api calls + +private: + virtual void get(const wax::obj &, wax::obj &) = 0; + virtual void set(const wax::obj &, const wax::obj &) = 0; +}; + +}}} //namespace + +#endif /* INCLUDED_UHD_USRP_MBOARD_BASE_HPP */ diff --git a/include/uhd/usrp/mboard/test.hpp b/include/uhd/usrp/mboard/test.hpp new file mode 100644 index 000000000..be435930b --- /dev/null +++ b/include/uhd/usrp/mboard/test.hpp @@ -0,0 +1,46 @@ +// +// Copyright 2010 Ettus Research LLC +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. +// + +#ifndef INCLUDED_UHD_USRP_MBOARD_TEST_HPP +#define INCLUDED_UHD_USRP_MBOARD_TEST_HPP + +#include <uhd/usrp/mboard/base.hpp> +#include <uhd/device_addr.hpp> +#include <uhd/usrp/dboard/manager.hpp> +#include <map> + +namespace uhd{ namespace usrp{ namespace mboard{ + +/*! + * A test usrp mboard object. + * Exercises access routines for the test suite. + */ +class test : public base{ +public: + test(const device_addr_t &); + ~test(void); + +private: + void get(const wax::obj &, wax::obj &); + void set(const wax::obj &, const wax::obj &); + + std::map<std::string, dboard::manager::sptr> _dboard_managers; +}; + +}}} //namespace + +#endif /* INCLUDED_UHD_USRP_MBOARD_TEST_HPP */ diff --git a/include/uhd/usrp/mboard/usrp2.hpp b/include/uhd/usrp/mboard/usrp2.hpp new file mode 100644 index 000000000..8c2430dbd --- /dev/null +++ b/include/uhd/usrp/mboard/usrp2.hpp @@ -0,0 +1,53 @@ +// +// Copyright 2010 Ettus Research LLC +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. +// + +#ifndef INCLUDED_UHD_USRP_MBOARD_USRP2_HPP +#define INCLUDED_UHD_USRP_MBOARD_USRP2_HPP + +#include <uhd/usrp/mboard/base.hpp> +#include <uhd/device_addr.hpp> +#include <uhd/usrp/dboard/manager.hpp> +#include <map> + +namespace uhd{ namespace usrp{ namespace mboard{ + +/*! + * The usrp2 mboard class. + */ +class usrp2 : public base{ +public: + /*! + * Discover usrp2 devices over the ethernet. + * This static method will be called by the device::discover. + * \param hint a device addr with the usrp2 address filled in + * \return a vector of device addresses for all usrp2s found + */ + static std::vector<device_addr_t> discover(const device_addr_t &hint); + + usrp2(const device_addr_t &); + ~usrp2(void); + +private: + void get(const wax::obj &, wax::obj &); + void set(const wax::obj &, const wax::obj &); + + std::map<std::string, dboard::manager::sptr> _dboard_managers; +}; + +}}} //namespace + +#endif /* INCLUDED_UHD_USRP_MBOARD_USRP2_HPP */ |