GNU Radio 3.6.3.1 C++ API
microtune_xxxx_eval_board.h
Go to the documentation of this file.
1
/* -*- C++ -*- */
2
/*
3
* Copyright 2001,2004 Free Software Foundation, Inc.
4
*
5
* This file is part of GNU Radio
6
*
7
* GNU Radio is free software; you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published by
9
* the Free Software Foundation; either version 3, or (at your option)
10
* any later version.
11
*
12
* GNU Radio is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
16
*
17
* You should have received a copy of the GNU General Public License
18
* along with GNU Radio; see the file COPYING. If not, write to
19
* the Free Software Foundation, Inc., 51 Franklin Street,
20
* Boston, MA 02110-1301, USA.
21
*/
22
23
#ifndef INCLUDED_MICROTUNE_XXXX_EVAL_BOARD_H
24
#define INCLUDED_MICROTUNE_XXXX_EVAL_BOARD_H
25
26
#include <
gr_core_api.h
>
27
#include <boost/shared_ptr.hpp>
28
29
class
microtune_xxxx
;
30
31
class
ppio
;
32
typedef
boost::shared_ptr<ppio>
ppio_sptr
;
33
34
class
i2c
;
35
typedef
boost::shared_ptr<i2c>
i2c_sptr
;
36
37
/*!
38
* \brief abstract class for controlling microtune xxxx eval board
39
* \ingroup hardware
40
*/
41
class
GR_CORE_API
microtune_xxxx_eval_board
{
42
public
:
43
microtune_xxxx_eval_board
(
int
which_pp = 0);
44
virtual
~
microtune_xxxx_eval_board
();
45
46
//! is the eval board present?
47
bool
board_present_p ();
48
49
/*!
50
* \brief set RF and IF AGC control voltages ([0, 5] volts)
51
*/
52
void
set_RF_AGC_voltage (
float
volts);
53
void
set_IF_AGC_voltage (
float
volts);
54
55
/*!
56
* \brief set RF and IF AGC levels together (scale [0, 1000])
57
*
58
* This provides a simple linear interface for adjusting both
59
* the RF and IF gain in consort. This is the easy to use interface.
60
* 0 corresponds to minimum gain. 1000 corresponds to maximum gain.
61
*/
62
virtual
void
set_AGC (
float
value_0_1000) = 0;
63
64
/*!
65
* \brief select RF frequency to be tuned to output frequency.
66
* \p freq is the requested frequency in Hz, \p actual_freq
67
* is set to the actual frequency tuned. It takes about 100 ms
68
* for the PLL to settle.
69
*
70
* \returns true iff sucessful.
71
*/
72
bool
set_RF_freq (
double
freq,
double
*actual_freq);
73
74
// returns actual freq or 0 if error (easier interface for SWIG)
75
double
set_RF_freq (
double
freq);
76
77
/*!
78
* \returns true iff PLL is locked
79
*/
80
bool
pll_locked_p ();
81
82
/*!
83
* \returns the output frequency (IF center freq) of the tuner in Hz.
84
*/
85
double
get_output_freq ();
86
87
88
private
:
89
void
write_dac (
int
which,
int
value);
90
void
write_both_dacs (
int
val0,
int
val1);
91
92
protected
:
93
ppio_sptr
d_ppio
;
94
i2c_sptr
d_i2c
;
95
microtune_xxxx
*
d_tuner
;
96
};
97
98
#endif
/* INCLUDED_MICROTUNE_XXXX_EVAL_BOARD_H */
gnuradio
gnuradio-core
src
lib
io
microtune_xxxx_eval_board.h
Generated by
1.8.1.1