GNU Radio 3.6.5 C++ API
|
00001 /* -*- c++ -*- */ 00002 /* 00003 * Copyright 2011-2012 Free Software Foundation, Inc. 00004 * 00005 * GNU Radio is free software; you can redistribute it and/or modify 00006 * it under the terms of the GNU General Public License as published by 00007 * the Free Software Foundation; either version 3, or (at your option) 00008 * any later version. 00009 * 00010 * GNU Radio is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 * GNU General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU General Public License 00016 * along with GNU Radio; see the file COPYING. If not, write to 00017 * the Free Software Foundation, Inc., 51 Franklin Street, 00018 * Boston, MA 02110-1301, USA. 00019 */ 00020 00021 #ifndef INCLUDED_FCD_SOURCE_C_IMPL_H 00022 #define INCLUDED_FCD_SOURCE_C_IMPL_H 00023 00024 #include <fcd_source_c.h> 00025 #include <gr_audio_source.h> 00026 00027 class FCD_API fcd_source_c_impl : public fcd_source_c 00028 { 00029 public: 00030 /* Public API functions documented in include/fcd_source_c.h */ 00031 void set_freq(int freq); 00032 void set_freq(float freq); 00033 void set_freq_khz(int freq); 00034 void set_lna_gain(float gain); 00035 void set_mixer_gain(float gain); 00036 void set_freq_corr(int ppm); 00037 void set_dc_corr(double _dci, double _dcq); 00038 void set_iq_corr(double _gain, double _phase); 00039 00040 private: 00041 fcd_source_c_impl(const std::string device_name = ""); 00042 friend FCD_API fcd_source_c_sptr 00043 fcd_make_source_c(const std::string device_name); 00044 00045 audio_source::sptr fcd; /*!< The audio input source */ 00046 int d_freq_corr; /*!< The frequency correction in ppm */ 00047 int d_freq_req; /*!< The latest requested frequency in Hz */ 00048 }; 00049 00050 #endif /* INCLUDED_FCD_SOURCE_C_IMPL_H */