From d454ab4c73f15a3fdc8f52cef9c27eae6d3dbc93 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Tue, 16 Feb 2010 14:21:34 -0800 Subject: Created dboard wrapper in the usrp2 impl --- lib/usrp/mboard/usrp2_impl.hpp | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) (limited to 'lib/usrp/mboard/usrp2_impl.hpp') diff --git a/lib/usrp/mboard/usrp2_impl.hpp b/lib/usrp/mboard/usrp2_impl.hpp index 0c2c2292e..23f81d711 100644 --- a/lib/usrp/mboard/usrp2_impl.hpp +++ b/lib/usrp/mboard/usrp2_impl.hpp @@ -17,13 +17,38 @@ #include #include +#include #include #include +#include #include "usrp2_fw_common.h" #ifndef INCLUDED_USRP2_IMPL_HPP #define INCLUDED_USRP2_IMPL_HPP +/*********************************************************************** + * USRP2 DBoard Wrapper + **********************************************************************/ +class usrp2_dboard : boost::noncopyable, public wax::obj{ +public: + typedef boost::shared_ptr sptr; + enum type_t {TYPE_RX, TYPE_TX}; + + usrp2_dboard(uhd::usrp::dboard::manager::sptr manager, type_t type); + + ~usrp2_dboard(void); + + void get(const wax::obj &, wax::obj &); + void set(const wax::obj &, const wax::obj &); + +private: + uhd::usrp::dboard::manager::sptr _mgr; + type_t _type; +}; + +/*********************************************************************** + * USRP2 Implementation + **********************************************************************/ class usrp2_impl : boost::noncopyable{ public: typedef boost::shared_ptr sptr; @@ -37,14 +62,18 @@ public: usrp2_ctrl_data_t ctrl_send_and_recv(const usrp2_ctrl_data_t &); + void get(const wax::obj &, wax::obj &); + void set(const wax::obj &, const wax::obj &); + private: uhd::transport::udp::sptr _ctrl_transport; uhd::transport::udp::sptr _data_transport; uint32_t _ctrl_seq_num; + boost::mutex _ctrl_mutex; - uhd::usrp::dboard::manager::sptr _dboard_manager; - uhd::usrp::dboard::interface::sptr _dboard_interface; + uhd::dict _rx_dboards; + uhd::dict _tx_dboards; }; #endif /* INCLUDED_USRP2_IMPL_HPP */ -- cgit v1.2.3