USRP Hardware Driver and USRP Manual
Version: 003.008.003-release
UHD and USRP Manual
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
stream.hpp
Go to the documentation of this file.
1
//
2
// Copyright 2011-2013 Ettus Research LLC
3
//
4
// This program is free software: you can redistribute it and/or modify
5
// it under the terms of the GNU General Public License as published by
6
// the Free Software Foundation, either version 3 of the License, or
7
// (at your option) any later version.
8
//
9
// This program is distributed in the hope that it will be useful,
10
// but WITHOUT ANY WARRANTY; without even the implied warranty of
11
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
// GNU General Public License for more details.
13
//
14
// You should have received a copy of the GNU General Public License
15
// along with this program. If not, see <http://www.gnu.org/licenses/>.
16
//
17
18
#ifndef INCLUDED_UHD_STREAM_HPP
19
#define INCLUDED_UHD_STREAM_HPP
20
21
#include <
uhd/config.hpp
>
22
#include <
uhd/types/metadata.hpp
>
23
#include <
uhd/types/device_addr.hpp
>
24
#include <
uhd/types/stream_cmd.hpp
>
25
#include <
uhd/types/ref_vector.hpp
>
26
#include <boost/utility.hpp>
27
#include <boost/shared_ptr.hpp>
28
#include <vector>
29
#include <string>
30
31
namespace
uhd{
32
57
struct
UHD_API
stream_args_t
{
58
60
stream_args_t
(
61
const
std::string &cpu =
""
,
62
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
153
device_addr_t
args
;
154
174
std::vector<size_t>
channels
;
175
};
176
182
class
UHD_API
rx_streamer
: boost::noncopyable{
183
public
:
184
typedef
boost::shared_ptr<rx_streamer>
sptr
;
185
186
virtual
~
rx_streamer
(
void
);
187
189
virtual
size_t
get_num_channels(
void
)
const
= 0;
190
192
virtual
size_t
get_max_num_samps(
void
)
const
= 0;
193
195
typedef
ref_vector<void *>
buffs_type
;
196
227
virtual
size_t
recv
(
228
const
buffs_type
&buffs,
229
const
size_t
nsamps_per_buff,
230
rx_metadata_t
&metadata,
231
const
double
timeout = 0.1,
232
const
bool
one_packet =
false
233
) = 0;
234
246
virtual
void
issue_stream_cmd(
const
stream_cmd_t
&stream_cmd) = 0;
247
};
248
254
class
UHD_API
tx_streamer
: boost::noncopyable{
255
public
:
256
typedef
boost::shared_ptr<tx_streamer>
sptr
;
257
258
virtual
~
tx_streamer
(
void
);
259
261
virtual
size_t
get_num_channels(
void
)
const
= 0;
262
264
virtual
size_t
get_max_num_samps(
void
)
const
= 0;
265
267
typedef
ref_vector<const void *>
buffs_type
;
268
290
virtual
size_t
send
(
291
const
buffs_type
&buffs,
292
const
size_t
nsamps_per_buff,
293
const
tx_metadata_t
&metadata,
294
const
double
timeout = 0.1
295
) = 0;
296
303
virtual
bool
recv_async_msg
(
304
async_metadata_t
&async_metadata,
double
timeout = 0.1
305
) = 0;
306
};
307
308
}
//namespace uhd
309
310
#endif
/* INCLUDED_UHD_STREAM_HPP */
include
uhd
stream.hpp
Generated on Sat May 3 2014 20:22:56 for USRP Hardware Driver and USRP Manual by
1.8.3.1