GNU Radio's OsmoSDR Package
fcd_source.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 FCD_SOURCE_H
21
#define FCD_SOURCE_H
22
23
#include <gr_hier_block2.h>
24
25
#include <fcd_source_c.h>
26
27
#include "
osmosdr_src_iface.h
"
28
29
class
fcd_source
;
30
31
typedef
boost::shared_ptr< fcd_source > fcd_source_sptr;
32
33
fcd_source_sptr
make_fcd_source
(
const
std::string & args =
""
);
34
35
class
fcd_source
:
36
public
gr_hier_block2,
37
public
osmosdr_src_iface
38
{
39
private
:
40
friend
fcd_source_sptr
make_fcd_source
(
const
std::string &args);
41
42
fcd_source
(
const
std::string &args);
43
44
public
:
45
~fcd_source
();
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
fcd_source_c_sptr _src;
77
double
_gain, _freq;
78
int32_t _correct;
79
};
80
81
#endif // FCD_SOURCE_H
lib
fcd
fcd_source.h
Generated by
1.8.4