diff options
author | Josh Blum <josh@joshknows.com> | 2010-05-08 01:58:10 +0000 |
---|---|---|
committer | Josh Blum <josh@joshknows.com> | 2010-05-08 01:58:10 +0000 |
commit | 29809e9697b052fa1d0cd2109c8bd5f9af178cfa (patch) | |
tree | f4d722dbf7d0278d715e713d30e271ab9343a1b9 /host/lib/usrp/usrp_e/usrp_e_iface.cpp | |
parent | 6ef09d18def4afdd6413188ab63ee38dbae4e9d8 (diff) | |
download | uhd-29809e9697b052fa1d0cd2109c8bd5f9af178cfa.tar.gz uhd-29809e9697b052fa1d0cd2109c8bd5f9af178cfa.tar.bz2 uhd-29809e9697b052fa1d0cd2109c8bd5f9af178cfa.zip |
moved open/close into iface, work on codec tx
Diffstat (limited to 'host/lib/usrp/usrp_e/usrp_e_iface.cpp')
-rw-r--r-- | host/lib/usrp/usrp_e/usrp_e_iface.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/host/lib/usrp/usrp_e/usrp_e_iface.cpp b/host/lib/usrp/usrp_e/usrp_e_iface.cpp index 1dbe383fa..98d8ef478 100644 --- a/host/lib/usrp/usrp_e/usrp_e_iface.cpp +++ b/host/lib/usrp/usrp_e/usrp_e_iface.cpp @@ -18,6 +18,7 @@ #include "usrp_e_iface.hpp" #include <uhd/utils/assert.hpp> #include <sys/ioctl.h> //ioctl +#include <fcntl.h> //open, close #include <linux/usrp_e.h> //ioctl structures and constants #include <boost/format.hpp> #include <boost/thread.hpp> //mutex @@ -31,12 +32,18 @@ public: /******************************************************************* * Structors ******************************************************************/ - usrp_e_iface_impl(int node_fd){ - _node_fd = node_fd; + usrp_e_iface_impl(const std::string &node){ + //open the device node and check file descriptor + if ((_node_fd = ::open(node.c_str(), O_RDWR)) < 0){ + throw std::runtime_error(str( + boost::format("Failed to open %s") % node + )); + } } ~usrp_e_iface_impl(void){ - /* NOP */ + //close the device node file descriptor + ::close(_node_fd); } /******************************************************************* @@ -178,6 +185,6 @@ private: /*********************************************************************** * Public Make Function **********************************************************************/ -usrp_e_iface::sptr usrp_e_iface::make(int node_fd){ - return sptr(new usrp_e_iface_impl(node_fd)); +usrp_e_iface::sptr usrp_e_iface::make(const std::string &node){ + return sptr(new usrp_e_iface_impl(node)); } |