aboutsummaryrefslogtreecommitdiffstats
path: root/include/usrp_uhd/usrp/mboard
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2010-01-21 15:30:34 -0800
committerJosh Blum <josh@joshknows.com>2010-01-21 15:30:34 -0800
commite3483c7451d20b7ed1d8d4865e15751f18cdef78 (patch)
treef309a95a1b0ecd3dc3295ebc71ee5ad697c9f7a8 /include/usrp_uhd/usrp/mboard
parent5b42b774d9ac1e74fb2916bf58085fe19ecb6720 (diff)
downloaduhd-e3483c7451d20b7ed1d8d4865e15751f18cdef78.tar.gz
uhd-e3483c7451d20b7ed1d8d4865e15751f18cdef78.tar.bz2
uhd-e3483c7451d20b7ed1d8d4865e15751f18cdef78.zip
Added a usrp device abstration that creates usrp mboards.
Added a usrp mboard named test, its empty for now.
Diffstat (limited to 'include/usrp_uhd/usrp/mboard')
-rw-r--r--include/usrp_uhd/usrp/mboard/Makefile.am5
-rw-r--r--include/usrp_uhd/usrp/mboard/base.hpp32
-rw-r--r--include/usrp_uhd/usrp/mboard/test.hpp29
3 files changed, 66 insertions, 0 deletions
diff --git a/include/usrp_uhd/usrp/mboard/Makefile.am b/include/usrp_uhd/usrp/mboard/Makefile.am
index 66fc4dd71..3197353ce 100644
--- a/include/usrp_uhd/usrp/mboard/Makefile.am
+++ b/include/usrp_uhd/usrp/mboard/Makefile.am
@@ -5,3 +5,8 @@
include $(top_srcdir)/Makefile.common
SUBDIRS =
+
+this_includedir = $(includedir)/usrp_uhd/usrp/mboard
+this_include_HEADERS = \
+ base.hpp \
+ test.hpp
diff --git a/include/usrp_uhd/usrp/mboard/base.hpp b/include/usrp_uhd/usrp/mboard/base.hpp
new file mode 100644
index 000000000..ef455151b
--- /dev/null
+++ b/include/usrp_uhd/usrp/mboard/base.hpp
@@ -0,0 +1,32 @@
+//
+// Copyright 2010 Ettus Research LLC
+//
+
+#ifndef INCLUDED_USRP_UHD_USRP_MBOARD_BASE_HPP
+#define INCLUDED_USRP_UHD_USRP_MBOARD_BASE_HPP
+
+#include <usrp_uhd/wax.hpp>
+#include <boost/utility.hpp>
+#include <boost/shared_ptr.hpp>
+
+namespace usrp_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::type &, wax::type &) = 0;
+ virtual void set(const wax::type &, const wax::type &) = 0;
+};
+
+}}} //namespace
+
+#endif /* INCLUDED_USRP_UHD_USRP_MBOARD_BASE_HPP */
diff --git a/include/usrp_uhd/usrp/mboard/test.hpp b/include/usrp_uhd/usrp/mboard/test.hpp
new file mode 100644
index 000000000..f3c2899cf
--- /dev/null
+++ b/include/usrp_uhd/usrp/mboard/test.hpp
@@ -0,0 +1,29 @@
+//
+// Copyright 2010 Ettus Research LLC
+//
+
+#ifndef INCLUDED_USRP_UHD_USRP_MBOARD_TEST_HPP
+#define INCLUDED_USRP_UHD_USRP_MBOARD_TEST_HPP
+
+#include <usrp_uhd/usrp/mboard/base.hpp>
+#include <usrp_uhd/device_addr.hpp>
+
+namespace usrp_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::type &, wax::type &);
+ void set(const wax::type &, const wax::type &);
+};
+
+}}} //namespace
+
+#endif /* INCLUDED_USRP_UHD_USRP_MBOARD_TEST_HPP */