GNU Radio's OsmoSDR Package
file_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 FILE_SOURCE_C_H
21
#define FILE_SOURCE_C_H
22
23
#include <gr_hier_block2.h>
24
25
#include "
osmosdr_src_iface.h
"
26
27
class
file_source_c
;
28
29
typedef
boost::shared_ptr< file_source_c > file_source_c_sptr;
30
31
file_source_c_sptr
make_file_source_c
(
const
std::string & args =
""
);
32
33
class
file_source_c
:
34
public
gr_hier_block2,
35
public
osmosdr_src_iface
36
{
37
private
:
38
friend
file_source_c_sptr
make_file_source_c
(
const
std::string &args);
39
40
file_source_c
(
const
std::string &args);
41
42
public
:
43
~file_source_c
();
44
45
std::string
name
();
46
47
static
std::vector< std::string >
get_devices
();
48
49
size_t
get_num_channels
(
void
);
50
51
osmosdr::meta_range_t
get_sample_rates
(
void
);
52
double
set_sample_rate
(
double
rate );
53
double
get_sample_rate
(
void
);
54
55
osmosdr::freq_range_t
get_freq_range
(
size_t
chan = 0 );
56
double
set_center_freq
(
double
freq,
size_t
chan = 0 );
57
double
get_center_freq
(
size_t
chan = 0 );
58
double
set_freq_corr
(
double
ppm,
size_t
chan = 0 );
59
double
get_freq_corr
(
size_t
chan = 0 );
60
61
std::vector<std::string>
get_gain_names
(
size_t
chan = 0 );
62
osmosdr::gain_range_t
get_gain_range
(
size_t
chan = 0 );
63
osmosdr::gain_range_t
get_gain_range
(
const
std::string & name,
size_t
chan = 0 );
64
double
set_gain
(
double
gain,
size_t
chan = 0 );
65
double
set_gain
(
double
gain,
const
std::string & name,
size_t
chan = 0 );
66
double
get_gain
(
size_t
chan = 0 );
67
double
get_gain
(
const
std::string & name,
size_t
chan = 0 );
68
69
std::vector< std::string >
get_antennas
(
size_t
chan = 0 );
70
std::string
set_antenna
(
const
std::string & antenna,
size_t
chan = 0 );
71
std::string
get_antenna
(
size_t
chan = 0 );
72
73
private
:
74
double
_freq, _rate;
75
};
76
77
#endif // FILE_SOURCE_C_H
lib
file
file_source_c.h
Generated by
1.8.3.1