Statistics
| Branch: | Tag: | Revision:

root / gr-fcd / lib / fcd_source_c_impl.h @ 54f27eed

History | View | Annotate | Download (1.7 kB)

1 c39f8485 Johnathan Corgan
/* -*- c++ -*- */
2 c39f8485 Johnathan Corgan
/*
3 c39f8485 Johnathan Corgan
 * Copyright 2011-2012 Free Software Foundation, Inc.
4 c39f8485 Johnathan Corgan
 * 
5 c39f8485 Johnathan Corgan
 * GNU Radio is free software; you can redistribute it and/or modify
6 c39f8485 Johnathan Corgan
 * it under the terms of the GNU General Public License as published by
7 c39f8485 Johnathan Corgan
 * the Free Software Foundation; either version 3, or (at your option)
8 c39f8485 Johnathan Corgan
 * any later version.
9 c39f8485 Johnathan Corgan
 * 
10 c39f8485 Johnathan Corgan
 * GNU Radio is distributed in the hope that it will be useful,
11 c39f8485 Johnathan Corgan
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 c39f8485 Johnathan Corgan
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 c39f8485 Johnathan Corgan
 * GNU General Public License for more details.
14 c39f8485 Johnathan Corgan
 * 
15 c39f8485 Johnathan Corgan
 * You should have received a copy of the GNU General Public License
16 c39f8485 Johnathan Corgan
 * along with GNU Radio; see the file COPYING.  If not, write to
17 c39f8485 Johnathan Corgan
 * the Free Software Foundation, Inc., 51 Franklin Street,
18 c39f8485 Johnathan Corgan
 * Boston, MA 02110-1301, USA.
19 c39f8485 Johnathan Corgan
 */
20 c39f8485 Johnathan Corgan
21 c39f8485 Johnathan Corgan
#ifndef INCLUDED_FCD_SOURCE_C_IMPL_H
22 c39f8485 Johnathan Corgan
#define INCLUDED_FCD_SOURCE_C_IMPL_H
23 c39f8485 Johnathan Corgan
24 c39f8485 Johnathan Corgan
#include <fcd_source_c.h>
25 c39f8485 Johnathan Corgan
#include <gr_audio_source.h>
26 c39f8485 Johnathan Corgan
27 c39f8485 Johnathan Corgan
class FCD_API fcd_source_c_impl : public fcd_source_c
28 c39f8485 Johnathan Corgan
{
29 c39f8485 Johnathan Corgan
public:
30 c39f8485 Johnathan Corgan
  /* Public API functions documented in include/fcd_source_c.h */
31 c39f8485 Johnathan Corgan
  void set_freq(int freq);
32 c39f8485 Johnathan Corgan
  void set_freq(float freq);
33 c39f8485 Johnathan Corgan
  void set_freq_khz(int freq);
34 c39f8485 Johnathan Corgan
  void set_lna_gain(float gain);
35 98c703b3 Dimitri Stolnikov
  void set_mixer_gain(float gain);
36 c39f8485 Johnathan Corgan
  void set_freq_corr(int ppm);
37 c39f8485 Johnathan Corgan
  void set_dc_corr(double _dci, double _dcq);
38 c39f8485 Johnathan Corgan
  void set_iq_corr(double _gain, double _phase);
39 c39f8485 Johnathan Corgan
  
40 c39f8485 Johnathan Corgan
private:
41 c39f8485 Johnathan Corgan
  fcd_source_c_impl(const std::string device_name = "");
42 c39f8485 Johnathan Corgan
  friend FCD_API fcd_source_c_sptr
43 c39f8485 Johnathan Corgan
    fcd_make_source_c(const std::string device_name);
44 c39f8485 Johnathan Corgan
  
45 c39f8485 Johnathan Corgan
  audio_source::sptr fcd;  /*!< The audio input source */
46 c39f8485 Johnathan Corgan
  int d_freq_corr;         /*!< The frequency correction in ppm */
47 c39f8485 Johnathan Corgan
  int d_freq_req;          /*!< The latest requested frequency in Hz */
48 c39f8485 Johnathan Corgan
};
49 c39f8485 Johnathan Corgan
50 c39f8485 Johnathan Corgan
#endif /* INCLUDED_FCD_SOURCE_C_IMPL_H */