From b6b507ccfcf31cead47faff4a2ba5550d0469113 Mon Sep 17 00:00:00 2001 From: Trung Tran Date: Fri, 3 Aug 2018 09:09:03 -0700 Subject: uhd: rfnoc: add async message handler --- host/lib/include/uhdlib/rfnoc/graph_impl.hpp | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'host/lib/include/uhdlib/rfnoc/graph_impl.hpp') 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 #include @@ -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 device_ptr - //async_msg_handler::sptr msg_handler + boost::weak_ptr 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 _block_id_map; + + //! For any given block, look up the MIMO group + std::map _mimo_group_map; + + //! For any MIMO group, store the list of blocks in that group + std::map > _mimo_groups; + //! Optional: A string to describe this graph const std::string _name; //! Reference to the generating device object const boost::weak_ptr _device_ptr; + //! Reference to the async message handler + async_msg_handler::sptr _msg_handler; }; }} /* namespace uhd::rfnoc */ -- cgit v1.2.3