8
8
#include < config.h>
9
9
#include < sdrplay_api.h>
10
10
#include < gui/smgui.h>
11
+ #include < utils/optionlist.h>
11
12
12
13
#define CONCAT (a, b ) ((std::string(a) + b).c_str())
13
14
14
15
SDRPP_MOD_INFO{
15
16
/* Name: */ " sdrplay_source" ,
16
17
/* Description: */ " SDRplay source module for SDR++" ,
17
18
/* Author: */ " Ryzerth" ,
18
- /* Version: */ 0 , 1 , 0 ,
19
+ /* Version: */ 0 , 2 , 0 ,
19
20
/* Max instances */ 1
20
21
};
21
22
@@ -208,6 +209,11 @@ class SDRPlaySourceModule : public ModuleManager::Instance {
208
209
name += devArr[i].SerNo ;
209
210
name += ' )' ;
210
211
break ;
212
+ case SDRPLAY_RSP1B_ID:
213
+ name = " RSP1B (" ;
214
+ name += devArr[i].SerNo ;
215
+ name += ' )' ;
216
+ break ;
211
217
case SDRPLAY_RSP2_ID:
212
218
name = " RSP2 (" ;
213
219
name += devArr[i].SerNo ;
@@ -223,6 +229,11 @@ class SDRPlaySourceModule : public ModuleManager::Instance {
223
229
name += devArr[i].SerNo ;
224
230
name += ' )' ;
225
231
break ;
232
+ case SDRPLAY_RSPdxR2_ID:
233
+ name = " RSPdx-R2 (" ;
234
+ name += devArr[i].SerNo ;
235
+ name += ' )' ;
236
+ break ;
226
237
default :
227
238
name = " Unknown (" ;
228
239
name += devArr[i].SerNo ;
@@ -290,14 +301,37 @@ class SDRPlaySourceModule : public ModuleManager::Instance {
290
301
return ;
291
302
}
292
303
304
+ // Define the valid samplerates
305
+ samplerates.clear ();
306
+ samplerates.define (2e6 , " 2MHz" , 2e6 );
307
+ samplerates.define (3e6 , " 3MHz" , 3e6 );
308
+ samplerates.define (4e6 , " 4MHz" , 4e6 );
309
+ samplerates.define (5e6 , " 5MHz" , 5e6 );
310
+ samplerates.define (6e6 , " 6MHz" , 6e6 );
311
+ samplerates.define (7e6 , " 7MHz" , 7e6 );
312
+ samplerates.define (8e6 , " 8MHz" , 8e6 );
313
+ samplerates.define (9e6 , " 9MHz" , 9e6 );
314
+ samplerates.define (10e6 , " 10MHz" , 10e6 );
315
+
316
+ // Define the valid bandwidths
317
+ bandwidths.define (0 , " Auto" , sdrplay_api_BW_Undefined);
318
+ bandwidths.define (200e3 , " 200KHz" , sdrplay_api_BW_0_200);
319
+ bandwidths.define (300e3 , " 300KHz" , sdrplay_api_BW_0_300);
320
+ bandwidths.define (600e3 , " 600KHz" , sdrplay_api_BW_0_600);
321
+ bandwidths.define (1.536e6 , " 1.536MHz" , sdrplay_api_BW_1_536);
322
+ bandwidths.define (5e6 , " 5MHz" , sdrplay_api_BW_5_000);
323
+ bandwidths.define (6e6 , " 6MHz" , sdrplay_api_BW_6_000);
324
+ bandwidths.define (7e6 , " 7MHz" , sdrplay_api_BW_7_000);
325
+ bandwidths.define (8e6 , " 8MHz" , sdrplay_api_BW_8_000);
326
+
293
327
channelParams = openDevParams->rxChannelA ;
294
328
295
329
selectedName = devNameList[id];
296
330
297
331
if (openDev.hwVer == SDRPLAY_RSP1_ID) {
298
332
lnaSteps = 4 ;
299
333
}
300
- else if (openDev.hwVer == SDRPLAY_RSP1A_ID) {
334
+ else if (openDev.hwVer == SDRPLAY_RSP1A_ID || openDev. hwVer == SDRPLAY_RSP1B_ID ) {
301
335
lnaSteps = 10 ;
302
336
}
303
337
else if (openDev.hwVer == SDRPLAY_RSP2_ID) {
@@ -306,7 +340,7 @@ class SDRPlaySourceModule : public ModuleManager::Instance {
306
340
else if (openDev.hwVer == SDRPLAY_RSPduo_ID) {
307
341
lnaSteps = 10 ;
308
342
}
309
- else if (openDev.hwVer == SDRPLAY_RSPdx_ID ) {
343
+ else if (openDev.hwVer == SDRPLAY_RSP1A_ID || openDev. hwVer == SDRPLAY_RSPdxR2_ID ) {
310
344
lnaSteps = 28 ;
311
345
}
312
346
@@ -331,7 +365,7 @@ class SDRPlaySourceModule : public ModuleManager::Instance {
331
365
if (openDev.hwVer == SDRPLAY_RSP1_ID) {
332
366
// No config to load
333
367
}
334
- else if (openDev.hwVer == SDRPLAY_RSP1A_ID) {
368
+ else if (openDev.hwVer == SDRPLAY_RSP1A_ID || openDev. hwVer == SDRPLAY_RSP1B_ID ) {
335
369
config.conf [" devices" ][selectedName][" fmmwNotch" ] = false ;
336
370
config.conf [" devices" ][selectedName][" dabNotch" ] = false ;
337
371
config.conf [" devices" ][selectedName][" biast" ] = false ;
@@ -347,7 +381,7 @@ class SDRPlaySourceModule : public ModuleManager::Instance {
347
381
config.conf [" devices" ][selectedName][" dabNotch" ] = false ;
348
382
config.conf [" devices" ][selectedName][" biast" ] = false ;
349
383
}
350
- else if (openDev.hwVer == SDRPLAY_RSPdx_ID ) {
384
+ else if (openDev.hwVer == SDRPLAY_RSP1A_ID || openDev. hwVer == SDRPLAY_RSPdxR2_ID ) {
351
385
config.conf [" devices" ][selectedName][" antenna" ] = 0 ;
352
386
config.conf [" devices" ][selectedName][" fmmwNotch" ] = false ;
353
387
config.conf [" devices" ][selectedName][" dabNotch" ] = false ;
@@ -415,7 +449,7 @@ class SDRPlaySourceModule : public ModuleManager::Instance {
415
449
if (openDev.hwVer == SDRPLAY_RSP1_ID) {
416
450
// No config to load
417
451
}
418
- else if (openDev.hwVer == SDRPLAY_RSP1A_ID) {
452
+ else if (openDev.hwVer == SDRPLAY_RSP1A_ID || openDev. hwVer == SDRPLAY_RSP1B_ID ) {
419
453
if (config.conf [" devices" ][selectedName].contains (" fmmwNotch" )) {
420
454
rsp1a_fmmwNotch = config.conf [" devices" ][selectedName][" fmmwNotch" ];
421
455
}
@@ -451,7 +485,7 @@ class SDRPlaySourceModule : public ModuleManager::Instance {
451
485
rspduo_biasT = config.conf [" devices" ][selectedName][" biast" ];
452
486
}
453
487
}
454
- else if (openDev.hwVer == SDRPLAY_RSPdx_ID ) {
488
+ else if (openDev.hwVer == SDRPLAY_RSP1A_ID || openDev. hwVer == SDRPLAY_RSPdxR2_ID ) {
455
489
if (config.conf [" devices" ][selectedName].contains (" antenna" )) {
456
490
rspdx_antennaPort = config.conf [" devices" ][selectedName][" antenna" ];
457
491
}
@@ -854,6 +888,7 @@ class SDRPlaySourceModule : public ModuleManager::Instance {
854
888
_this->RSP1Menu ();
855
889
break ;
856
890
case SDRPLAY_RSP1A_ID:
891
+ case SDRPLAY_RSP1B_ID:
857
892
_this->RSP1AMenu ();
858
893
break ;
859
894
case SDRPLAY_RSP2_ID:
@@ -863,6 +898,7 @@ class SDRPlaySourceModule : public ModuleManager::Instance {
863
898
_this->RSPduoMenu ();
864
899
break ;
865
900
case SDRPLAY_RSPdx_ID:
901
+ case SDRPLAY_RSPdxR2_ID:
866
902
_this->RSPdxMenu ();
867
903
break ;
868
904
default :
@@ -1201,6 +1237,9 @@ class SDRPlaySourceModule : public ModuleManager::Instance {
1201
1237
std::string devListTxt;
1202
1238
std::vector<std::string> devNameList;
1203
1239
std::string selectedName;
1240
+
1241
+ OptionList<int , int > samplerates;
1242
+ OptionList<int , sdrplay_api_Bw_MHzT> bandwidths;
1204
1243
};
1205
1244
1206
1245
MOD_EXPORT void _INIT_ () {
0 commit comments