GNU Radio's OsmoSDR Package
uhd_source_c.h
Go to the documentation of this file.
1
/* -*- c++ -*- */
2
/*
3
* Copyright 2012 Dimitri Stolnikov <horiz0n@gmx.net>
4
*
5
* GNU Radio is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation; either version 3, or (at your option)
8
* any later version.
9
*
10
* GNU Radio is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with GNU Radio; see the file COPYING. If not, write to
17
* the Free Software Foundation, Inc., 51 Franklin Street,
18
* Boston, MA 02110-1301, USA.
19
*/
20
#ifndef UHD_SOURCE_C_H
21
#define UHD_SOURCE_C_H
22
23
#include <gr_hier_block2.h>
24
25
#include <gr_uhd_usrp_source.h>
26
27
#include "
osmosdr_src_iface.h
"
28
29
class
uhd_source_c
;
30
31
typedef
boost::shared_ptr< uhd_source_c > uhd_source_c_sptr;
32
33
uhd_source_c_sptr
make_uhd_source_c
(
const
std::string &args =
""
);
34
35
class
uhd_source_c
:
36
public
gr_hier_block2,
37
public
osmosdr_src_iface
38
{
39
private
:
40
friend
uhd_source_c_sptr
make_uhd_source_c
(
const
std::string &args);
41
42
uhd_source_c
(
const
std::string &args);
43
44
public
:
45
~uhd_source_c
();
46
47
static
std::vector< std::string >
get_devices
();
48
49
std::string
name
();
50
51
size_t
get_num_channels
(
void
);
52
53
osmosdr::meta_range_t
get_sample_rates
(
void
);
54
double
set_sample_rate
(
double
rate );
55
double
get_sample_rate
(
void
);
56
57
osmosdr::freq_range_t
get_freq_range
(
size_t
chan = 0 );
58
double
set_center_freq
(
double
freq,
size_t
chan = 0 );
59
double
get_center_freq
(
size_t
chan = 0 );
60
double
set_freq_corr
(
double
ppm,
size_t
chan = 0 );
61
double
get_freq_corr
(
size_t
chan = 0 );
62
63
std::vector<std::string>
get_gain_names
(
size_t
chan = 0 );
64
osmosdr::gain_range_t
get_gain_range
(
size_t
chan = 0 );
65
osmosdr::gain_range_t
get_gain_range
(
const
std::string & name,
size_t
chan = 0 );
66
double
set_gain
(
double
gain,
size_t
chan = 0 );
67
double
set_gain
(
double
gain,
const
std::string & name,
size_t
chan = 0 );
68
double
get_gain
(
size_t
chan = 0 );
69
double
get_gain
(
const
std::string & name,
size_t
chan = 0 );
70
71
std::vector< std::string >
get_antennas
(
size_t
chan = 0 );
72
std::string
set_antenna
(
const
std::string & antenna,
size_t
chan = 0 );
73
std::string
get_antenna
(
size_t
chan = 0 );
74
75
private
:
76
double
_lo_offset;
77
boost::shared_ptr<uhd_usrp_source> _src;
78
};
79
80
#endif // UHD_SOURCE_C_H
lib
uhd
uhd_source_c.h
Generated by
1.8.4