diff options
author | Josh Blum <josh@joshknows.com> | 2011-07-02 19:35:33 -0700 |
---|---|---|
committer | Josh Blum <josh@joshknows.com> | 2011-07-02 19:35:33 -0700 |
commit | 1ef40895952f94ccd21fca48033b5a14d7e4ff30 (patch) | |
tree | 9fc59f12a745cb6a0852c3645a8544100b0fabad /host/lib/usrp/usrp1/soft_time_ctrl.hpp | |
parent | 4bcab9c56aad7e08bd392b82cc52ae2f4f5a830c (diff) | |
download | uhd-1ef40895952f94ccd21fca48033b5a14d7e4ff30.tar.gz uhd-1ef40895952f94ccd21fca48033b5a14d7e4ff30.tar.bz2 uhd-1ef40895952f94ccd21fca48033b5a14d7e4ff30.zip |
usrp1: tweaks + implemented other features to mimic async and inline messages
Moved the underflow/overflow polling into a thread and out of the fast-path.
Added an inline and async message queue into soft time control.
Error and status messages are actually generated now and enqueued.
Passes the async message test...
Diffstat (limited to 'host/lib/usrp/usrp1/soft_time_ctrl.hpp')
-rw-r--r-- | host/lib/usrp/usrp1/soft_time_ctrl.hpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/host/lib/usrp/usrp1/soft_time_ctrl.hpp b/host/lib/usrp/usrp1/soft_time_ctrl.hpp index 7fdac7fc8..b2bf6c6f9 100644 --- a/host/lib/usrp/usrp1/soft_time_ctrl.hpp +++ b/host/lib/usrp/usrp1/soft_time_ctrl.hpp @@ -21,6 +21,7 @@ #include <uhd/types/stream_cmd.hpp> #include <uhd/types/time_spec.hpp> #include <uhd/types/metadata.hpp> +#include <uhd/transport/bounded_buffer.hpp> #include <boost/utility.hpp> #include <boost/shared_ptr.hpp> #include <boost/function.hpp> @@ -45,8 +46,6 @@ public: * \return a new soft time control object */ static sptr make(const cb_fcn_type &stream_on_off); - //TODO pass in the error queue for async msgs - //TODO pass in the queue for inline msgs //! Set the current time virtual void set_time(const time_spec_t &time) = 0; @@ -62,6 +61,12 @@ public: //! Issue a stream command to receive virtual void issue_stream_cmd(const stream_cmd_t &cmd) = 0; + + //! Get access to a buffer of async metadata + virtual transport::bounded_buffer<async_metadata_t> &get_async_queue(void) = 0; + + //! Get access to a buffer of inline metadata + virtual transport::bounded_buffer<rx_metadata_t> &get_inline_queue(void) = 0; }; }} //namespace |