USRP Hardware Driver and USRP Manual Version: 3.15.0.0-MacPorts-Release
UHD and USRP Manual
 
Loading...
Searching...
No Matches
stream.hpp
Go to the documentation of this file.
1//
2// Copyright 2011-2013 Ettus Research LLC
3// Copyright 2018 Ettus Research, a National Instruments Company
4//
5// SPDX-License-Identifier: GPL-3.0-or-later
6//
7
8#ifndef INCLUDED_UHD_STREAM_HPP
9#define INCLUDED_UHD_STREAM_HPP
10
11#include <uhd/config.hpp>
17#include <boost/shared_ptr.hpp>
18#include <boost/utility.hpp>
19#include <string>
20#include <vector>
21
22namespace uhd {
23
60{
62 stream_args_t(const std::string& cpu = "", const std::string& otw = "")
63 {
64 cpu_format = cpu;
65 otw_format = otw;
66 }
67
84 std::string cpu_format;
85
104 std::string otw_format;
105
142
162 std::vector<size_t> channels;
163};
164
171{
172public:
173 typedef boost::shared_ptr<rx_streamer> sptr;
174
175 virtual ~rx_streamer(void);
176
178 virtual size_t get_num_channels(void) const = 0;
179
181 virtual size_t get_max_num_samps(void) const = 0;
182
185
223 virtual size_t recv(const buffs_type& buffs,
224 const size_t nsamps_per_buff,
225 rx_metadata_t& metadata,
226 const double timeout = 0.1,
227 const bool one_packet = false) = 0;
228
240 virtual void issue_stream_cmd(const stream_cmd_t& stream_cmd) = 0;
241};
242
249{
250public:
251 typedef boost::shared_ptr<tx_streamer> sptr;
252
253 virtual ~tx_streamer(void);
254
256 virtual size_t get_num_channels(void) const = 0;
257
259 virtual size_t get_max_num_samps(void) const = 0;
260
263
292 virtual size_t send(const buffs_type& buffs,
293 const size_t nsamps_per_buff,
294 const tx_metadata_t& metadata,
295 const double timeout = 0.1) = 0;
296
303 virtual bool recv_async_msg(
304 async_metadata_t& async_metadata, double timeout = 0.1) = 0;
305};
306
307} // namespace uhd
308
309#endif /* INCLUDED_UHD_STREAM_HPP */
Definition device_addr.hpp:39
Definition ref_vector.hpp:22
Definition stream.hpp:171
ref_vector< void * > buffs_type
Typedef for a pointer to a single, or a collection of recv buffers.
Definition stream.hpp:184
virtual ~rx_streamer(void)
boost::shared_ptr< rx_streamer > sptr
Definition stream.hpp:173
virtual void issue_stream_cmd(const stream_cmd_t &stream_cmd)=0
virtual size_t get_num_channels(void) const =0
Get the number of channels associated with this streamer.
virtual size_t get_max_num_samps(void) const =0
Get the max number of samples per buffer per packet.
virtual size_t recv(const buffs_type &buffs, const size_t nsamps_per_buff, rx_metadata_t &metadata, const double timeout=0.1, const bool one_packet=false)=0
Definition stream.hpp:249
virtual ~tx_streamer(void)
boost::shared_ptr< tx_streamer > sptr
Definition stream.hpp:251
virtual bool recv_async_msg(async_metadata_t &async_metadata, double timeout=0.1)=0
ref_vector< const void * > buffs_type
Typedef for a pointer to a single, or a collection of send buffers.
Definition stream.hpp:262
virtual size_t get_max_num_samps(void) const =0
Get the max number of samples per buffer per packet.
virtual size_t send(const buffs_type &buffs, const size_t nsamps_per_buff, const tx_metadata_t &metadata, const double timeout=0.1)=0
virtual size_t get_num_channels(void) const =0
Get the number of channels associated with this streamer.
#define UHD_API
Definition config.h:68
Definition build_info.hpp:13
boost::noncopyable noncopyable
Definition noncopyable.hpp:46
Definition metadata.hpp:164
Definition metadata.hpp:24
Definition stream.hpp:60
std::string otw_format
Definition stream.hpp:104
device_addr_t args
Definition stream.hpp:141
std::string cpu_format
Definition stream.hpp:84
stream_args_t(const std::string &cpu="", const std::string &otw="")
Convenience constructor for streamer args.
Definition stream.hpp:62
std::vector< size_t > channels
Definition stream.hpp:162
Definition stream_cmd.hpp:37
Definition metadata.hpp:136