00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
#ifndef _GRUSRPSOURCE_H_
00024
#define _GRUSRPSOURCE_H_
00025
00026
#include <GrSource.h>
00027
00028
class usrp_rx;
00029
00030 class GrUsrpSource :
public GrSource
00031 {
00032
private:
00033 int d_noutputs;
00034 usrp_rx *
d_usrp;
00035
00036
public:
00049
GrUsrpSource (
int which_board,
unsigned int usrp_rx_config,
00050
unsigned int adc_clk_div,
unsigned int decim_rate);
00051
00052
~GrUsrpSource ();
00053
00057
GrUsrpSource *
make (
int which_board,
unsigned int usrp_rx_config,
00058
unsigned int adc_clk_div,
unsigned int decim_rate);
00059
00060 virtual const char *
name () {
return "GrUsrpSource"; }
00061
virtual int work2 (
VrSampleRange output,
void *o[]);
00062
00063
bool set_adc_clk_div (
unsigned int div);
00064
bool set_decim_rate (
unsigned int rate);
00065
bool set_rx_freq (
int channel,
double freq);
00066
bool set_ext_clk_div (
unsigned int div);
00067
00068
bool _set_decim_reg (
unsigned int regval);
00069
00070
00071
00072
double get_oscillator_freq () const;
00073
unsigned int get_adc_clk_div () const;
00074
unsigned int get_decim_rate () const;
00075
double get_rx_freq (
int channel) const;
00076
unsigned int get_ext_clk_div () const;
00077 };
00078
00079
00080 #endif
00081