diff options
Diffstat (limited to 'host/lib/include/uhdlib/rfnoc/graph_impl.hpp')
-rw-r--r-- | host/lib/include/uhdlib/rfnoc/graph_impl.hpp | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/host/lib/include/uhdlib/rfnoc/graph_impl.hpp b/host/lib/include/uhdlib/rfnoc/graph_impl.hpp index 404369618..8da88b94f 100644 --- a/host/lib/include/uhdlib/rfnoc/graph_impl.hpp +++ b/host/lib/include/uhdlib/rfnoc/graph_impl.hpp @@ -8,6 +8,7 @@ #ifndef INCLUDED_LIBUHD_RFNOC_GRAPH_IMPL_HPP #define INCLUDED_LIBUHD_RFNOC_GRAPH_IMPL_HPP +#include "async_msg_handler.hpp" #include <uhd/rfnoc/graph.hpp> #include <uhd/device3.hpp> @@ -16,6 +17,9 @@ namespace uhd { namespace rfnoc { class graph_impl : public graph { public: + /************************************************************************ + * Structors + ***********************************************************************/ /*! * \param name An optional name to describe this graph * \param device_ptr Weak pointer to the originating device3 @@ -23,10 +27,10 @@ public: */ graph_impl( const std::string &name, - boost::weak_ptr<uhd::device3> device_ptr - //async_msg_handler::sptr msg_handler + boost::weak_ptr<uhd::device3> device_ptr, + async_msg_handler::sptr msg_handler ); - virtual ~graph_impl() {}; + virtual ~graph_impl() {} /************************************************************************ * Connection API @@ -66,12 +70,25 @@ public: private: + void handle_overruns(const async_msg_t& async_msg); + + //! Maps 16-bit addresses to block IDs + std::map<uint32_t, block_id_t> _block_id_map; + + //! For any given block, look up the MIMO group + std::map<uint32_t, size_t> _mimo_group_map; + + //! For any MIMO group, store the list of blocks in that group + std::map<size_t, std::set<block_id_t> > _mimo_groups; + //! Optional: A string to describe this graph const std::string _name; //! Reference to the generating device object const boost::weak_ptr<uhd::device3> _device_ptr; + //! Reference to the async message handler + async_msg_handler::sptr _msg_handler; }; }} /* namespace uhd::rfnoc */ |