mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-13 20:01:46 -05:00
SDRPlay plugin: interface replaced by libmirisdr: refactor interim state (1)
This commit is contained in:
parent
a9f7c67f7b
commit
e4f3915282
@ -28,331 +28,6 @@
|
||||
#include "dsp/dspengine.h"
|
||||
#include "dsp/dspcommands.h"
|
||||
|
||||
// ====================================================================
|
||||
|
||||
unsigned int SDRPlayGui::m_bbGr[m_nbBands][m_nbGRValues] = {
|
||||
{ // 10k - 12M
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, // 0 - 9
|
||||
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, // 10 - 19
|
||||
20, 21, 22, 23, 24, 25, 26, 27, 28, 29, // 20 - 29
|
||||
30, 31, 32, 33, 34, 11, 12, 13, 14, 15, // 30 - 39
|
||||
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, // 40 - 49
|
||||
26, 27, 28, 29, 30, 31, 32, 33, 34, 35, // 50 - 59
|
||||
36, 37, 38, 39, 40, 41, 42, 43, 44, 45, // 60 - 69
|
||||
46, 47, 48, 49, 50, 51, 52, 53, 54, 55, // 70 - 79
|
||||
56, 57, 58, 40, 41, 42, 43, 44, 45, 46, // 80 - 89
|
||||
47, 48, 49, 50, 51, 52, 53, 54, 55, 56, // 90 - 99
|
||||
57, 58, 59, // 100 - 102
|
||||
},
|
||||
{ // 12 - 30M
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, // 0 - 9
|
||||
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, // 10 - 19
|
||||
20, 21, 22, 23, 24, 25, 26, 27, 28, 29, // 20 - 29
|
||||
30, 31, 32, 33, 34, 11, 12, 13, 14, 15, // 30 - 39
|
||||
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, // 40 - 49
|
||||
26, 27, 28, 29, 30, 31, 32, 33, 34, 35, // 50 - 59
|
||||
36, 37, 38, 39, 40, 41, 42, 43, 44, 45, // 60 - 69
|
||||
46, 47, 48, 49, 50, 51, 52, 53, 54, 55, // 70 - 79
|
||||
56, 57, 58, 40, 41, 42, 43, 44, 45, 46, // 80 - 89
|
||||
47, 48, 49, 50, 51, 52, 53, 54, 55, 56, // 90 - 99
|
||||
57, 58, 59, // 100 - 102
|
||||
},
|
||||
{ // 30 - 60M
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, // 0 - 9
|
||||
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, // 10 - 19
|
||||
20, 21, 22, 23, 24, 25, 26, 27, 28, 29, // 20 - 29
|
||||
30, 31, 32, 33, 34, 11, 12, 13, 14, 15, // 30 - 39
|
||||
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, // 40 - 49
|
||||
26, 27, 28, 29, 30, 31, 32, 33, 34, 35, // 50 - 59
|
||||
36, 37, 38, 39, 40, 41, 42, 43, 44, 45, // 60 - 69
|
||||
46, 47, 48, 49, 50, 51, 52, 53, 54, 55, // 70 - 79
|
||||
56, 57, 58, 40, 41, 42, 43, 44, 45, 46, // 80 - 89
|
||||
47, 48, 49, 50, 51, 52, 53, 54, 55, 56, // 90 - 99
|
||||
57, 58, 59, // 100 - 102
|
||||
},
|
||||
{ // 60 - 120M
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, // 0 - 9
|
||||
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, // 10 - 19
|
||||
20, 21, 22, 23, 24, 25, 26, 27, 28, 5, // 20 - 29
|
||||
6, 7, 8, 9, 10, 11, 12, 13, 14, 15, // 30 - 39
|
||||
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, // 40 - 49
|
||||
26, 27, 28, 29, 30, 31, 32, 33, 34, 35, // 50 - 59
|
||||
36, 37, 38, 39, 40, 41, 42, 43, 44, 45, // 60 - 69
|
||||
46, 47, 48, 49, 50, 51, 52, 53, 54, 55, // 70 - 79
|
||||
56, 57, 58, 40, 41, 42, 43, 44, 45, 46, // 80 - 89
|
||||
47, 48, 49, 50, 51, 52, 53, 54, 55, 56, // 90 - 99
|
||||
57, 58, 59, // 100 - 102
|
||||
},
|
||||
{ // 120 - 250M
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, // 0 - 9
|
||||
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, // 10 - 19
|
||||
20, 21, 22, 23, 24, 25, 26, 27, 28, 5, // 20 - 29
|
||||
6, 7, 8, 9, 10, 11, 12, 13, 14, 15, // 30 - 39
|
||||
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, // 40 - 49
|
||||
26, 27, 28, 29, 30, 31, 32, 33, 34, 35, // 50 - 59
|
||||
36, 37, 38, 39, 40, 41, 42, 43, 44, 45, // 60 - 69
|
||||
46, 47, 48, 49, 50, 51, 52, 53, 54, 55, // 70 - 79
|
||||
56, 57, 58, 40, 41, 42, 43, 44, 45, 46, // 80 - 89
|
||||
47, 48, 49, 50, 51, 52, 53, 54, 55, 56, // 90 - 99
|
||||
57, 58, 59, // 100 - 102
|
||||
},
|
||||
{ // 250 - 420M
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, // 0 - 9
|
||||
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, // 10 - 19
|
||||
20, 21, 22, 23, 24, 25, 26, 27, 28, 29, // 20 - 29
|
||||
30, 31, 32, 33, 34, 11, 12, 13, 14, 15, // 30 - 39
|
||||
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, // 40 - 49
|
||||
26, 27, 28, 29, 30, 31, 32, 33, 34, 35, // 50 - 59
|
||||
36, 37, 38, 39, 40, 41, 42, 43, 44, 45, // 60 - 69
|
||||
46, 47, 48, 49, 50, 51, 52, 53, 54, 55, // 70 - 79
|
||||
56, 57, 58, 40, 41, 42, 43, 44, 45, 46, // 80 - 89
|
||||
47, 48, 49, 50, 51, 52, 53, 54, 55, 56, // 90 - 99
|
||||
57, 58, 59, // 100 - 102
|
||||
},
|
||||
{ // 420M - 1G
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, // 0 - 9
|
||||
10, 11, 5, 6, 7, 8, 9, 10, 11, 12, // 10 - 19
|
||||
13, 14, 15, 16, 17, 18, 19, 20, 21, 22, // 20 - 29
|
||||
23, 24, 25, 26, 27, 28, 29, 30, 31, 32, // 30 - 39
|
||||
33, 34, 35, 36, 37, 38, 39, 40, 41, 42, // 40 - 49
|
||||
43, 44, 45, 46, 47, 48, 49, 50, 51, 52, // 50 - 59
|
||||
53, 54, 55, 56, 57, 58, 40, 41, 42, 43, // 60 - 69
|
||||
44, 45, 46, 47, 48, 49, 50, 51, 52, 53, // 70 - 79
|
||||
54, 55, 56, 57, 58, 59, 59, 59, 59, 59, // 80 - 89
|
||||
59, 59, 59, 59, 59, 59, 59, 59, 59, 59, // 90 - 99
|
||||
59, 59, 59, // 100 - 102
|
||||
},
|
||||
{ // 1 - 2G
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, // 0 - 9
|
||||
10, 11, 5, 6, 7, 8, 9, 10, 11, 12, // 10 - 19
|
||||
13, 14, 15, 16, 17, 18, 19, 20, 21, 22, // 20 - 29
|
||||
23, 24, 25, 26, 27, 28, 29, 30, 31, 32, // 30 - 39
|
||||
33, 34, 35, 36, 37, 38, 39, 40, 41, 42, // 40 - 49
|
||||
43, 44, 45, 46, 47, 48, 49, 50, 51, 52, // 50 - 59
|
||||
53, 54, 55, 56, 57, 58, 40, 41, 42, 43, // 60 - 69
|
||||
44, 45, 46, 47, 48, 49, 50, 51, 52, 53, // 70 - 79
|
||||
54, 55, 56, 57, 58, 59, 59, 59, 59, 59, // 80 - 89
|
||||
59, 59, 59, 59, 59, 59, 59, 59, 59, 59, // 90 - 99
|
||||
59, 59, 59, // 100 - 102
|
||||
}
|
||||
};
|
||||
|
||||
unsigned int SDRPlayGui::m_lnaGr[m_nbBands][m_nbGRValues] = {
|
||||
{ // 10k - 12M
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 9
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 10 - 19
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 20 - 29
|
||||
0, 0, 0, 0, 0, 24, 24, 24, 24, 24, // 30 - 39
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 40 - 49
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 50 - 59
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 60 - 69
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 70 - 79
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 80 - 89
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 90 - 99
|
||||
24, 24, 24, // 100 - 102
|
||||
},
|
||||
{ // 12 - 30M
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 9
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 10 - 19
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 20 - 29
|
||||
0, 0, 0, 0, 0, 24, 24, 24, 24, 24, // 30 - 39
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 40 - 49
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 50 - 59
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 60 - 69
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 70 - 79
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 80 - 89
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 90 - 99
|
||||
24, 24, 24, // 100 - 102
|
||||
},
|
||||
{ // 30 - 60M
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 9
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 10 - 19
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 20 - 29
|
||||
0, 0, 0, 0, 0, 24, 24, 24, 24, 24, // 30 - 39
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 40 - 49
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 50 - 59
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 60 - 69
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 70 - 79
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 80 - 89
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 90 - 99
|
||||
24, 24, 24, // 100 - 102
|
||||
},
|
||||
{ // 60 - 120M
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 9
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 10 - 19
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 24, // 20 - 29
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 30 - 39
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 40 - 49
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 50 - 59
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 60 - 69
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 70 - 79
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 80 - 89
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 90 - 99
|
||||
24, 24, 24, // 100 - 102
|
||||
},
|
||||
{ // 120 - 250M
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 9
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 10 - 19
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 24, // 20 - 29
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 30 - 39
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 40 - 49
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 50 - 59
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 60 - 69
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 70 - 79
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 80 - 89
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 90 - 99
|
||||
24, 24, 24, // 100 - 102
|
||||
},
|
||||
{ // 250 - 420M
|
||||
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 9
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 10 - 19
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 20 - 29
|
||||
0, 0, 0, 0, 0, 24, 24, 24, 24, 24, // 30 - 39
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 40 - 49
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 50 - 59
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 60 - 69
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 70 - 79
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 80 - 89
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, // 90 - 99
|
||||
24, 24, 24, // 100 - 102
|
||||
},
|
||||
{ // 420M - 1G
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 9
|
||||
0, 0, 7, 7, 7, 7, 7, 7, 7, 7, // 10 - 19
|
||||
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 20 - 29
|
||||
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 30 - 39
|
||||
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 40 - 49
|
||||
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 50 - 59
|
||||
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 60 - 69
|
||||
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 70 - 79
|
||||
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 80 - 89
|
||||
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 90 - 99
|
||||
7, 7, 7, // 100 - 102
|
||||
},
|
||||
{ // 1 - 2G
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 9
|
||||
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 10 - 19
|
||||
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 20 - 29
|
||||
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 30 - 39
|
||||
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 40 - 49
|
||||
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 50 - 59
|
||||
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 60 - 69
|
||||
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 70 - 79
|
||||
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 80 - 89
|
||||
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 90 - 99
|
||||
7, 7, 7, // 100 - 102
|
||||
}
|
||||
};
|
||||
|
||||
unsigned int SDRPlayGui::m_mixerGr[m_nbBands][m_nbGRValues] = {
|
||||
{ // 10k - 12M
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 9
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 10 - 19
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 20 - 29
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 30 - 39
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 40 - 49
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 50 - 59
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 60 - 69
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 70 - 79
|
||||
0, 0, 0, 19, 19, 19, 19, 19, 19, 19, // 80 - 89
|
||||
19, 19, 19, 19, 19, 19, 19, 19, 19, 19, // 90 - 99
|
||||
19, 19, 19, // 100 - 102
|
||||
},
|
||||
{ // 12 - 30M
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 9
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 10 - 19
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 20 - 29
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 30 - 39
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 40 - 49
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 50 - 59
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 60 - 69
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 70 - 79
|
||||
0, 0, 0, 19, 19, 19, 19, 19, 19, 19, // 80 - 89
|
||||
19, 19, 19, 19, 19, 19, 19, 19, 19, 19, // 90 - 99
|
||||
19, 19, 19, // 100 - 102
|
||||
},
|
||||
{ // 30 - 60M
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 9
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 10 - 19
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 20 - 29
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 30 - 39
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 40 - 49
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 50 - 59
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 60 - 69
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 70 - 79
|
||||
0, 0, 0, 19, 19, 19, 19, 19, 19, 19, // 80 - 89
|
||||
19, 19, 19, 19, 19, 19, 19, 19, 19, 19, // 90 - 99
|
||||
19, 19, 19, // 100 - 102
|
||||
},
|
||||
{ // 60 - 120M
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 9
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 10 - 19
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 20 - 29
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 30 - 39
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 40 - 49
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 50 - 59
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 60 - 69
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 70 - 79
|
||||
0, 0, 0, 19, 19, 19, 19, 19, 19, 19, // 80 - 89
|
||||
19, 19, 19, 19, 19, 19, 19, 19, 19, 19, // 90 - 99
|
||||
19, 19, 19, // 100 - 102
|
||||
},
|
||||
{ // 120 - 250M
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 9
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 10 - 19
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 20 - 29
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 30 - 39
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 40 - 49
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 50 - 59
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 60 - 69
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 70 - 79
|
||||
0, 0, 0, 19, 19, 19, 19, 19, 19, 19, // 80 - 89
|
||||
19, 19, 19, 19, 19, 19, 19, 19, 19, 19, // 90 - 99
|
||||
19, 19, 19, // 100 - 102
|
||||
},
|
||||
{ // 250 - 420M
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 9
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 10 - 19
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 20 - 29
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 30 - 39
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 40 - 49
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 50 - 59
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 60 - 69
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 70 - 79
|
||||
0, 0, 0, 19, 19, 19, 19, 19, 19, 19, // 80 - 89
|
||||
19, 19, 19, 19, 19, 19, 19, 19, 19, 19, // 90 - 99
|
||||
19, 19, 19, // 100 - 102
|
||||
},
|
||||
{ // 420M - 1G
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 9
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 10 - 19
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 20 - 29
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 30 - 39
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 40 - 49
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 50 - 59
|
||||
0, 0, 0, 0, 0, 19, 19, 19, 19, 19, // 60 - 69
|
||||
19, 19, 19, 19, 19, 19, 19, 19, 19, 19, // 70 - 79
|
||||
19, 19, 19, 19, 19, 19, 19, 19, 19, 19, // 80 - 89
|
||||
19, 19, 19, 19, 19, 19, 19, 19, 19, 19, // 90 - 99
|
||||
19, 19, 19, // 100 - 102
|
||||
},
|
||||
{ // 1 - 2G
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 9
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 10 - 19
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 20 - 29
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 30 - 39
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 40 - 49
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 50 - 59
|
||||
0, 0, 0, 0, 0, 19, 19, 19, 19, 19, // 60 - 69
|
||||
19, 19, 19, 19, 19, 19, 19, 19, 19, 19, // 70 - 79
|
||||
19, 19, 19, 19, 19, 19, 19, 19, 19, 19, // 80 - 89
|
||||
19, 19, 19, 19, 19, 19, 19, 19, 19, 19, // 90 - 99
|
||||
19, 19, 19, // 100 - 102
|
||||
}
|
||||
};
|
||||
|
||||
// ====================================================================
|
||||
|
||||
SDRPlayGui::SDRPlayGui(DeviceSourceAPI *deviceAPI, QWidget* parent) :
|
||||
QWidget(parent),
|
||||
@ -375,12 +50,6 @@ SDRPlayGui::SDRPlayGui(DeviceSourceAPI *deviceAPI, QWidget* parent) :
|
||||
ui->ifFrequency->addItem(QString::number(SDRPlayIF::getIF(i)));
|
||||
}
|
||||
|
||||
ui->mirDCCorr->clear();
|
||||
for (int i = 0; i < SDRPlayDCCorr::getNbDCCorrs(); i++)
|
||||
{
|
||||
ui->mirDCCorr->addItem(SDRPlayDCCorr::getDCCorrName(i));
|
||||
}
|
||||
|
||||
ui->samplerate->clear();
|
||||
for (int i = 0; i < SDRPlaySampleRates::getNbRates(); i++)
|
||||
{
|
||||
@ -476,6 +145,8 @@ bool SDRPlayGui::handleMessage(const Message& message)
|
||||
{
|
||||
if (SDRPlayInput::MsgReportSDRPlay::match(message))
|
||||
{
|
||||
qDebug() << "SDRPlayGui::handleMessage: MsgReportSDRPlay";
|
||||
m_gains = ((SDRPlayInput::MsgReportSDRPlay&) message).getGains();
|
||||
displaySettings();
|
||||
return true;
|
||||
}
|
||||
@ -534,8 +205,8 @@ void SDRPlayGui::displaySettings()
|
||||
{
|
||||
ui->centerFrequency->setValue(m_settings.m_centerFrequency / 1000);
|
||||
|
||||
ui->ppm->setValue(m_settings.m_LOppmTenths);
|
||||
ui->ppmText->setText(QString("%1").arg(QString::number(m_settings.m_LOppmTenths/10.0, 'f', 1)));
|
||||
ui->ppm->setValue(m_settings.m_LOppmCorrection);
|
||||
ui->ppmText->setText(QString("%1").arg(QString::number(m_settings.m_LOppmCorrection/10.0, 'f', 1)));
|
||||
|
||||
ui->samplerate->setCurrentIndex(m_settings.m_devSampleRateIndex);
|
||||
|
||||
@ -544,25 +215,36 @@ void SDRPlayGui::displaySettings()
|
||||
|
||||
ui->fBand->setCurrentIndex(m_settings.m_frequencyBandIndex);
|
||||
ui->ifFrequency->setCurrentIndex(m_settings.m_ifFrequencyIndex);
|
||||
ui->mirDCCorr->setCurrentIndex(m_settings.m_mirDcCorrIndex);
|
||||
ui->mirDCCorrTrackTime->setValue(m_settings.m_mirDcCorrTrackTimeIndex);
|
||||
ui->mirDCCorrTrackTimeText->setText(tr("%1us").arg(m_settings.m_mirDcCorrIndex * 3));
|
||||
ui->samplerate->setCurrentIndex(m_settings.m_devSampleRateIndex);
|
||||
|
||||
ui->decim->setCurrentIndex(m_settings.m_log2Decim);
|
||||
ui->fcPos->setCurrentIndex((int) m_settings.m_fcPos);
|
||||
|
||||
ui->gr->setValue(m_settings.m_gainRedctionIndex);
|
||||
if (m_gains.size() > 0)
|
||||
{
|
||||
int dist = abs(m_settings.m_gain - m_gains[0]);
|
||||
int pos = 0;
|
||||
|
||||
char grStrChr[20];
|
||||
for (uint i = 1; i < m_gains.size(); i++)
|
||||
{
|
||||
if (abs(m_settings.m_gain - m_gains[i]) < dist)
|
||||
{
|
||||
dist = abs(m_settings.m_gain - m_gains[i]);
|
||||
pos = i;
|
||||
}
|
||||
}
|
||||
|
||||
sprintf(grStrChr, "%03d:%02d-%02d-%02d",
|
||||
m_settings.m_gainRedctionIndex,
|
||||
24 - m_lnaGr[m_settings.m_frequencyBandIndex][m_settings.m_gainRedctionIndex],
|
||||
19 - m_mixerGr[m_settings.m_frequencyBandIndex][m_settings.m_gainRedctionIndex],
|
||||
59 - m_bbGr[m_settings.m_frequencyBandIndex][m_settings.m_gainRedctionIndex]);
|
||||
|
||||
ui->grText->setText(QString(grStrChr));
|
||||
ui->gainText->setText(tr("%1.%2").arg(m_gains[pos] / 10).arg(abs(m_gains[pos] % 10)));
|
||||
ui->gain->setMaximum(m_gains.size() - 1);
|
||||
ui->gain->setEnabled(true);
|
||||
ui->gain->setValue(pos);
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->gain->setMaximum(0);
|
||||
ui->gain->setEnabled(false);
|
||||
ui->gain->setValue(0);
|
||||
}
|
||||
}
|
||||
|
||||
void SDRPlayGui::sendSettings()
|
||||
@ -616,8 +298,8 @@ void SDRPlayGui::on_centerFrequency_changed(quint64 value)
|
||||
|
||||
void SDRPlayGui::on_ppm_valueChanged(int value)
|
||||
{
|
||||
m_settings.m_LOppmTenths = value;
|
||||
ui->ppmText->setText(QString("%1").arg(QString::number(m_settings.m_LOppmTenths/10.0, 'f', 1)));
|
||||
m_settings.m_LOppmCorrection = value;
|
||||
ui->ppmText->setText(QString("%1").arg(QString::number(m_settings.m_LOppmCorrection/10.0, 'f', 1)));
|
||||
sendSettings();
|
||||
}
|
||||
|
||||
@ -735,24 +417,22 @@ void SDRPlayGui::on_record_toggled(bool checked)
|
||||
// ====================================================================
|
||||
|
||||
unsigned int SDRPlaySampleRates::m_rates[m_nb_rates] = {
|
||||
2000, // 0
|
||||
2048, // 1
|
||||
2304, // 2
|
||||
2400, // 3
|
||||
3072, // 4
|
||||
3200, // 5
|
||||
4000, // 6
|
||||
4096, // 7
|
||||
4608, // 8
|
||||
4800, // 9
|
||||
5000, // 10
|
||||
6000, // 11
|
||||
6144, // 12
|
||||
8000, // 13
|
||||
8192, // 14
|
||||
9216, // 15
|
||||
9600, // 16
|
||||
10000, // 17
|
||||
1536000, // 0
|
||||
2000000, // 1
|
||||
2048000, // 2
|
||||
2304000, // 3
|
||||
2400000, // 4
|
||||
3072000, // 5
|
||||
3200000, // 6
|
||||
4000000, // 7
|
||||
4096000, // 8
|
||||
4608000, // 9
|
||||
4800000, // 10
|
||||
5000000, // 11
|
||||
6000000, // 12
|
||||
6144000, // 13
|
||||
8000000, // 14
|
||||
8192000, // 15
|
||||
};
|
||||
|
||||
unsigned int SDRPlaySampleRates::getRate(unsigned int rate_index)
|
||||
@ -788,14 +468,14 @@ unsigned int SDRPlaySampleRates::getNbRates()
|
||||
// ====================================================================
|
||||
|
||||
unsigned int SDRPlayBandwidths::m_bw[m_nb_bw] = {
|
||||
200, // 0
|
||||
300, // 1
|
||||
600, // 2
|
||||
1536, // 3
|
||||
5000, // 4
|
||||
6000, // 5
|
||||
7000, // 6
|
||||
8000, // 7
|
||||
200000, // 0
|
||||
300000, // 1
|
||||
600000, // 2
|
||||
1536000, // 3
|
||||
5000000, // 4
|
||||
6000000, // 5
|
||||
7000000, // 6
|
||||
8000000, // 7
|
||||
};
|
||||
|
||||
unsigned int SDRPlayBandwidths::getBandwidth(unsigned int bandwidth_index)
|
||||
@ -831,10 +511,10 @@ unsigned int SDRPlayBandwidths::getNbBandwidths()
|
||||
// ====================================================================
|
||||
|
||||
unsigned int SDRPlayIF::m_if[m_nb_if] = {
|
||||
0, // 0
|
||||
450, // 1
|
||||
1620, // 2
|
||||
2048, // 3
|
||||
0, // 0
|
||||
450000, // 1
|
||||
1620000, // 2
|
||||
2048000, // 3
|
||||
};
|
||||
|
||||
unsigned int SDRPlayIF::getIF(unsigned int if_index)
|
||||
@ -945,31 +625,3 @@ unsigned int SDRPlayBands::getNbBands()
|
||||
{
|
||||
return SDRPlayBands::m_nb_bands;
|
||||
}
|
||||
|
||||
// ====================================================================
|
||||
|
||||
const char* SDRPlayDCCorr::m_dcCorrName[m_nb_dcCorrs] = {
|
||||
"None", // 0
|
||||
"Per1", // 1
|
||||
"Per2", // 2
|
||||
"Per3", // 3
|
||||
"1Shot", // 4
|
||||
"Cont", // 5
|
||||
};
|
||||
|
||||
QString SDRPlayDCCorr::getDCCorrName(unsigned int dcCorr_index)
|
||||
{
|
||||
if (dcCorr_index < m_nb_dcCorrs)
|
||||
{
|
||||
return QString(m_dcCorrName[dcCorr_index]);
|
||||
}
|
||||
else
|
||||
{
|
||||
return QString(m_dcCorrName[0]);
|
||||
}
|
||||
}
|
||||
|
||||
unsigned int SDRPlayDCCorr::getNbDCCorrs()
|
||||
{
|
||||
return SDRPlayDCCorr::m_nb_dcCorrs;
|
||||
}
|
||||
|
@ -18,6 +18,7 @@
|
||||
#define PLUGINS_SAMPLESOURCE_SDRPLAY_SDRPLAYGUI_H_
|
||||
|
||||
#include <QTimer>
|
||||
#include <vector>
|
||||
#include "plugin/plugingui.h"
|
||||
|
||||
#include "sdrplayinput.h"
|
||||
@ -56,18 +57,13 @@ private:
|
||||
SDRPlaySettings m_settings;
|
||||
QTimer m_updateTimer;
|
||||
QTimer m_statusTimer;
|
||||
std::vector<int> m_gains;
|
||||
DeviceSampleSource* m_sampleSource;
|
||||
FileRecord *m_fileSink; //!< File sink to record device I/Q output
|
||||
int m_sampleRate;
|
||||
quint64 m_deviceCenterFrequency; //!< Center frequency in device
|
||||
int m_lastEngineState;
|
||||
|
||||
static const unsigned int m_nbGRValues = 103;
|
||||
static const unsigned int m_nbBands = 8;
|
||||
static unsigned int m_bbGr[m_nbBands][m_nbGRValues];
|
||||
static unsigned int m_lnaGr[m_nbBands][m_nbGRValues];
|
||||
static unsigned int m_mixerGr[m_nbBands][m_nbGRValues];
|
||||
|
||||
void displaySettings();
|
||||
void sendSettings();
|
||||
void updateSampleRateAndFrequency();
|
||||
@ -82,13 +78,11 @@ private slots:
|
||||
void on_dcOffset_toggled(bool checked);
|
||||
void on_iqImbalance_toggled(bool checked);
|
||||
void on_fBand_currentIndexChanged(int index);
|
||||
void on_mirDCCorr_currentIndexChanged(int index);
|
||||
void on_mirDCCorrTrackTime_valueChanged(int value);
|
||||
void on_bandwidth_currentIndexChanged(int index);
|
||||
void on_samplerate_currentIndexChanged(int index);
|
||||
void on_decim_currentIndexChanged(int index);
|
||||
void on_fcPos_currentIndexChanged(int index);
|
||||
void on_gr_valueChanged(int value);
|
||||
void on_gain_valueChanged(int value);
|
||||
void on_startStop_toggled(bool checked);
|
||||
void on_record_toggled(bool checked);
|
||||
};
|
||||
@ -102,7 +96,7 @@ public:
|
||||
static unsigned int getRateIndex(unsigned int rate);
|
||||
static unsigned int getNbRates();
|
||||
private:
|
||||
static const unsigned int m_nb_rates = 18;
|
||||
static const unsigned int m_nb_rates = 16;
|
||||
static unsigned int m_rates[m_nb_rates];
|
||||
};
|
||||
|
||||
@ -139,13 +133,4 @@ private:
|
||||
static const char* m_bandName[m_nb_bands];
|
||||
};
|
||||
|
||||
class SDRPlayDCCorr {
|
||||
public:
|
||||
static QString getDCCorrName(unsigned int dcCorr_index);
|
||||
static unsigned int getNbDCCorrs();
|
||||
private:
|
||||
static const unsigned int m_nb_dcCorrs = 6;
|
||||
static const char* m_dcCorrName[m_nb_dcCorrs];
|
||||
};
|
||||
|
||||
#endif /* PLUGINS_SAMPLESOURCE_SDRPLAY_SDRPLAYGUI_H_ */
|
||||
|
@ -35,7 +35,16 @@
|
||||
<property name="spacing">
|
||||
<number>3</number>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<property name="leftMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<item>
|
||||
@ -201,7 +210,7 @@
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>0.0</string>
|
||||
<string>0</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
@ -219,13 +228,17 @@
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout_corr">
|
||||
<item row="1" column="2">
|
||||
<widget class="ButtonSwitch" name="iqImbalance">
|
||||
<item row="1" column="7">
|
||||
<widget class="QComboBox" name="fBand">
|
||||
<property name="toolTip">
|
||||
<string>Automatic IQ imbalance correction</string>
|
||||
<string>Frequency band</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="corrLabel">
|
||||
<property name="text">
|
||||
<string>IQ</string>
|
||||
<string>Auto</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -252,24 +265,20 @@
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="corrLabel">
|
||||
<item row="1" column="2">
|
||||
<widget class="ButtonSwitch" name="iqImbalance">
|
||||
<property name="toolTip">
|
||||
<string>Automatic IQ imbalance correction</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Auto</string>
|
||||
<string>IQ</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="6">
|
||||
<widget class="QComboBox" name="fBand">
|
||||
<property name="toolTip">
|
||||
<string>Frequency band</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="7">
|
||||
<widget class="QComboBox" name="ifFrequency">
|
||||
<property name="toolTip">
|
||||
<string>IF frequency in kHz</string>
|
||||
<widget class="QLabel" name="fBandLabel">
|
||||
<property name="text">
|
||||
<string>Band</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -287,53 +296,7 @@
|
||||
<property name="spacing">
|
||||
<number>3</number>
|
||||
</property>
|
||||
<item row="0" column="6">
|
||||
<widget class="QComboBox" name="bandwidth">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>70</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>IF bandwidth in kHz</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="4">
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="0" column="5">
|
||||
<widget class="QLabel" name="bandwidthLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>BW </string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="7">
|
||||
<widget class="QLabel" name="bandwidthUnit">
|
||||
<property name="text">
|
||||
<string>kHz</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="8">
|
||||
<spacer name="horizontalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
@ -346,75 +309,130 @@
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QComboBox" name="mirDCCorr">
|
||||
<item row="0" column="2">
|
||||
<widget class="QComboBox" name="bandwidth">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>70</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>MirSDR DC auto tracking</string>
|
||||
</property>
|
||||
<property name="currentText" stdset="0">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>-1</number>
|
||||
</property>
|
||||
<property name="maxVisibleItems">
|
||||
<number>5</number>
|
||||
<string>IF bandwidth in kHz</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QDial" name="mirDCCorrTrackTime">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>24</width>
|
||||
<height>24</height>
|
||||
</size>
|
||||
<widget class="QLabel" name="bandwidthLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>MirSDR DC auto tracking time in uS</string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>63</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>35</number>
|
||||
<property name="text">
|
||||
<string>BW </string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="mirDCCorrTrackTimeText">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>42</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<item row="0" column="3">
|
||||
<widget class="QLabel" name="bandwidthUnit">
|
||||
<property name="text">
|
||||
<string>105uS</string>
|
||||
<string>kHz</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="6">
|
||||
<widget class="QComboBox" name="ifFrequency">
|
||||
<property name="toolTip">
|
||||
<string>IF frequency in kHz</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="5">
|
||||
<widget class="QLabel" name="ifFrequencyLabel">
|
||||
<property name="text">
|
||||
<string>IF</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="7">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>kHz</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout_decim" columnstretch="0,0,0,0,0,0,0,0">
|
||||
<layout class="QGridLayout" name="gridLayout_decim" columnstretch="0,0,0,0,0,0,0,0,0">
|
||||
<property name="spacing">
|
||||
<number>3</number>
|
||||
</property>
|
||||
<item row="0" column="3">
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="samplerate">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>70</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Sample rate in kS/s</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="8">
|
||||
<spacer name="fcPosRightSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="0" column="7">
|
||||
<widget class="QComboBox" name="fcPos">
|
||||
<property name="toolTip">
|
||||
<string>Relative position of device center frequency</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Inf</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Sup</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Cen</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="6">
|
||||
<widget class="QLabel" name="label_fcPos">
|
||||
<property name="text">
|
||||
<string>Fp</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="4">
|
||||
<widget class="QLabel" name="label_decim">
|
||||
<property name="text">
|
||||
<string>Dec</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="4">
|
||||
<item row="0" column="5">
|
||||
<widget class="QComboBox" name="decim">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
@ -465,61 +483,6 @@
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="5">
|
||||
<widget class="QLabel" name="label_fcPos">
|
||||
<property name="text">
|
||||
<string>Fp</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="6">
|
||||
<widget class="QComboBox" name="fcPos">
|
||||
<property name="toolTip">
|
||||
<string>Relative position of device center frequency</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Inf</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Sup</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Cen</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="7">
|
||||
<spacer name="fcPosRightSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="samplerate">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>70</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Sample rate in kS/s</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="samplerateLabel">
|
||||
<property name="sizePolicy">
|
||||
@ -540,6 +503,19 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
@ -555,21 +531,21 @@
|
||||
<number>3</number>
|
||||
</property>
|
||||
<item row="0" column="1">
|
||||
<widget class="QSlider" name="gr">
|
||||
<widget class="QSlider" name="gain">
|
||||
<property name="toolTip">
|
||||
<string>Gain reduction</string>
|
||||
<string>Tuner gain</string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>102</number>
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="pageStep">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>35</number>
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
@ -577,7 +553,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="grText">
|
||||
<widget class="QLabel" name="gainText">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
@ -585,10 +561,10 @@
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Gain reduction:LNA-Mixer-BaseBand gains in dB</string>
|
||||
<string>Tuner gain in dB</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>035:24-19-59</string>
|
||||
<string>---</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
@ -596,9 +572,9 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="grLabel">
|
||||
<widget class="QLabel" name="gainLabel">
|
||||
<property name="text">
|
||||
<string>GR</string>
|
||||
<string>Gain</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -652,6 +628,26 @@
|
||||
</customwidgets>
|
||||
<resources>
|
||||
<include location="../../../sdrbase/resources/res.qrc"/>
|
||||
<include location="../../../sdrbase/resources/res.qrc"/>
|
||||
<include location="../../../sdrbase/resources/res.qrc"/>
|
||||
<include location="../../../sdrbase/resources/res.qrc"/>
|
||||
<include location="../../../sdrbase/resources/res.qrc"/>
|
||||
<include location="../../../sdrbase/resources/res.qrc"/>
|
||||
<include location="../../../sdrbase/resources/res.qrc"/>
|
||||
<include location="../../../sdrbase/resources/res.qrc"/>
|
||||
<include location="../../../sdrbase/resources/res.qrc"/>
|
||||
<include location="../../../sdrbase/resources/res.qrc"/>
|
||||
<include location="../../../sdrbase/resources/res.qrc"/>
|
||||
<include location="../../../sdrbase/resources/res.qrc"/>
|
||||
<include location="../../../sdrbase/resources/res.qrc"/>
|
||||
<include location="../../../sdrbase/resources/res.qrc"/>
|
||||
<include location="../../../sdrbase/resources/res.qrc"/>
|
||||
<include location="../../../sdrbase/resources/res.qrc"/>
|
||||
<include location="../../../sdrbase/resources/res.qrc"/>
|
||||
<include location="../../../sdrbase/resources/res.qrc"/>
|
||||
<include location="../../../sdrbase/resources/res.qrc"/>
|
||||
<include location="../../../sdrbase/resources/res.qrc"/>
|
||||
<include location="../../../sdrbase/resources/res.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
@ -34,10 +34,9 @@ MESSAGE_CLASS_DEFINITION(SDRPlayInput::MsgReportSDRPlay, Message)
|
||||
SDRPlayInput::SDRPlayInput(DeviceSourceAPI *deviceAPI) :
|
||||
m_deviceAPI(deviceAPI),
|
||||
m_settings(),
|
||||
m_dev(0),
|
||||
m_sdrPlayThread(0),
|
||||
m_deviceDescription("SDRPlay"),
|
||||
m_samplesPerPacket(4096),
|
||||
m_mirStreamRunning(false)
|
||||
m_deviceDescription("SDRPlay")
|
||||
{
|
||||
}
|
||||
|
||||
@ -51,68 +50,142 @@ bool SDRPlayInput::init(const Message& cmd)
|
||||
return false;
|
||||
}
|
||||
|
||||
bool SDRPlayInput::start(int device)
|
||||
bool SDRPlayInput::start(uint32_t device)
|
||||
{
|
||||
mir_sdr_ErrT r;
|
||||
QMutexLocker mutexLocker(&m_mutex);
|
||||
|
||||
if (m_dev != 0)
|
||||
{
|
||||
stop();
|
||||
}
|
||||
|
||||
char vendor[256];
|
||||
char product[256];
|
||||
char serial[256];
|
||||
int res;
|
||||
int numberOfGains;
|
||||
|
||||
if (!m_sampleFifo.setSize(96000 * 4))
|
||||
{
|
||||
qCritical("SDRPlayInput::start: could not allocate SampleFifo");
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((res = mirisdr_open(&m_dev, device)) < 0)
|
||||
{
|
||||
qCritical("SDRPlayInput::start: could not open SDRPlay #%d: %s", device, strerror(errno));
|
||||
return false;
|
||||
}
|
||||
|
||||
vendor[0] = '\0';
|
||||
product[0] = '\0';
|
||||
serial[0] = '\0';
|
||||
|
||||
if ((res = mirisdr_get_device_usb_strings(m_dev, vendor, product, serial)) < 0)
|
||||
{
|
||||
qCritical("SDRPlayInput::start: error accessing USB device");
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
|
||||
qWarning("SDRPlayInput::start: open: %s %s, SN: %s", vendor, product, serial);
|
||||
m_deviceDescription = QString("%1 (SN %2)").arg(product).arg(serial);
|
||||
|
||||
if ((res = mirisdr_set_sample_rate(m_dev, 2048000)) < 0)
|
||||
{
|
||||
qCritical("SDRPlayInput::start: could not set sample rate: 2048kS/s");
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((res = mirisdr_set_center_freq(m_dev, m_settings.m_centerFrequency)) < 0)
|
||||
{
|
||||
qCritical("SDRPlayInput::start: could not set frequency to: %lu Hz", m_settings.m_centerFrequency);
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((res = mirisdr_set_sample_format(m_dev, "336_S16"))) // sample format S12
|
||||
{
|
||||
qCritical("SDRPlayInput::start: could not set sample format: rc: %d", res);
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((res = mirisdr_set_transfer(m_dev, "BULK")) < 0)
|
||||
{
|
||||
qCritical("SDRPlayInput::start: could not set USB Bulk mode: rc: %d", res);
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((res = mirisdr_set_if_freq(m_dev, SDRPlayIF::m_if[m_settings.m_ifFrequencyIndex])) < 0)
|
||||
{
|
||||
qCritical("SDRPlayInput::start: could not set IF frequency at index %d: rc: %d", m_settings.m_ifFrequencyIndex, res);
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((res = mirisdr_set_bandwidth(m_dev, SDRPlayBandwidths::m_bw[m_settings.m_bandwidthIndex])) < 0)
|
||||
{
|
||||
qCritical("SDRPlayInput::start: could not set bandwidth at index %d: rc: %d", m_settings.m_bandwidthIndex, res);
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((res = mirisdr_set_tuner_gain_mode(m_dev, 1)) < 0)
|
||||
{
|
||||
qCritical("SDRPlayInput::start: error setting tuner gain mode");
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
|
||||
numberOfGains = mirisdr_get_tuner_gains(m_dev, 0);
|
||||
|
||||
if (numberOfGains < 0)
|
||||
{
|
||||
qCritical("SDRPlayInput::start: error getting number of gain values supported");
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug("SDRPlayInput::start: supported gain values: %d", numberOfGains);
|
||||
}
|
||||
|
||||
m_gains.resize(numberOfGains);
|
||||
|
||||
if (mirisdr_get_tuner_gains(m_dev, &m_gains[0]) < 0)
|
||||
{
|
||||
qCritical("SDRPlayInput::start: error getting gain values");
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug() << "SDRPlayInput::start: " << m_gains.size() << "gains";
|
||||
MsgReportSDRPlay *message = MsgReportSDRPlay::create(m_gains);
|
||||
getOutputMessageQueueToGUI()->push(message);
|
||||
}
|
||||
|
||||
if ((res = mirisdr_reset_buffer(m_dev)) < 0)
|
||||
{
|
||||
qCritical("SDRPlayInput::start: could not reset USB EP buffers: %s", strerror(errno));
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
|
||||
if((m_sdrPlayThread = new SDRPlayThread(&m_sampleFifo)) == 0)
|
||||
{
|
||||
qFatal("SDRPlayInput::start: failed to create thread");
|
||||
return false;
|
||||
}
|
||||
|
||||
int agcSetPoint = -m_settings.m_gainRedctionIndex;
|
||||
double sampleRateMHz = SDRPlaySampleRates::getRate(m_settings.m_devSampleRateIndex) / 1e3;
|
||||
double frequencyMHz = m_settings.m_centerFrequency / 1e6;
|
||||
int infoOverallGr;
|
||||
m_sdrPlayThread->startWork();
|
||||
|
||||
r = mir_sdr_DCoffsetIQimbalanceControl(1, 0);
|
||||
if (r != mir_sdr_Success)
|
||||
{
|
||||
qCritical("SDRPlayInput::start: mir_sdr_DCoffsetIQimbalanceControl failed with code %d", (int) r);
|
||||
}
|
||||
mutexLocker.unlock();
|
||||
|
||||
r = mir_sdr_AgcControl(mir_sdr_AGC_DISABLE, agcSetPoint, 0, 0, 0, 0, 1);
|
||||
if (r != mir_sdr_Success)
|
||||
{
|
||||
qCritical("SDRPlayInput::start: mir_sdr_AgcControl failed with code %d", (int) r);
|
||||
}
|
||||
|
||||
qDebug("SDRPlayInput::start: sampleRateMHz: %lf frequencyMHz: %lf", sampleRateMHz, frequencyMHz);
|
||||
|
||||
mir_sdr_DebugEnable(1);
|
||||
|
||||
r = mir_sdr_StreamInit(
|
||||
&agcSetPoint,
|
||||
sampleRateMHz,
|
||||
frequencyMHz,
|
||||
mir_sdr_BW_1_536,
|
||||
mir_sdr_IF_Zero,
|
||||
1, /* LNA */
|
||||
&infoOverallGr,
|
||||
0, /* use internal gr tables according to band */
|
||||
&m_samplesPerPacket,
|
||||
SDRPlayThread::streamCallback,
|
||||
SDRPlayInput::callbackGC,
|
||||
0);
|
||||
|
||||
if (r != mir_sdr_Success)
|
||||
{
|
||||
qCritical("SDRPlayInput::start: mir_sdr_StreamInit failed with code %d", (int) r);
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug("SDRPlayInput::start: Mir stream started: samplesPerPacket: %d", m_samplesPerPacket);
|
||||
m_mirStreamRunning = true;
|
||||
m_sdrPlayThread->startWork();
|
||||
}
|
||||
applySettings(m_settings, true);
|
||||
}
|
||||
|
||||
void SDRPlayInput::stop()
|
||||
@ -293,11 +366,11 @@ bool SDRPlayInput::applySettings(const SDRPlaySettings& settings, bool force)
|
||||
}
|
||||
}
|
||||
|
||||
if ((m_settings.m_LOppmTenths != settings.m_LOppmTenths) || force)
|
||||
if ((m_settings.m_LOppmCorrection != settings.m_LOppmCorrection) || force)
|
||||
{
|
||||
m_settings.m_LOppmTenths = settings.m_LOppmTenths;
|
||||
m_settings.m_LOppmCorrection = settings.m_LOppmCorrection;
|
||||
|
||||
mir_sdr_ErrT r = mir_sdr_SetPpm(m_settings.m_LOppmTenths / 10.0);
|
||||
mir_sdr_ErrT r = mir_sdr_SetPpm(m_settings.m_LOppmCorrection / 10.0);
|
||||
|
||||
if (r != mir_sdr_Success)
|
||||
{
|
||||
|
@ -20,8 +20,9 @@
|
||||
#include <dsp/devicesamplesource.h>
|
||||
|
||||
#include "sdrplaysettings.h"
|
||||
#include <mirsdrapi-rsp.h>
|
||||
#include <mirisdr.h>
|
||||
#include <QString>
|
||||
#include <stdint.h>
|
||||
|
||||
class DeviceSourceAPI;
|
||||
class SDRPlayThread;
|
||||
@ -52,14 +53,19 @@ public:
|
||||
MESSAGE_CLASS_DECLARATION
|
||||
|
||||
public:
|
||||
static MsgReportSDRPlay* create()
|
||||
const std::vector<int>& getGains() const { return m_gains; }
|
||||
|
||||
static MsgReportSDRPlay* create(const std::vector<int>& gains)
|
||||
{
|
||||
return new MsgReportSDRPlay();
|
||||
return new MsgReportSDRPlay(gains);
|
||||
}
|
||||
|
||||
protected:
|
||||
MsgReportSDRPlay() :
|
||||
Message()
|
||||
std::vector<int> m_gains;
|
||||
|
||||
MsgReportSDRPlay(const std::vector<int>& gains) :
|
||||
Message(),
|
||||
m_gains(gains)
|
||||
{ }
|
||||
};
|
||||
|
||||
@ -67,7 +73,7 @@ public:
|
||||
virtual ~SDRPlayInput();
|
||||
|
||||
virtual bool init(const Message& message);
|
||||
virtual bool start(int device);
|
||||
virtual bool start(uint32_t device);
|
||||
virtual void stop();
|
||||
|
||||
virtual const QString& getDeviceDescription() const;
|
||||
@ -78,17 +84,14 @@ public:
|
||||
|
||||
private:
|
||||
bool applySettings(const SDRPlaySettings& settings, bool force);
|
||||
void reinitMirSDR(mir_sdr_ReasonForReinitT reasonForReinit);
|
||||
static void callbackGC(unsigned int gRdB, unsigned int lnaGRdB, void *cbContext);
|
||||
|
||||
DeviceSourceAPI *m_deviceAPI;
|
||||
QMutex m_mutex;
|
||||
SDRPlaySettings m_settings;
|
||||
mirisdr_dev_t* m_dev;
|
||||
SDRPlayThread* m_sdrPlayThread;
|
||||
QString m_deviceDescription;
|
||||
|
||||
int m_samplesPerPacket;
|
||||
bool m_mirStreamRunning;
|
||||
std::vector<int> m_gains;
|
||||
};
|
||||
|
||||
#endif /* PLUGINS_SAMPLESOURCE_SDRPLAY_SDRPLAYINPUT_H_ */
|
||||
|
@ -27,11 +27,10 @@ SDRPlaySettings::SDRPlaySettings()
|
||||
void SDRPlaySettings::resetToDefaults()
|
||||
{
|
||||
m_centerFrequency = 7040*1000;
|
||||
m_LOppmTenths = 0;
|
||||
m_gain = 0;
|
||||
m_LOppmCorrection = 0;
|
||||
m_frequencyBandIndex = 0;
|
||||
m_ifFrequencyIndex = 0;
|
||||
m_mirDcCorrIndex = 0;
|
||||
m_mirDcCorrTrackTimeIndex = 1;
|
||||
m_bandwidthIndex = 0;
|
||||
m_devSampleRateIndex = 0;
|
||||
m_gainRedctionIndex = 35;
|
||||
@ -45,18 +44,17 @@ QByteArray SDRPlaySettings::serialize() const
|
||||
{
|
||||
SimpleSerializer s(1);
|
||||
|
||||
s.writeS32(1, m_LOppmTenths);
|
||||
s.writeS32(1, m_LOppmCorrection);
|
||||
s.writeU32(2, m_frequencyBandIndex);
|
||||
s.writeU32(3, m_ifFrequencyIndex);
|
||||
s.writeU32(4, m_mirDcCorrIndex);
|
||||
s.writeU32(5, m_mirDcCorrTrackTimeIndex);
|
||||
s.writeU32(6, m_bandwidthIndex);
|
||||
s.writeU32(7, m_devSampleRateIndex);
|
||||
s.writeU32(8, m_gainRedctionIndex);
|
||||
s.writeU32(9, m_log2Decim);
|
||||
s.writeS32(10, (int) m_fcPos);
|
||||
s.writeBool(11, m_dcBlock);
|
||||
s.writeBool(12, m_iqCorrection);
|
||||
s.writeS32(4, m_gain);
|
||||
s.writeU32(5, m_bandwidthIndex);
|
||||
s.writeU32(6, m_devSampleRateIndex);
|
||||
s.writeU32(7, m_gainRedctionIndex);
|
||||
s.writeU32(8, m_log2Decim);
|
||||
s.writeS32(9, (int) m_fcPos);
|
||||
s.writeBool(10, m_dcBlock);
|
||||
s.writeBool(11, m_iqCorrection);
|
||||
|
||||
return s.final();
|
||||
}
|
||||
@ -75,19 +73,18 @@ bool SDRPlaySettings::deserialize(const QByteArray& data)
|
||||
{
|
||||
int intval;
|
||||
|
||||
d.readS32(1, &m_LOppmTenths, 0);
|
||||
d.readS32(1, &m_LOppmCorrection, 0);
|
||||
d.readU32(2, &m_frequencyBandIndex, 0);
|
||||
d.readU32(3, &m_ifFrequencyIndex, 0);
|
||||
d.readU32(4, &m_mirDcCorrIndex, 0);
|
||||
d.readU32(5, &m_mirDcCorrTrackTimeIndex, 1);
|
||||
d.readU32(6, &m_bandwidthIndex, 0);
|
||||
d.readU32(7, &m_devSampleRateIndex, 0);
|
||||
d.readU32(8, &m_gainRedctionIndex, 35);
|
||||
d.readU32(9, &m_log2Decim, 0);
|
||||
d.readS32(10, &intval, 0);
|
||||
d.readS32(4, &m_gain, 0);
|
||||
d.readU32(5, &m_bandwidthIndex, 0);
|
||||
d.readU32(6, &m_devSampleRateIndex, 0);
|
||||
d.readU32(7, &m_gainRedctionIndex, 35);
|
||||
d.readU32(8, &m_log2Decim, 0);
|
||||
d.readS32(9, &intval, 0);
|
||||
m_fcPos = (fcPos_t) intval;
|
||||
d.readBool(11, &m_dcBlock, false);
|
||||
d.readBool(12, &m_iqCorrection, false);
|
||||
d.readBool(10, &m_dcBlock, false);
|
||||
d.readBool(11, &m_iqCorrection, false);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -28,11 +28,10 @@ struct SDRPlaySettings {
|
||||
} fcPos_t;
|
||||
|
||||
uint64_t m_centerFrequency;
|
||||
int32_t m_LOppmTenths;
|
||||
qint32 m_gain;
|
||||
int32_t m_LOppmCorrection;
|
||||
uint32_t m_frequencyBandIndex;
|
||||
uint32_t m_ifFrequencyIndex;
|
||||
uint32_t m_mirDcCorrIndex;
|
||||
uint32_t m_mirDcCorrTrackTimeIndex;
|
||||
uint32_t m_bandwidthIndex;
|
||||
uint32_t m_devSampleRateIndex;
|
||||
uint32_t m_gainRedctionIndex;
|
||||
|
Loading…
Reference in New Issue
Block a user