1 
2 #define SDRIP_SAMPLING_CLOCK_DIV10 8000000
3 #define SDR14_SAMPLING_CLOCK 66.66666666
4 #define PERSEUS_SAMPLING_CLOCK 80000000.0
5 #define EXCALIBUR_SAMPLING_CLOCK 100000000.0
6 
7 // Structure for RTL2832 parameters
8 typedef struct {
9 int sampling_speed;
10 int sernum1;
11 int sernum2;
12 int sernum3;
13 int gain_mode;
14 int freq_adjust;
15 int direct_sampling;
16 int check;
17 }P_RTL2832;
18 #define MAX_RTL2832_PARM 8
19 extern P_RTL2832 rtl2832;
20 
21 // Structure for BladeRF parameters
22 typedef struct {
23 int rx_sampling_speed;
24 int rx_resampling_factor;
25 int sernum1;
26 int sernum2;
27 int sernum3;
28 int sernum4;
29 int sernum5;
30 int sernum6;
31 int sernum7;
32 int sernum8;
33 int freq_adjust;
34 int sampling;
35 int bandwidth;
36 int gain_mode;
37 int check;
38 }P_BLADERF;
39 #define MAX_BLADERF_PARM 15
40 extern P_BLADERF bladerf;
41 
42 // Structure for Afedri USB parameters
43 typedef struct {
44 int vid;
45 int pid;
46 int sernum1;
47 int sernum2;
48 int sernum3;
49 int sernum4;
50 int freq_adjust;
51 int vga_type;
52 int check;
53 }P_AFEDRIUSB;
54 #define MAX_AFEDRIUSB_PARM 9
55 extern P_AFEDRIUSB afedriusb;
56 
57 
58 
59 // Structure for Mirics parameters
60 typedef struct {
61 int sampling_speed;
62 int sernum1;
63 int sernum2;
64 int sernum3;
65 int freq_adjust;
66 int format;
67 int if_freq;
68 int if_bandwidth;
69 int transfer_type;
70 int check;
71 }P_MIRISDR;
72 #define MAX_MIRISDR_PARM 10
73 extern P_MIRISDR mirics;
74 
75 // Structure for PCIE9842 parameters
76 typedef struct {
77 int rate_dividend;
78 int resampling_factor;
79 int freq_adjust;
80 int check;
81 }P_PCIE9842;
82 #define MAX_PCIE9842_PARM 4
83 extern P_PCIE9842 pcie9842;
84 
85 // Structure for Afedri NET parameters
86 typedef struct {
87 int ip0;
88 int ip1;
89 int ip2;
90 int ip3;
91 int port;
92 int sampling_rate;
93 int format;
94 int udp_size;
95 int clock_adjust;
96 int channels;
97 int vga_type;
98 int check;
99 }P_NETAFEDRI;
100 #define MAX_NETAFEDRI_PARM 12
101 extern P_NETAFEDRI netafedri;
102 
103 // Structure for SDR-IP parameters
104 typedef struct {
105 int ip0;
106 int ip1;
107 int ip2;
108 int ip3;
109 int port;
110 int rate_dividend;
111 int format;
112 int udp_size;
113 int dither;
114 int adgain;
115 int rf_filter;
116 int connect;
117 int clock_adjust;
118 int check;
119 }P_SDRIP;
120 #define MAX_SDRIP_PARM 14
121 extern P_SDRIP sdrip;
122 
123 // Structure for SDR-14 parameters
124 typedef struct {
125 int m_cic2;
126 int m_cic5;
127 int m_rcf;
128 int ol_rcf;
129 int clock_adjust;
130 int att;
131 int input;
132 int sernum1;
133 int sernum2;
134 int sernum3;
135 int device_code;
136 int check;
137 }P_SDR14;
138 #define MAX_SDR14_PARM 12
139 extern P_SDR14 sdr14;
140 
141 extern char *perseus_name_string;
142 
143 extern int no_of_excalibur_rates;
144 
145 extern char *excalibur_sernum_filename;
146 
147 
148 extern double adjusted_sdr_clock;
149 extern char *sdr14_name_string;
150 extern char *sdriq_name_string;
151 extern char *sdrip_name_string;
152 extern char *excalibur_name_string;
153 extern char *rtl2832_name_string;
154 extern char *mirics_name_string;
155 extern char *bladerf_name_string;
156 extern char *pcie9842_name_string;
157 extern char *openhpsdr_name_string;
158 extern char *netafedri_name_string;
159 
160 
161 // Structure for Excalibur parameters
162 typedef struct {
163 int rate_no;
164 int sampling_rate;
165 int clock_adjust;
166 int mw_filter_maxfreq;
167 int dither;
168 int check;
169 }P_EXCALIBUR;
170 #define MAX_EXCALIBUR_PARM 6
171 extern P_EXCALIBUR excalib;
172 #define MAX_EXCALIBUR_DEVICES 16
173 
174 
175 typedef struct {
176 int parport;
177 int parport_pin;
178 int libusb_version;
179 int rx2500_fqcorr;
180 int rx10700_fqcorr[4];
181 int rx70_fqcorr[5];
182 int rx144_fqcorr[4];
183 int rxhfa_fqcorr[5];
184 int tx2500_fqcorr;
185 int tx10700_fqcorr[4];
186 int tx70_fqcorr[5];
187 int tx144_fqcorr[4];
188 int txhfa_fqcorr[5];
189 }WSE_PARM;
190 #define MAX_WSE_PARM 41
191 
192 extern WSE_PARM wse;
193 
194 
195 extern int *rtl2832_gains;
196 extern int no_of_rtl2832_gains;
197 extern int old_rtl2832_gain;
198 extern int *mirics_gains;
199 extern int no_of_mirics_gains;
200 extern int old_mirics_gain;
201 
202 void close_sdr14(void);
203 void close_perseus(void);
204 void init_sdr14(void);
205 void init_perseus(void);
206 void init_sdrip(void);
207 void init_excalibur(void);
208 int display_perseus_parm_info(int *line);
209 int display_sdr14_parm_info(int *line);
210 int display_sdrip_parm_info(int *line);
211 int display_excalibur_parm_info(int *line);
212 int display_rtl2832_parm_info(int *line);
213 int display_mirics_parm_info(int *line);
214 int display_bladerf_parm_info(int *line);
215 int display_pcie9842_parm_info(int *line);
216 int display_openhpsdr_parm_info(int *line);
217 int display_netafedri_parm_info(int *line);
218 void fill_perseus_rates(void);
219 void sdr_target_name(char *ss);
220 void sdr_target_serial_number(char *ss);
221 void init_rtl2832(void);
222 void init_mirics(void);
223 void init_bladerf(void);
224 void init_openhpsdr(void);
225 void init_pcie9842(void);
226 void open_afedriusb_control(void);
227 void close_afedriusb_control(void);
228 
229