Added ability to select ADC1 or ADC2 from the floating rcvr widget.
This commit is contained in:
parent
7f760f11ed
commit
efde2f1a1f
@ -1,7 +1,7 @@
|
||||
[General]
|
||||
cudaSDR%20BETA%20=v0.3.2.13
|
||||
cudaSDR%20BETA=v0.3.2.13+
|
||||
cudaSDR%20BETA%20=v0.3.2.13+
|
||||
saved=Friday 29 December 2017 10:07:10
|
||||
saved=Saturday 13 January 2018 08:01:05
|
||||
|
||||
[ChirpWSPR]
|
||||
chirpAmplitude=75
|
||||
@ -114,8 +114,8 @@ pennylane=false
|
||||
audio_port=15000
|
||||
hpsdr_local_ipAddress=192.168.1.1
|
||||
listen_port=11000
|
||||
metis_port=49359
|
||||
server_ipAddress=192.168.15.1
|
||||
metis_port=50792
|
||||
server_ipAddress=192.168.1.1
|
||||
server_port=52685
|
||||
socketBufferSize=32
|
||||
|
||||
@ -167,6 +167,7 @@ txState80m=0
|
||||
txStateGen=0
|
||||
|
||||
[receiver0]
|
||||
adcMode=ADC1
|
||||
agcAttacktime=1
|
||||
agcDecaytime=250
|
||||
agcFixedGain=30
|
||||
@ -201,7 +202,7 @@ attenuatorGen=off
|
||||
audioVolume=34
|
||||
averaging=on
|
||||
averagingCnt=5
|
||||
centerFrequency=3716500
|
||||
centerFrequency=3713673
|
||||
clickVFO=on
|
||||
dBmPanScaleMax10cm=-10
|
||||
dBmPanScaleMax10m=-30
|
||||
@ -297,8 +298,8 @@ lastCenterFrequency60m=5260000
|
||||
lastCenterFrequency630m=472000
|
||||
lastCenterFrequency6m=50000000
|
||||
lastCenterFrequency70cm=420000000
|
||||
lastCenterFrequency80m=3716500
|
||||
lastCenterFrequencyGen=1375098
|
||||
lastCenterFrequency80m=3713673
|
||||
lastCenterFrequencyGen=1374997
|
||||
lastVfoFrequency10cm=902000000
|
||||
lastVfoFrequency10m=28676442
|
||||
lastVfoFrequency125cm=222000000
|
||||
@ -319,17 +320,18 @@ lastVfoFrequency60m=5260000
|
||||
lastVfoFrequency630m=472000
|
||||
lastVfoFrequency6m=50000000
|
||||
lastVfoFrequency70cm=420000000
|
||||
lastVfoFrequency80m=3740100
|
||||
lastVfoFrequencyGen=13959500
|
||||
lastVfoFrequency80m=3793000
|
||||
lastVfoFrequencyGen=1371299
|
||||
mouseWheelFreqStep=100
|
||||
panLocked=off
|
||||
panMode=FILLEDLINE
|
||||
vfoFrequency=3740100
|
||||
vfoFrequency=3793000
|
||||
waterfallMode=ENHANCED
|
||||
waterfallOffsetHi=20
|
||||
waterfallOffsetLo=-5
|
||||
|
||||
[receiver1]
|
||||
adcMode=ADC1
|
||||
agcAttacktime=1
|
||||
agcDecaytime=250
|
||||
agcFixedGain=30
|
||||
@ -364,7 +366,7 @@ attenuatorGen=off
|
||||
audioVolume=40
|
||||
averaging=on
|
||||
averagingCnt=5
|
||||
centerFrequency=28000000
|
||||
centerFrequency=14209365
|
||||
clickVFO=on
|
||||
dBmPanScaleMax10cm=-10
|
||||
dBmPanScaleMax10m=-53
|
||||
@ -374,7 +376,7 @@ dBmPanScaleMax13cm=-10
|
||||
dBmPanScaleMax15m=-10
|
||||
dBmPanScaleMax160m=-19
|
||||
dBmPanScaleMax17m=-10
|
||||
dBmPanScaleMax20m=-34
|
||||
dBmPanScaleMax20m=-15
|
||||
dBmPanScaleMax2200m=-10
|
||||
dBmPanScaleMax23cm=-10
|
||||
dBmPanScaleMax2m=-10
|
||||
@ -386,7 +388,7 @@ dBmPanScaleMax60m=-10
|
||||
dBmPanScaleMax630m=-10
|
||||
dBmPanScaleMax6m=-10
|
||||
dBmPanScaleMax70cm=-10
|
||||
dBmPanScaleMax80m=-44
|
||||
dBmPanScaleMax80m=-49
|
||||
dBmPanScaleMaxGen=-10
|
||||
dBmPanScaleMin10cm=-120
|
||||
dBmPanScaleMin10m=-163
|
||||
@ -396,7 +398,7 @@ dBmPanScaleMin13cm=-120
|
||||
dBmPanScaleMin15m=-120
|
||||
dBmPanScaleMin160m=-129
|
||||
dBmPanScaleMin17m=-120
|
||||
dBmPanScaleMin20m=-144
|
||||
dBmPanScaleMin20m=-125
|
||||
dBmPanScaleMin2200m=-120
|
||||
dBmPanScaleMin23cm=-120
|
||||
dBmPanScaleMin2m=-120
|
||||
@ -408,7 +410,7 @@ dBmPanScaleMin60m=-120
|
||||
dBmPanScaleMin630m=-120
|
||||
dBmPanScaleMin6m=-120
|
||||
dBmPanScaleMin70cm=-120
|
||||
dBmPanScaleMin80m=-154
|
||||
dBmPanScaleMin80m=-159
|
||||
dBmPanScaleMinGen=-120
|
||||
dspCore=qtdsp
|
||||
dspMode10cm=LSB
|
||||
@ -434,8 +436,8 @@ dspMode70cm=LSB
|
||||
dspMode80m=LSB
|
||||
dspModeGen=LSB
|
||||
fftAuto=off
|
||||
filterHi=-150
|
||||
filterLo=-3050
|
||||
filterHi=3050
|
||||
filterLo=150
|
||||
framesPerSecond=25
|
||||
freqRulerPosition=5
|
||||
grid=on
|
||||
@ -461,16 +463,16 @@ lastCenterFrequency630m=472000
|
||||
lastCenterFrequency6m=50000000
|
||||
lastCenterFrequency70cm=420000000
|
||||
lastCenterFrequency80m=3673284
|
||||
lastCenterFrequencyGen=7201153
|
||||
lastCenterFrequencyGen=27998784
|
||||
lastVfoFrequency10cm=902000000
|
||||
lastVfoFrequency10m=28000000
|
||||
lastVfoFrequency10m=28025492
|
||||
lastVfoFrequency125cm=222000000
|
||||
lastVfoFrequency12m=24890000
|
||||
lastVfoFrequency13cm=902000000
|
||||
lastVfoFrequency15m=21000000
|
||||
lastVfoFrequency160m=1864900
|
||||
lastVfoFrequency17m=18068000
|
||||
lastVfoFrequency20m=14255000
|
||||
lastVfoFrequency20m=14219200
|
||||
lastVfoFrequency2200m=135700
|
||||
lastVfoFrequency23cm=902000000
|
||||
lastVfoFrequency2m=144000000
|
||||
@ -483,16 +485,17 @@ lastVfoFrequency630m=472000
|
||||
lastVfoFrequency6m=50000000
|
||||
lastVfoFrequency70cm=420000000
|
||||
lastVfoFrequency80m=3680200
|
||||
lastVfoFrequencyGen=27958000
|
||||
lastVfoFrequencyGen=27980600
|
||||
mouseWheelFreqStep=100
|
||||
panLocked=off
|
||||
panMode=FILLEDLINE
|
||||
vfoFrequency=28000000
|
||||
vfoFrequency=14219200
|
||||
waterfallMode=ENHANCED
|
||||
waterfallOffsetHi=20
|
||||
waterfallOffsetLo=-5
|
||||
|
||||
[receiver10]
|
||||
adcMode=ADC1
|
||||
agcAttacktime=1
|
||||
agcDecaytime=250
|
||||
agcFixedGain=30
|
||||
@ -656,6 +659,7 @@ waterfallOffsetHi=20
|
||||
waterfallOffsetLo=-5
|
||||
|
||||
[receiver11]
|
||||
adcMode=ADC1
|
||||
agcAttacktime=1
|
||||
agcDecaytime=250
|
||||
agcFixedGain=30
|
||||
@ -700,7 +704,7 @@ dBmPanScaleMax13cm=-10
|
||||
dBmPanScaleMax15m=-10
|
||||
dBmPanScaleMax160m=-19
|
||||
dBmPanScaleMax17m=-10
|
||||
dBmPanScaleMax20m=-10
|
||||
dBmPanScaleMax20m=-23
|
||||
dBmPanScaleMax2200m=-10
|
||||
dBmPanScaleMax23cm=-10
|
||||
dBmPanScaleMax2m=-10
|
||||
@ -722,7 +726,7 @@ dBmPanScaleMin13cm=-120
|
||||
dBmPanScaleMin15m=-120
|
||||
dBmPanScaleMin160m=-129
|
||||
dBmPanScaleMin17m=-120
|
||||
dBmPanScaleMin20m=-120
|
||||
dBmPanScaleMin20m=-133
|
||||
dBmPanScaleMin2200m=-120
|
||||
dBmPanScaleMin23cm=-120
|
||||
dBmPanScaleMin2m=-120
|
||||
@ -819,6 +823,7 @@ waterfallOffsetHi=20
|
||||
waterfallOffsetLo=-5
|
||||
|
||||
[receiver12]
|
||||
adcMode=ADC1
|
||||
agcAttacktime=1
|
||||
agcDecaytime=250
|
||||
agcFixedGain=30
|
||||
@ -853,7 +858,7 @@ attenuatorGen=off
|
||||
audioVolume=23
|
||||
averaging=on
|
||||
averagingCnt=5
|
||||
centerFrequency=7000000
|
||||
centerFrequency=7012632
|
||||
clickVFO=on
|
||||
dBmPanScaleMax10cm=-10
|
||||
dBmPanScaleMax10m=-10
|
||||
@ -869,7 +874,7 @@ dBmPanScaleMax23cm=-10
|
||||
dBmPanScaleMax2m=-10
|
||||
dBmPanScaleMax30m=-10
|
||||
dBmPanScaleMax33cm=-10
|
||||
dBmPanScaleMax40m=-10
|
||||
dBmPanScaleMax40m=-23
|
||||
dBmPanScaleMax5cm=-10
|
||||
dBmPanScaleMax60m=-10
|
||||
dBmPanScaleMax630m=-10
|
||||
@ -891,7 +896,7 @@ dBmPanScaleMin23cm=-120
|
||||
dBmPanScaleMin2m=-120
|
||||
dBmPanScaleMin30m=-120
|
||||
dBmPanScaleMin33cm=-120
|
||||
dBmPanScaleMin40m=-120
|
||||
dBmPanScaleMin40m=-133
|
||||
dBmPanScaleMin5cm=-120
|
||||
dBmPanScaleMin60m=-120
|
||||
dBmPanScaleMin630m=-120
|
||||
@ -943,7 +948,7 @@ lastCenterFrequency23cm=902000000
|
||||
lastCenterFrequency2m=144000000
|
||||
lastCenterFrequency30m=10100000
|
||||
lastCenterFrequency33cm=902000000
|
||||
lastCenterFrequency40m=7000000
|
||||
lastCenterFrequency40m=7012632
|
||||
lastCenterFrequency5cm=902000000
|
||||
lastCenterFrequency60m=5260000
|
||||
lastCenterFrequency630m=472000
|
||||
@ -965,7 +970,7 @@ lastVfoFrequency23cm=902000000
|
||||
lastVfoFrequency2m=144000000
|
||||
lastVfoFrequency30m=10117200
|
||||
lastVfoFrequency33cm=902000000
|
||||
lastVfoFrequency40m=7000000
|
||||
lastVfoFrequency40m=7019532
|
||||
lastVfoFrequency5cm=902000000
|
||||
lastVfoFrequency60m=5260000
|
||||
lastVfoFrequency630m=472000
|
||||
@ -976,12 +981,13 @@ lastVfoFrequencyGen=10051000
|
||||
mouseWheelFreqStep=100
|
||||
panLocked=off
|
||||
panMode=FILLEDLINE
|
||||
vfoFrequency=7000000
|
||||
vfoFrequency=7019532
|
||||
waterfallMode=ENHANCED
|
||||
waterfallOffsetHi=20
|
||||
waterfallOffsetLo=-5
|
||||
|
||||
[receiver13]
|
||||
adcMode=ADC1
|
||||
agcAttacktime=1
|
||||
agcDecaytime=250
|
||||
agcFixedGain=30
|
||||
@ -1145,6 +1151,7 @@ waterfallOffsetHi=20
|
||||
waterfallOffsetLo=-5
|
||||
|
||||
[receiver14]
|
||||
adcMode=ADC1
|
||||
agcAttacktime=1
|
||||
agcDecaytime=250
|
||||
agcFixedGain=30
|
||||
@ -1308,6 +1315,7 @@ waterfallOffsetHi=20
|
||||
waterfallOffsetLo=-5
|
||||
|
||||
[receiver15]
|
||||
adcMode=ADC1
|
||||
agcAttacktime=1
|
||||
agcDecaytime=250
|
||||
agcFixedGain=30
|
||||
@ -1365,7 +1373,7 @@ dBmPanScaleMax630m=-10
|
||||
dBmPanScaleMax6m=-5
|
||||
dBmPanScaleMax70cm=-10
|
||||
dBmPanScaleMax80m=-9
|
||||
dBmPanScaleMaxGen=-3
|
||||
dBmPanScaleMaxGen=-30
|
||||
dBmPanScaleMin10cm=-120
|
||||
dBmPanScaleMin10m=-136
|
||||
dBmPanScaleMin125cm=-120
|
||||
@ -1387,7 +1395,7 @@ dBmPanScaleMin630m=-120
|
||||
dBmPanScaleMin6m=-115
|
||||
dBmPanScaleMin70cm=-120
|
||||
dBmPanScaleMin80m=-119
|
||||
dBmPanScaleMinGen=-113
|
||||
dBmPanScaleMinGen=-140
|
||||
dspCore=qtdsp
|
||||
dspMode10cm=LSB
|
||||
dspMode10m=LSB
|
||||
@ -1471,6 +1479,7 @@ waterfallOffsetHi=20
|
||||
waterfallOffsetLo=-5
|
||||
|
||||
[receiver16]
|
||||
adcMode=ADC1
|
||||
agcAttacktime=1
|
||||
agcDecaytime=250
|
||||
agcFixedGain=30
|
||||
@ -1634,6 +1643,7 @@ waterfallOffsetHi=20
|
||||
waterfallOffsetLo=-5
|
||||
|
||||
[receiver17]
|
||||
adcMode=ADC1
|
||||
agcAttacktime=1
|
||||
agcDecaytime=250
|
||||
agcFixedGain=30
|
||||
@ -1797,6 +1807,7 @@ waterfallOffsetHi=20
|
||||
waterfallOffsetLo=-5
|
||||
|
||||
[receiver18]
|
||||
adcMode=ADC1
|
||||
agcAttacktime=1
|
||||
agcDecaytime=250
|
||||
agcFixedGain=30
|
||||
@ -1960,6 +1971,7 @@ waterfallOffsetHi=20
|
||||
waterfallOffsetLo=-5
|
||||
|
||||
[receiver19]
|
||||
adcMode=ADC1
|
||||
agcAttacktime=1
|
||||
agcDecaytime=250
|
||||
agcFixedGain=30
|
||||
@ -2123,6 +2135,7 @@ waterfallOffsetHi=20
|
||||
waterfallOffsetLo=-5
|
||||
|
||||
[receiver2]
|
||||
adcMode=ADC1
|
||||
agcAttacktime=1
|
||||
agcDecaytime=250
|
||||
agcFixedGain=30
|
||||
@ -2157,7 +2170,7 @@ attenuatorGen=off
|
||||
audioVolume=23
|
||||
averaging=on
|
||||
averagingCnt=5
|
||||
centerFrequency=10100000
|
||||
centerFrequency=10099616
|
||||
clickVFO=on
|
||||
dBmPanScaleMax10cm=-10
|
||||
dBmPanScaleMax10m=-10
|
||||
@ -2254,7 +2267,7 @@ lastCenterFrequency630m=472000
|
||||
lastCenterFrequency6m=50000000
|
||||
lastCenterFrequency70cm=420000000
|
||||
lastCenterFrequency80m=3672000
|
||||
lastCenterFrequencyGen=1800000
|
||||
lastCenterFrequencyGen=10099616
|
||||
lastVfoFrequency10cm=902000000
|
||||
lastVfoFrequency10m=28000000
|
||||
lastVfoFrequency125cm=222000000
|
||||
@ -2267,7 +2280,7 @@ lastVfoFrequency20m=14000000
|
||||
lastVfoFrequency2200m=135700
|
||||
lastVfoFrequency23cm=902000000
|
||||
lastVfoFrequency2m=144000000
|
||||
lastVfoFrequency30m=10117200
|
||||
lastVfoFrequency30m=10116816
|
||||
lastVfoFrequency33cm=902000000
|
||||
lastVfoFrequency40m=7000000
|
||||
lastVfoFrequency5cm=902000000
|
||||
@ -2280,12 +2293,13 @@ lastVfoFrequencyGen=10051000
|
||||
mouseWheelFreqStep=100
|
||||
panLocked=off
|
||||
panMode=FILLEDLINE
|
||||
vfoFrequency=10117200
|
||||
vfoFrequency=10116816
|
||||
waterfallMode=ENHANCED
|
||||
waterfallOffsetHi=20
|
||||
waterfallOffsetLo=-5
|
||||
|
||||
[receiver3]
|
||||
adcMode=ADC1
|
||||
agcAttacktime=1
|
||||
agcDecaytime=250
|
||||
agcFixedGain=30
|
||||
@ -2432,7 +2446,7 @@ lastVfoFrequency23cm=902000000
|
||||
lastVfoFrequency2m=144000000
|
||||
lastVfoFrequency30m=10117200
|
||||
lastVfoFrequency33cm=902000000
|
||||
lastVfoFrequency40m=7067548
|
||||
lastVfoFrequency40m=7122200
|
||||
lastVfoFrequency5cm=902000000
|
||||
lastVfoFrequency60m=5260000
|
||||
lastVfoFrequency630m=472000
|
||||
@ -2443,12 +2457,13 @@ lastVfoFrequencyGen=10051000
|
||||
mouseWheelFreqStep=100
|
||||
panLocked=off
|
||||
panMode=FILLEDLINE
|
||||
vfoFrequency=7067548
|
||||
vfoFrequency=7122200
|
||||
waterfallMode=ENHANCED
|
||||
waterfallOffsetHi=20
|
||||
waterfallOffsetLo=-5
|
||||
|
||||
[receiver4]
|
||||
adcMode=ADC1
|
||||
agcAttacktime=1
|
||||
agcDecaytime=250
|
||||
agcFixedGain=30
|
||||
@ -2612,6 +2627,7 @@ waterfallOffsetHi=20
|
||||
waterfallOffsetLo=-5
|
||||
|
||||
[receiver5]
|
||||
adcMode=ADC1
|
||||
agcAttacktime=1
|
||||
agcDecaytime=250
|
||||
agcFixedGain=30
|
||||
@ -2775,6 +2791,7 @@ waterfallOffsetHi=20
|
||||
waterfallOffsetLo=-5
|
||||
|
||||
[receiver6]
|
||||
adcMode=ADC1
|
||||
agcAttacktime=1
|
||||
agcDecaytime=250
|
||||
agcFixedGain=30
|
||||
@ -2938,6 +2955,7 @@ waterfallOffsetHi=20
|
||||
waterfallOffsetLo=-5
|
||||
|
||||
[receiver7]
|
||||
adcMode=ADC1
|
||||
agcAttacktime=1
|
||||
agcDecaytime=250
|
||||
agcFixedGain=30
|
||||
@ -3101,6 +3119,7 @@ waterfallOffsetHi=20
|
||||
waterfallOffsetLo=-5
|
||||
|
||||
[receiver8]
|
||||
adcMode=ADC1
|
||||
agcAttacktime=1
|
||||
agcDecaytime=250
|
||||
agcFixedGain=30
|
||||
@ -3264,6 +3283,7 @@ waterfallOffsetHi=20
|
||||
waterfallOffsetLo=-5
|
||||
|
||||
[receiver9]
|
||||
adcMode=ADC1
|
||||
agcAttacktime=1
|
||||
agcDecaytime=250
|
||||
agcFixedGain=30
|
||||
|
||||
@ -1,3 +1,3 @@
|
||||
[General]
|
||||
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x2\0\0\0\0\x3\x97\0\0\0\x33\0\0\f(\0\0\x6\x1\0\0\x3\x97\0\0\0X\0\0\f(\0\0\x6\x1\0\0\0\0\0\0\0\0\xf\0)
|
||||
windowState=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x1\0\0\0\x1\0\0\0\xf5\0\0\x4\xdc\xfc\x2\0\0\0\x5\xfb\0\0\0\x12\0R\0\x61\0\x64\0i\0o\0\x43\0t\0r\0l\0\0\0\0\0\xff\xff\xff\xff\0\0\0\x34\0\xff\xff\xff\xfb\0\0\0\x14\0S\0\x65\0r\0v\0\x65\0r\0\x43\0t\0r\0l\0\0\0\0\0\xff\xff\xff\xff\0\0\0\x34\0\xff\xff\xff\xfb\0\0\0\x12\0H\0P\0S\0\x44\0R\0\x43\0t\0r\0l\x1\0\0\0\xb3\0\0\x4\xdc\0\0\x4\xdc\0\xff\xff\xff\xfb\0\0\0\x12\0\x43\0h\0i\0r\0p\0\x43\0t\0r\0l\0\0\0\0\0\xff\xff\xff\xff\0\0\0\x34\0\xff\xff\xff\xfb\0\0\0\x16\0\x44\0i\0s\0p\0l\0\x61\0y\0\x43\0t\0r\0l\0\0\0\0\0\xff\xff\xff\xff\0\0\0\x34\0\xff\xff\xff\0\0\a\x97\0\0\x4\xdc\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0U\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x18\0\x44\0i\0s\0p\0l\0\x61\0y\0P\0\x61\0n\0\x65\0l\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x16\0M\0\x61\0i\0n\0\x42\0u\0t\0t\0o\0n\0s\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)
|
||||
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x2\0\0\0\0\x2[\0\0\x2\xae\0\0\t\xae\0\0\a_\0\0\x2[\0\0\x2\xd3\0\0\t\xae\0\0\a_\0\0\0\0\0\0\0\0\xf\0)
|
||||
windowState=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x1\0\0\0\x1\0\0\0\xf5\0\0\x3\xc3\xfc\x2\0\0\0\x5\xfb\0\0\0\x12\0R\0\x61\0\x64\0i\0o\0\x43\0t\0r\0l\0\0\0\0\0\xff\xff\xff\xff\0\0\0\x32\0\xff\xff\xff\xfb\0\0\0\x14\0S\0\x65\0r\0v\0\x65\0r\0\x43\0t\0r\0l\0\0\0\0\0\xff\xff\xff\xff\0\0\0\x32\0\xff\xff\xff\xfb\0\0\0\x12\0H\0P\0S\0\x44\0R\0\x43\0t\0r\0l\x1\0\0\0\xb1\0\0\x3\xc3\0\0\x3\xc3\0\xff\xff\xff\xfb\0\0\0\x12\0\x43\0h\0i\0r\0p\0\x43\0t\0r\0l\0\0\0\0\0\xff\xff\xff\xff\0\0\0\x32\0\xff\xff\xff\xfb\0\0\0\x16\0\x44\0i\0s\0p\0l\0\x61\0y\0\x43\0t\0r\0l\0\0\0\0\0\xff\xff\xff\xff\0\0\0\x32\0\xff\xff\xff\0\0\x6Y\0\0\x3\xc3\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x93\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x18\0\x44\0i\0s\0p\0l\0\x61\0y\0P\0\x61\0n\0\x65\0l\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x16\0M\0\x61\0i\0n\0\x42\0u\0t\0t\0o\0n\0s\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)
|
||||
|
||||
@ -59,6 +59,8 @@
|
||||
*/
|
||||
|
||||
static int firstTimeRxInit;
|
||||
static quint8 adc_rx1_4, adc_rx5_8, adc_rx9_16;
|
||||
static quint8 new_adc_rx1_4, new_adc_rx5_8, new_adc_rx9_16;
|
||||
|
||||
DataEngine::DataEngine(QObject *parent)
|
||||
: QObject(parent)
|
||||
@ -532,7 +534,6 @@ bool DataEngine::getFirmwareVersions() {
|
||||
|
||||
if (!initReceivers(rcvrs)) return false;
|
||||
|
||||
|
||||
if (!m_dataIO) createDataIO();
|
||||
|
||||
if (!m_dataProcessor) createDataProcessor();
|
||||
@ -3358,7 +3359,7 @@ void DataProcessor::encodeCCBytes() {
|
||||
|
||||
if (de->io.tx_freq_change >= 0) {
|
||||
|
||||
de->io.output_buffer[4] = de->RX.at(de->io.tx_freq_change)->getCtrFrequency() >> 24;
|
||||
de->io.output_buffer[4] = de->RX.at(de->io.tx_freq_change)->getCtrFrequency() >> 24;
|
||||
de->io.output_buffer[5] = de->RX.at(de->io.tx_freq_change)->getCtrFrequency() >> 16;
|
||||
de->io.output_buffer[6] = de->RX.at(de->io.tx_freq_change)->getCtrFrequency() >> 8;
|
||||
de->io.output_buffer[7] = de->RX.at(de->io.tx_freq_change)->getCtrFrequency();
|
||||
@ -3380,13 +3381,13 @@ void DataProcessor::encodeCCBytes() {
|
||||
// C0 = 0 0 0 1 0 0 0 x C1, C2, C3, C4 NCO Frequency in Hz for Receiver _7
|
||||
// C0 = 0 0 1 0 0 1 0 x C1, C2, C3, C4 NCO Frequency in Hz for Receiver _8 // Was 0 0 0 1 0 0 1 x
|
||||
// C0 = 0 0 1 1 0 1 0 x C1, C2, C3, C4 NCO Frequency in Hz for Receiver _16
|
||||
// C0 = 0 0 1 1 0 1 0 x C1, C2, C3, C4 NCO Frequency in Hz for Receiver _16
|
||||
// C0 = 0 1 0 1 0 1 0 x C1, C2, C3, C4 NCO Frequency in Hz for Receiver _32
|
||||
|
||||
// RRK, workaround for gige timing bug, make sure all rx freq's are sent on init.
|
||||
if (firstTimeRxInit) {
|
||||
firstTimeRxInit -= 1;
|
||||
de->io.rx_freq_change = firstTimeRxInit;
|
||||
}
|
||||
// RRK, workaround for gige timing bug, make sure all rx freq's are sent on init.
|
||||
if (firstTimeRxInit) {
|
||||
firstTimeRxInit -= 1;
|
||||
de->io.rx_freq_change = firstTimeRxInit;
|
||||
}
|
||||
|
||||
if (de->io.rx_freq_change >= 0) {
|
||||
|
||||
@ -3526,9 +3527,42 @@ void DataProcessor::encodeCCBytes() {
|
||||
for (int i = 0; i < 5; i++)
|
||||
de->io.output_buffer[i+3] = de->io.control_out[i];
|
||||
|
||||
// check if we need to update ADC C&C's
|
||||
new_adc_rx1_4 = new_adc_rx5_8 = new_adc_rx9_16 = 0;
|
||||
for (int i = 0; i < set->getNumberOfReceivers(); i++) {
|
||||
if (i < 4) new_adc_rx1_4 |= de->RX.at(i)->getADCMode() << (i * 2);
|
||||
else if (i < 8) new_adc_rx5_8 |= de->RX.at(i)->getADCMode() << ((i-4) * 2);
|
||||
else if (i < 16) new_adc_rx9_16 |= de->RX.at(i)->getADCMode() << (i-8);
|
||||
}
|
||||
|
||||
if ((new_adc_rx1_4 != adc_rx1_4) || (new_adc_rx5_8 != adc_rx5_8) || (new_adc_rx9_16 != adc_rx9_16))
|
||||
m_sendState = 4;
|
||||
else
|
||||
m_sendState = 0;
|
||||
break;
|
||||
|
||||
case 4:
|
||||
// setup data for ADC c&c's
|
||||
adc_rx1_4 = new_adc_rx1_4;
|
||||
adc_rx5_8 = new_adc_rx5_8;
|
||||
adc_rx9_16 = new_adc_rx9_16;
|
||||
|
||||
de->io.control_out[0] = 0x1C; // 0 0 0 1 1 1 0 x
|
||||
de->io.control_out[1] = adc_rx1_4; // C1
|
||||
de->io.control_out[2] = adc_rx5_8; // C2
|
||||
de->io.control_out[3] = 0x0; // C3, ADC Input Attenuator Tx (0-31dB) [4:0]
|
||||
de->io.control_out[4] = adc_rx9_16; // C4
|
||||
|
||||
// fill the out buffer with the C&C bytes
|
||||
for (int i = 0; i < 5; i++)
|
||||
de->io.output_buffer[i+3] = de->io.control_out[i];
|
||||
|
||||
//DATA_PROCESSOR_DEBUG << "rx_adc_change rcvr: " << hex << new_adc_rx1_4 << "," << hex << new_adc_rx5_8 << "," << hex << new_adc_rx9_16;
|
||||
|
||||
// round finished
|
||||
m_sendState = 0;
|
||||
break;
|
||||
|
||||
}
|
||||
de->io.mutex.unlock();
|
||||
|
||||
|
||||
@ -119,6 +119,12 @@ void Receiver::setupConnections() {
|
||||
this,
|
||||
SLOT(setHamBand(QObject *, int, bool, HamBand)));
|
||||
|
||||
CHECKED_CONNECT(
|
||||
set,
|
||||
SIGNAL(adcModeChanged(QObject *, int, ADCMode)),
|
||||
this,
|
||||
SLOT(setADCMode(QObject *, int, ADCMode)));
|
||||
|
||||
CHECKED_CONNECT(
|
||||
set,
|
||||
SIGNAL(agcModeChanged(QObject *, int, AGCMode, bool)),
|
||||
@ -220,6 +226,7 @@ void Receiver::setReceiverData(TReceiver data) {
|
||||
m_hamBand = m_receiverData.hamBand;
|
||||
m_dspMode = m_receiverData.dspMode;
|
||||
m_dspModeList = m_receiverData.dspModeList;
|
||||
m_adcMode = m_receiverData.adcMode;
|
||||
m_agcMode = m_receiverData.agcMode;
|
||||
m_agcGain = m_receiverData.acgGain;
|
||||
m_agcFixedGain_dB = m_receiverData.agcFixedGain_dB;
|
||||
@ -478,6 +485,18 @@ void Receiver::setDspMode(QObject *sender, int rx, DSPMode mode) {
|
||||
//emit messageEvent(msg.arg(rx).arg(set->getDSPModeString(m_dspMode)));
|
||||
}
|
||||
|
||||
void Receiver::setADCMode(QObject *sender, int rx, ADCMode mode) {
|
||||
|
||||
Q_UNUSED(sender)
|
||||
|
||||
if (m_receiver != rx) return;
|
||||
if (m_adcMode == mode) return;
|
||||
|
||||
m_adcMode = mode;
|
||||
|
||||
//RECEIVER_DEBUG << "RRK setADCMode = " << m_adcMode;
|
||||
}
|
||||
|
||||
void Receiver::setAGCMode(QObject *sender, int rx, AGCMode mode, bool hang) {
|
||||
|
||||
Q_UNUSED(sender)
|
||||
|
||||
@ -62,6 +62,7 @@ public:
|
||||
QSDR::_DSPCore getDSPCoreMode() const;
|
||||
QHostAddress getPeerAddress() { return m_peerAddress; }
|
||||
HamBand getHamBand() { return m_hamBand; }
|
||||
ADCMode getADCMode() { return m_adcMode; }
|
||||
AGCMode getAGCMode() { return m_agcMode; }
|
||||
QList<int> getMercuryAttenuators() { return m_mercuryAttenuators; }
|
||||
QList<DSPMode> getDSPModeList() { return m_dspModeList; }
|
||||
@ -116,6 +117,7 @@ public slots:
|
||||
void setSampleRate(int value);
|
||||
void setHamBand(QObject* sender, int rx, bool byBtn, HamBand band);
|
||||
void setDspMode(QObject* sender, int rx, DSPMode mode);
|
||||
void setADCMode(QObject* sender, int rx, ADCMode mode);
|
||||
void setAGCMode(QObject* sender, int rx, AGCMode mode, bool hang);
|
||||
void setAGCGain(QObject* sender, int rx, int value);
|
||||
void setAudioVolume(QObject* sender, int rx, float value);
|
||||
@ -171,6 +173,7 @@ private:
|
||||
HamBand m_hamBand;
|
||||
DSPMode m_dspMode;
|
||||
AGCMode m_agcMode;
|
||||
ADCMode m_adcMode;
|
||||
TDefaultFilterMode m_filterMode;
|
||||
|
||||
QList<long> m_lastCtrFrequencyList;
|
||||
|
||||
@ -163,6 +163,9 @@ QGLReceiverPanel::QGLReceiverPanel(QWidget *parent, int rx)
|
||||
|
||||
m_mouseWheelFreqStep = m_rxDataList.at(m_receiver).mouseWheelFreqStep;
|
||||
|
||||
m_adcMode = m_rxDataList.at(m_receiver).adcMode;
|
||||
m_adcModeString = set->getADCModeString(m_receiver);
|
||||
|
||||
m_agcMode = m_rxDataList.at(m_receiver).agcMode;
|
||||
m_agcModeString = set->getAGCModeString(m_receiver);
|
||||
m_agcFixedGain = m_rxDataList.at(m_receiver).agcFixedGain_dB;
|
||||
@ -545,6 +548,12 @@ void QGLReceiverPanel::setupConnections() {
|
||||
this,
|
||||
SLOT(setAGCLinesStatus(QObject *, bool, int)));
|
||||
|
||||
CHECKED_CONNECT(
|
||||
set,
|
||||
SIGNAL(adcModeChanged(QObject *, int, ADCMode)),
|
||||
this,
|
||||
SLOT(setADCMode(QObject *, int, ADCMode)));
|
||||
|
||||
CHECKED_CONNECT(
|
||||
set,
|
||||
SIGNAL(dspModeChanged(QObject *, int, DSPMode)),
|
||||
@ -1976,6 +1985,7 @@ void QGLReceiverPanel::drawReceiverInfo() {
|
||||
|
||||
int alpha;
|
||||
QColor colFlt;
|
||||
QColor colADC;
|
||||
QColor colAGC;
|
||||
QColor colDSP;
|
||||
QRect rect;
|
||||
@ -1986,6 +1996,7 @@ void QGLReceiverPanel::drawReceiverInfo() {
|
||||
|
||||
colDSP = QColor(1, 190, 180, 180);
|
||||
colFlt = QColor(200, 190, 50, 180);
|
||||
colADC = QColor(215, 130, 50, 180);
|
||||
if (m_showAGCLines)
|
||||
colAGC = QColor(255, 170, 90, 180);
|
||||
else
|
||||
@ -1999,12 +2010,14 @@ void QGLReceiverPanel::drawReceiverInfo() {
|
||||
colFlt = QColor(110, 100, 1, 180);
|
||||
colDSP = QColor(1, 100, 90, 180);
|
||||
colAGC = QColor(165, 80, 1);
|
||||
colADC = QColor(165, 80, 1);
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
||||
alpha = 100;
|
||||
colFlt = m_darkColor;
|
||||
colADC = m_darkColor;
|
||||
colAGC = m_darkColor;
|
||||
colDSP = m_darkColor;
|
||||
}
|
||||
@ -2044,6 +2057,17 @@ void QGLReceiverPanel::drawReceiverInfo() {
|
||||
qglColor(QColor(0, 0, 0));
|
||||
m_oglTextSmall->renderText(x1+1, y1-2, 3.0f, str);
|
||||
|
||||
// ADC mode
|
||||
x1 += m_fonts.smallFontMetrics->width(str) + 4;
|
||||
|
||||
str = "%1";
|
||||
str = str.arg(m_adcModeString);
|
||||
|
||||
rect = QRect(x1, y1, m_fonts.smallFontMetrics->width(str) + 4, m_fonts.fontHeightSmallFont + 2);
|
||||
drawGLRect(rect, colADC, 2.0f);
|
||||
qglColor(QColor(0, 0, 0));
|
||||
m_oglTextSmall->renderText(x1+1, y1-2, 3.0f, str);
|
||||
|
||||
// VFO frequency
|
||||
TFrequency f;
|
||||
f.freqMHz = (int)(m_vfoFrequency / 1000);
|
||||
@ -4474,6 +4498,18 @@ void QGLReceiverPanel::setAGCLineFixedLevel(QObject *sender, int rx, qreal value
|
||||
//GRAPHICS_DEBUG << "m_agcFixedGain = " << m_agcFixedGain;
|
||||
}
|
||||
|
||||
void QGLReceiverPanel::setADCMode(QObject *sender, int rx, ADCMode mode) {
|
||||
|
||||
Q_UNUSED(sender)
|
||||
|
||||
if (m_receiver != rx) return;
|
||||
|
||||
m_adcMode = mode;
|
||||
m_adcModeString = set->getADCModeString(m_receiver);
|
||||
|
||||
update();
|
||||
}
|
||||
|
||||
void QGLReceiverPanel::setAGCMode(QObject *sender, int rx, AGCMode mode, bool hangEnabled) {
|
||||
|
||||
Q_UNUSED(sender)
|
||||
|
||||
@ -91,6 +91,7 @@ private:
|
||||
|
||||
DualModeAverager* averager;
|
||||
RadioPopupWidget* radioPopup;
|
||||
ADCMode m_adcMode;
|
||||
AGCMode m_agcMode;
|
||||
DSPMode m_dspMode;
|
||||
PanGraphicsMode m_panMode;
|
||||
@ -102,6 +103,7 @@ private:
|
||||
QTime peakHoldTimer;
|
||||
|
||||
QString m_bandText;
|
||||
QString m_adcModeString;
|
||||
QString m_agcModeString;
|
||||
QString m_dspModeString;
|
||||
QString m_filterWidthString;
|
||||
@ -416,6 +418,7 @@ private slots:
|
||||
void updateADCStatus();
|
||||
void setFramesPerSecond(QObject* sender, int rx, int value);
|
||||
void setDSPMode(QObject* sender, int rx, DSPMode mode);
|
||||
void setADCMode(QObject* sender, int rx, ADCMode mode);
|
||||
void setAGCMode(QObject* sender, int rx, AGCMode mode, bool hangEnabled);
|
||||
void setAGCLineLevels(QObject* sender, int rx, qreal thresh, qreal hang);
|
||||
void setAGCLineFixedLevel(QObject* sender, int rx, qreal value);
|
||||
|
||||
@ -22,4 +22,4 @@
|
||||
* License along with this program; if not, write to the
|
||||
* Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
*/
|
||||
|
||||
@ -85,6 +85,13 @@ typedef enum _dspMode {
|
||||
|
||||
} DSPMode;
|
||||
|
||||
typedef enum _adcMode {
|
||||
|
||||
adc1,
|
||||
adc2
|
||||
|
||||
} ADCMode;
|
||||
|
||||
typedef enum _agcMode {
|
||||
|
||||
agcOFF,
|
||||
@ -115,6 +122,7 @@ typedef enum _defaultFilterMode {
|
||||
|
||||
Q_DECLARE_METATYPE (HamBand)
|
||||
Q_DECLARE_METATYPE (DSPMode)
|
||||
Q_DECLARE_METATYPE (ADCMode)
|
||||
Q_DECLARE_METATYPE (AGCMode)
|
||||
Q_DECLARE_METATYPE (TDefaultFilterMode)
|
||||
|
||||
|
||||
@ -275,6 +275,12 @@ void MainWindow::setupConnections() {
|
||||
this,
|
||||
SLOT(setTxAllowed(QObject *, bool)));
|
||||
|
||||
CHECKED_CONNECT(
|
||||
set,
|
||||
SIGNAL(adcModeChanged(QObject *, int, ADCMode)),
|
||||
this,
|
||||
SLOT(setADCMode(QObject *, int, ADCMode)));
|
||||
|
||||
CHECKED_CONNECT(
|
||||
set,
|
||||
SIGNAL(agcModeChanged(QObject *, int, AGCMode, bool)),
|
||||
@ -414,6 +420,7 @@ void MainWindow::setup() {
|
||||
setAttenuatorButton();
|
||||
|
||||
m_agcMode = set->getAGCMode(0);
|
||||
m_adcMode = set->getADCMode(0);
|
||||
|
||||
// initialize all Signal/Slot connections
|
||||
setupConnections();
|
||||
@ -1784,6 +1791,14 @@ void MainWindow::setTxAllowed(QObject *sender, bool value) {
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::setADCMode(QObject *sender, int rx, ADCMode mode) {
|
||||
|
||||
Q_UNUSED(sender)
|
||||
Q_UNUSED(rx)
|
||||
|
||||
m_adcMode = mode;
|
||||
}
|
||||
|
||||
void MainWindow::setAGCMode(QObject *sender, int rx, AGCMode mode, bool hang) {
|
||||
|
||||
Q_UNUSED(sender)
|
||||
|
||||
@ -200,6 +200,7 @@ private:
|
||||
|
||||
QSlider* m_volumeSlider;
|
||||
QSlider* m_agcGainSlider;
|
||||
ADCMode m_adcMode;
|
||||
AGCMode m_agcMode;
|
||||
|
||||
DataEngine* m_dataEngine;
|
||||
@ -318,6 +319,7 @@ private slots:
|
||||
void getNetworkInterfaces();
|
||||
void setMainVolume(int value);
|
||||
//void setHamBand(QObject *sender, int rx, bool byButton, HamBand band);
|
||||
void setADCMode(QObject *sender, int rx, ADCMode mode);
|
||||
void setAGCMode(QObject *sender, int rx, AGCMode mode, bool hang);
|
||||
void setAGCGain(int value);
|
||||
//void setAGCGain(QObject *sender, int rx, int value);
|
||||
|
||||
@ -84,6 +84,7 @@ RadioPopupWidget::RadioPopupWidget(QWidget *parent, int rx)
|
||||
m_hamBand = m_receiverDataList.at(m_receiver).hamBand;
|
||||
//m_dspMode = m_receiverDataList.at(m_receiver).dspMode;
|
||||
m_dspModeList = m_receiverDataList.at(m_receiver).dspModeList;
|
||||
m_adcMode = m_receiverDataList.at(m_receiver).adcMode;
|
||||
m_agcMode = m_receiverDataList.at(m_receiver).agcMode;
|
||||
m_filterMode = m_receiverDataList.at(m_receiver).defaultFilterMode;
|
||||
m_filterLo = m_receiverDataList.at(m_receiver).filterLo;
|
||||
@ -119,6 +120,7 @@ RadioPopupWidget::RadioPopupWidget(QWidget *parent, int rx)
|
||||
createOptionsBtnGroup();
|
||||
createFFTOptionsGroup();
|
||||
createBandBtnGroup();
|
||||
createAdcBtnGroup();
|
||||
createModeBtnGroup();
|
||||
createAgcBtnGroup();
|
||||
createFilterBtnWidgetA();
|
||||
@ -156,6 +158,8 @@ RadioPopupWidget::RadioPopupWidget(QWidget *parent, int rx)
|
||||
mainLayout->addSpacing(16);
|
||||
mainLayout->addLayout(bandVBox);
|
||||
mainLayout->addSpacing(8);
|
||||
mainLayout->addLayout(adcVBox);
|
||||
mainLayout->addSpacing(8);
|
||||
mainLayout->addLayout(modeVBox);
|
||||
mainLayout->addSpacing(8);
|
||||
mainLayout->addWidget(m_filterStackedWidget);
|
||||
@ -170,6 +174,7 @@ RadioPopupWidget::RadioPopupWidget(QWidget *parent, int rx)
|
||||
bandBtnList.at(m_hamBand)->update();
|
||||
|
||||
dspModeChanged(this, 0, m_dspModeList.at(m_hamBand));
|
||||
adcModeChanged(this, m_receiver, m_adcMode);
|
||||
agcModeChanged(this, 0, m_agcMode, false);
|
||||
filterChanged(this, 0, m_filterLo, m_filterHi);
|
||||
|
||||
@ -268,6 +273,12 @@ void RadioPopupWidget::setupConnections() {
|
||||
this,
|
||||
SLOT(dspModeChanged(QObject *, int, DSPMode)));
|
||||
|
||||
CHECKED_CONNECT(
|
||||
set,
|
||||
SIGNAL(adcModeChanged(QObject *, int, ADCMode)),
|
||||
this,
|
||||
SLOT(adcModeChanged(QObject *, int, ADCMode)));
|
||||
|
||||
CHECKED_CONNECT(
|
||||
set,
|
||||
SIGNAL(agcModeChanged(QObject *, int, AGCMode, bool)),
|
||||
@ -739,6 +750,34 @@ void RadioPopupWidget::createBandBtnGroup() {
|
||||
|
||||
}
|
||||
|
||||
void RadioPopupWidget::createAdcBtnGroup() {
|
||||
adc1Btn = new AeroButton("ADC1", this);
|
||||
adcModeBtnList.append(adc1Btn);
|
||||
CHECKED_CONNECT(adc1Btn, SIGNAL(clicked()), this, SLOT(adcModeChangedByBtn()));
|
||||
|
||||
adc2Btn = new AeroButton("ADC2", this);
|
||||
adcModeBtnList.append(adc2Btn);
|
||||
CHECKED_CONNECT(adc2Btn, SIGNAL(clicked()), this, SLOT(adcModeChangedByBtn()));
|
||||
|
||||
foreach (AeroButton *btn, adcModeBtnList) {
|
||||
|
||||
btn->setRoundness(0);
|
||||
btn->setFixedHeight(btn_height);
|
||||
btn->setStyleSheet(set->getMiniButtonStyle());
|
||||
btn->update();
|
||||
}
|
||||
|
||||
QHBoxLayout *hbox1 = new QHBoxLayout();
|
||||
hbox1->setContentsMargins(0, 0, 0, 0);
|
||||
hbox1->setSpacing(0);
|
||||
hbox1->addWidget(adc1Btn);
|
||||
hbox1->addWidget(adc2Btn);
|
||||
|
||||
adcVBox = new QVBoxLayout;
|
||||
adcVBox->setSpacing(1);
|
||||
adcVBox->addLayout(hbox1);
|
||||
}
|
||||
|
||||
void RadioPopupWidget::createModeBtnGroup() {
|
||||
|
||||
lsbBtn = new AeroButton("LSB", this);
|
||||
@ -2249,6 +2288,41 @@ void RadioPopupWidget::filterChanged(QObject *sender, int rx, qreal low, qreal h
|
||||
}
|
||||
}
|
||||
|
||||
void RadioPopupWidget::adcModeChangedByBtn() {
|
||||
|
||||
AeroButton *button = qobject_cast<AeroButton *>(sender());
|
||||
int btn = adcModeBtnList.indexOf(button);
|
||||
|
||||
foreach(AeroButton *btn, adcModeBtnList) {
|
||||
|
||||
btn->setBtnState(AeroButton::OFF);
|
||||
btn->update();
|
||||
}
|
||||
|
||||
set->setADCMode(this, m_receiver, (ADCMode) btn);
|
||||
m_adcMode = (ADCMode) btn;
|
||||
|
||||
button->setBtnState(AeroButton::ON);
|
||||
button->update();
|
||||
}
|
||||
|
||||
void RadioPopupWidget::adcModeChanged(QObject *sender, int rx, ADCMode mode) {
|
||||
|
||||
Q_UNUSED(sender)
|
||||
//RADIOPOPUP_DEBUG << "RadioPopupWidget::adcModeChanged rx: " << rx;
|
||||
if (m_receiver != rx) return;
|
||||
m_adcMode = mode;
|
||||
|
||||
foreach(AeroButton *btn, adcModeBtnList) {
|
||||
|
||||
btn->setBtnState(AeroButton::OFF);
|
||||
btn->update();
|
||||
}
|
||||
|
||||
adcModeBtnList.at(mode)->setBtnState(AeroButton::ON);
|
||||
adcModeBtnList.at(mode)->update();
|
||||
}
|
||||
|
||||
void RadioPopupWidget::agcModeChangedByBtn() {
|
||||
|
||||
AeroButton *button = qobject_cast<AeroButton *>(sender());
|
||||
|
||||
@ -95,6 +95,7 @@ private:
|
||||
QVBoxLayout* optionsVBox;
|
||||
QVBoxLayout* fftOptionsVBox;
|
||||
QVBoxLayout* bandVBox;
|
||||
QVBoxLayout* adcVBox;
|
||||
QVBoxLayout* modeVBox;
|
||||
QVBoxLayout* agcVBox;
|
||||
//QVBoxLayout* mercuryBtnVBox();
|
||||
@ -181,6 +182,11 @@ private:
|
||||
|
||||
QList<AeroButton *> dspModeBtnList;
|
||||
|
||||
AeroButton* adc1Btn;
|
||||
AeroButton* adc2Btn;
|
||||
|
||||
QList<AeroButton *> adcModeBtnList;
|
||||
|
||||
AeroButton* showAGCLines;
|
||||
AeroButton* agcOFF;
|
||||
AeroButton* agcLONG;
|
||||
@ -240,6 +246,7 @@ private:
|
||||
|
||||
HamBand m_hamBand;
|
||||
//DSPMode m_dspMode;
|
||||
ADCMode m_adcMode;
|
||||
AGCMode m_agcMode;
|
||||
TDefaultFilterMode m_filterMode;
|
||||
|
||||
@ -288,6 +295,7 @@ private slots:
|
||||
void createOptionsBtnGroup();
|
||||
void createFFTOptionsGroup();
|
||||
void createBandBtnGroup();
|
||||
void createAdcBtnGroup();
|
||||
void createModeBtnGroup();
|
||||
void createAgcBtnGroup();
|
||||
void createFilterBtnWidgetA();
|
||||
@ -314,6 +322,8 @@ private slots:
|
||||
void bandChanged(QObject *sender, int rx, bool byButton, HamBand band);
|
||||
void dspModeChangedByBtn();
|
||||
void dspModeChanged(QObject *sender, int rx, DSPMode mode);
|
||||
void adcModeChangedByBtn();
|
||||
void adcModeChanged(QObject *sender, int rx, ADCMode mode);
|
||||
void agcModeChangedByBtn();
|
||||
void agcModeChanged(QObject *sender, int rx, AGCMode mode, bool hang);
|
||||
void agcShowLinesChanged();
|
||||
|
||||
@ -112,6 +112,10 @@ private:
|
||||
AeroButton *samBtn;
|
||||
AeroButton *drmBtn;
|
||||
|
||||
QList<AeroButton *> adcModeBtnList;
|
||||
AeroButton *adc1Btn;
|
||||
AeroButton *adc2Btn;
|
||||
|
||||
AeroButton *filter1kBtnA;
|
||||
AeroButton *filter1k8BtnA;
|
||||
AeroButton *filter2k1BtnA;
|
||||
@ -162,6 +166,7 @@ private:
|
||||
QList<DSPMode> m_dspModeList;
|
||||
HamBand m_hamBand;
|
||||
//DSPMode m_dspMode;
|
||||
ADCMode m_adcMode;
|
||||
AGCMode m_agcMode;
|
||||
TDefaultFilterMode m_filterMode;
|
||||
|
||||
|
||||
@ -58,6 +58,7 @@ Settings::Settings(QObject *parent)
|
||||
qRegisterMetaType<QSDR::_HWInterfaceMode>();
|
||||
qRegisterMetaType<HamBand>();
|
||||
qRegisterMetaType<DSPMode>();
|
||||
qRegisterMetaType<ADCMode>();
|
||||
qRegisterMetaType<AGCMode>();
|
||||
qRegisterMetaType<TDefaultFilterMode>();
|
||||
qRegisterMetaType<TNetworkDevicecard>();
|
||||
@ -813,6 +814,14 @@ int Settings::loadSettings() {
|
||||
else
|
||||
m_receiverDataList[i].hangEnabled = true;
|
||||
|
||||
cstr = m_rxStringList.at(i);
|
||||
cstr.append("/adcMode");
|
||||
str = settings->value(cstr, "ADC1").toString();
|
||||
if (str == "ADC1")
|
||||
m_receiverDataList[i].adcMode = adc1;
|
||||
else
|
||||
m_receiverDataList[i].adcMode = adc2;
|
||||
|
||||
cstr = m_rxStringList.at(i);
|
||||
cstr.append("/panMode");
|
||||
|
||||
@ -1873,6 +1882,14 @@ int Settings::saveSettings() {
|
||||
else if (m_receiverDataList[i].agcMode == agcFAST)
|
||||
settings->setValue(str, "FAST");
|
||||
|
||||
str = m_rxStringList.at(i);
|
||||
str.append("/adcMode");
|
||||
|
||||
if (m_receiverDataList[i].adcMode == adc1)
|
||||
settings->setValue(str, "ADC1");
|
||||
else if (m_receiverDataList[i].adcMode == adc2)
|
||||
settings->setValue(str, "ADC2");
|
||||
|
||||
str = m_rxStringList.at(i);
|
||||
str.append("/panMode");
|
||||
|
||||
@ -3627,6 +3644,23 @@ AGCMode Settings::getAGCMode(int rx) {
|
||||
return m_receiverDataList.at(rx).agcMode;
|
||||
}
|
||||
|
||||
ADCMode Settings::getADCMode(int rx) {
|
||||
|
||||
return m_receiverDataList.at(rx).adcMode;
|
||||
}
|
||||
|
||||
QString Settings::getADCModeString(int rx) {
|
||||
|
||||
ADCMode mode = getADCMode(rx);
|
||||
QString str;
|
||||
if (mode == adc1)
|
||||
str = "ADC1";
|
||||
else
|
||||
str = "ADC2";
|
||||
|
||||
return str;
|
||||
}
|
||||
|
||||
QString Settings::getAGCModeString(int rx) {
|
||||
|
||||
AGCMode mode = getAGCMode(rx);
|
||||
@ -3660,6 +3694,16 @@ QString Settings::getAGCModeString(int rx) {
|
||||
return str;
|
||||
}
|
||||
|
||||
void Settings::setADCMode(QObject *sender, int rx, ADCMode mode) {
|
||||
|
||||
QMutexLocker locker(&settingsMutex);
|
||||
|
||||
if (m_receiverDataList[rx].adcMode == mode) return;
|
||||
m_receiverDataList[rx].adcMode = mode;
|
||||
|
||||
emit adcModeChanged(sender, rx, mode);
|
||||
}
|
||||
|
||||
void Settings::setAGCMode(QObject *sender, int rx, AGCMode mode) {
|
||||
|
||||
QMutexLocker locker(&settingsMutex);
|
||||
|
||||
@ -446,6 +446,7 @@ typedef struct _hpsdrParameter {
|
||||
//int hpsdr_122_88MhzSource;
|
||||
int mic_source;
|
||||
int rxClass;
|
||||
int rx_adc_change;
|
||||
int rx_freq_change;
|
||||
int tx_freq_change;
|
||||
|
||||
@ -506,6 +507,7 @@ typedef struct _receiver {
|
||||
HamBand hamBand;
|
||||
HamBand lastHamBand;
|
||||
DSPMode dspMode;
|
||||
ADCMode adcMode;
|
||||
AGCMode agcMode;
|
||||
TDefaultFilterMode defaultFilterMode;
|
||||
PanGraphicsMode panMode;
|
||||
@ -846,6 +848,7 @@ signals:
|
||||
|
||||
void hamBandChanged(QObject *sender, int rx, bool byButton, HamBand band);
|
||||
void dspModeChanged(QObject *sender, int rx, DSPMode mode);
|
||||
void adcModeChanged(QObject *sender, int rx, ADCMode mode);
|
||||
void agcModeChanged(QObject *sender, int rx, AGCMode mode, bool hangEnabled);
|
||||
void agcHangEnabledChanged(QObject *sender, int rx, bool hang);
|
||||
void agcGainChanged(QObject *sender, int rx, int value);
|
||||
@ -1077,7 +1080,9 @@ public:
|
||||
|
||||
qreal getMainVolume(int rx);
|
||||
qreal getMouseWheelFreqStep(int rx);// { return m_mouseWheelFreqStep; }
|
||||
ADCMode getADCMode(int rx);
|
||||
AGCMode getAGCMode(int rx);
|
||||
QString getADCModeString(int rx);
|
||||
QString getAGCModeString(int rx);
|
||||
int getAGCGain(int rx);
|
||||
qreal getAGCMaximumGain_dB(int rx);
|
||||
@ -1268,6 +1273,7 @@ public slots:
|
||||
|
||||
void setHamBand(QObject* sender, int rx, bool byButton, HamBand band);
|
||||
void setDSPMode(QObject* sender, int rx, DSPMode mode);
|
||||
void setADCMode(QObject* sender, int rx, ADCMode mode);
|
||||
void setAGCMode(QObject* sender, int rx, AGCMode mode);
|
||||
void setAGCGain(QObject* sender, int rx, int value);
|
||||
void setAGCMaximumGain_dB(QObject *sender, int rx, qreal value);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user