Added ability to select ADC1 or ADC2 from the floating rcvr widget.

This commit is contained in:
mh
2018-01-13 08:07:56 -05:00
parent 7f760f11ed
commit efde2f1a1f
16 changed files with 328 additions and 49 deletions
+58 -38
View File
@@ -1,7 +1,7 @@
[General] [General]
cudaSDR%20BETA%20=v0.3.2.13 cudaSDR%20BETA=v0.3.2.13+
cudaSDR%20BETA%20=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] [ChirpWSPR]
chirpAmplitude=75 chirpAmplitude=75
@@ -114,8 +114,8 @@ pennylane=false
audio_port=15000 audio_port=15000
hpsdr_local_ipAddress=192.168.1.1 hpsdr_local_ipAddress=192.168.1.1
listen_port=11000 listen_port=11000
metis_port=49359 metis_port=50792
server_ipAddress=192.168.15.1 server_ipAddress=192.168.1.1
server_port=52685 server_port=52685
socketBufferSize=32 socketBufferSize=32
@@ -167,6 +167,7 @@ txState80m=0
txStateGen=0 txStateGen=0
[receiver0] [receiver0]
adcMode=ADC1
agcAttacktime=1 agcAttacktime=1
agcDecaytime=250 agcDecaytime=250
agcFixedGain=30 agcFixedGain=30
@@ -201,7 +202,7 @@ attenuatorGen=off
audioVolume=34 audioVolume=34
averaging=on averaging=on
averagingCnt=5 averagingCnt=5
centerFrequency=3716500 centerFrequency=3713673
clickVFO=on clickVFO=on
dBmPanScaleMax10cm=-10 dBmPanScaleMax10cm=-10
dBmPanScaleMax10m=-30 dBmPanScaleMax10m=-30
@@ -297,8 +298,8 @@ lastCenterFrequency60m=5260000
lastCenterFrequency630m=472000 lastCenterFrequency630m=472000
lastCenterFrequency6m=50000000 lastCenterFrequency6m=50000000
lastCenterFrequency70cm=420000000 lastCenterFrequency70cm=420000000
lastCenterFrequency80m=3716500 lastCenterFrequency80m=3713673
lastCenterFrequencyGen=1375098 lastCenterFrequencyGen=1374997
lastVfoFrequency10cm=902000000 lastVfoFrequency10cm=902000000
lastVfoFrequency10m=28676442 lastVfoFrequency10m=28676442
lastVfoFrequency125cm=222000000 lastVfoFrequency125cm=222000000
@@ -319,17 +320,18 @@ lastVfoFrequency60m=5260000
lastVfoFrequency630m=472000 lastVfoFrequency630m=472000
lastVfoFrequency6m=50000000 lastVfoFrequency6m=50000000
lastVfoFrequency70cm=420000000 lastVfoFrequency70cm=420000000
lastVfoFrequency80m=3740100 lastVfoFrequency80m=3793000
lastVfoFrequencyGen=13959500 lastVfoFrequencyGen=1371299
mouseWheelFreqStep=100 mouseWheelFreqStep=100
panLocked=off panLocked=off
panMode=FILLEDLINE panMode=FILLEDLINE
vfoFrequency=3740100 vfoFrequency=3793000
waterfallMode=ENHANCED waterfallMode=ENHANCED
waterfallOffsetHi=20 waterfallOffsetHi=20
waterfallOffsetLo=-5 waterfallOffsetLo=-5
[receiver1] [receiver1]
adcMode=ADC1
agcAttacktime=1 agcAttacktime=1
agcDecaytime=250 agcDecaytime=250
agcFixedGain=30 agcFixedGain=30
@@ -364,7 +366,7 @@ attenuatorGen=off
audioVolume=40 audioVolume=40
averaging=on averaging=on
averagingCnt=5 averagingCnt=5
centerFrequency=28000000 centerFrequency=14209365
clickVFO=on clickVFO=on
dBmPanScaleMax10cm=-10 dBmPanScaleMax10cm=-10
dBmPanScaleMax10m=-53 dBmPanScaleMax10m=-53
@@ -374,7 +376,7 @@ dBmPanScaleMax13cm=-10
dBmPanScaleMax15m=-10 dBmPanScaleMax15m=-10
dBmPanScaleMax160m=-19 dBmPanScaleMax160m=-19
dBmPanScaleMax17m=-10 dBmPanScaleMax17m=-10
dBmPanScaleMax20m=-34 dBmPanScaleMax20m=-15
dBmPanScaleMax2200m=-10 dBmPanScaleMax2200m=-10
dBmPanScaleMax23cm=-10 dBmPanScaleMax23cm=-10
dBmPanScaleMax2m=-10 dBmPanScaleMax2m=-10
@@ -386,7 +388,7 @@ dBmPanScaleMax60m=-10
dBmPanScaleMax630m=-10 dBmPanScaleMax630m=-10
dBmPanScaleMax6m=-10 dBmPanScaleMax6m=-10
dBmPanScaleMax70cm=-10 dBmPanScaleMax70cm=-10
dBmPanScaleMax80m=-44 dBmPanScaleMax80m=-49
dBmPanScaleMaxGen=-10 dBmPanScaleMaxGen=-10
dBmPanScaleMin10cm=-120 dBmPanScaleMin10cm=-120
dBmPanScaleMin10m=-163 dBmPanScaleMin10m=-163
@@ -396,7 +398,7 @@ dBmPanScaleMin13cm=-120
dBmPanScaleMin15m=-120 dBmPanScaleMin15m=-120
dBmPanScaleMin160m=-129 dBmPanScaleMin160m=-129
dBmPanScaleMin17m=-120 dBmPanScaleMin17m=-120
dBmPanScaleMin20m=-144 dBmPanScaleMin20m=-125
dBmPanScaleMin2200m=-120 dBmPanScaleMin2200m=-120
dBmPanScaleMin23cm=-120 dBmPanScaleMin23cm=-120
dBmPanScaleMin2m=-120 dBmPanScaleMin2m=-120
@@ -408,7 +410,7 @@ dBmPanScaleMin60m=-120
dBmPanScaleMin630m=-120 dBmPanScaleMin630m=-120
dBmPanScaleMin6m=-120 dBmPanScaleMin6m=-120
dBmPanScaleMin70cm=-120 dBmPanScaleMin70cm=-120
dBmPanScaleMin80m=-154 dBmPanScaleMin80m=-159
dBmPanScaleMinGen=-120 dBmPanScaleMinGen=-120
dspCore=qtdsp dspCore=qtdsp
dspMode10cm=LSB dspMode10cm=LSB
@@ -434,8 +436,8 @@ dspMode70cm=LSB
dspMode80m=LSB dspMode80m=LSB
dspModeGen=LSB dspModeGen=LSB
fftAuto=off fftAuto=off
filterHi=-150 filterHi=3050
filterLo=-3050 filterLo=150
framesPerSecond=25 framesPerSecond=25
freqRulerPosition=5 freqRulerPosition=5
grid=on grid=on
@@ -461,16 +463,16 @@ lastCenterFrequency630m=472000
lastCenterFrequency6m=50000000 lastCenterFrequency6m=50000000
lastCenterFrequency70cm=420000000 lastCenterFrequency70cm=420000000
lastCenterFrequency80m=3673284 lastCenterFrequency80m=3673284
lastCenterFrequencyGen=7201153 lastCenterFrequencyGen=27998784
lastVfoFrequency10cm=902000000 lastVfoFrequency10cm=902000000
lastVfoFrequency10m=28000000 lastVfoFrequency10m=28025492
lastVfoFrequency125cm=222000000 lastVfoFrequency125cm=222000000
lastVfoFrequency12m=24890000 lastVfoFrequency12m=24890000
lastVfoFrequency13cm=902000000 lastVfoFrequency13cm=902000000
lastVfoFrequency15m=21000000 lastVfoFrequency15m=21000000
lastVfoFrequency160m=1864900 lastVfoFrequency160m=1864900
lastVfoFrequency17m=18068000 lastVfoFrequency17m=18068000
lastVfoFrequency20m=14255000 lastVfoFrequency20m=14219200
lastVfoFrequency2200m=135700 lastVfoFrequency2200m=135700
lastVfoFrequency23cm=902000000 lastVfoFrequency23cm=902000000
lastVfoFrequency2m=144000000 lastVfoFrequency2m=144000000
@@ -483,16 +485,17 @@ lastVfoFrequency630m=472000
lastVfoFrequency6m=50000000 lastVfoFrequency6m=50000000
lastVfoFrequency70cm=420000000 lastVfoFrequency70cm=420000000
lastVfoFrequency80m=3680200 lastVfoFrequency80m=3680200
lastVfoFrequencyGen=27958000 lastVfoFrequencyGen=27980600
mouseWheelFreqStep=100 mouseWheelFreqStep=100
panLocked=off panLocked=off
panMode=FILLEDLINE panMode=FILLEDLINE
vfoFrequency=28000000 vfoFrequency=14219200
waterfallMode=ENHANCED waterfallMode=ENHANCED
waterfallOffsetHi=20 waterfallOffsetHi=20
waterfallOffsetLo=-5 waterfallOffsetLo=-5
[receiver10] [receiver10]
adcMode=ADC1
agcAttacktime=1 agcAttacktime=1
agcDecaytime=250 agcDecaytime=250
agcFixedGain=30 agcFixedGain=30
@@ -656,6 +659,7 @@ waterfallOffsetHi=20
waterfallOffsetLo=-5 waterfallOffsetLo=-5
[receiver11] [receiver11]
adcMode=ADC1
agcAttacktime=1 agcAttacktime=1
agcDecaytime=250 agcDecaytime=250
agcFixedGain=30 agcFixedGain=30
@@ -700,7 +704,7 @@ dBmPanScaleMax13cm=-10
dBmPanScaleMax15m=-10 dBmPanScaleMax15m=-10
dBmPanScaleMax160m=-19 dBmPanScaleMax160m=-19
dBmPanScaleMax17m=-10 dBmPanScaleMax17m=-10
dBmPanScaleMax20m=-10 dBmPanScaleMax20m=-23
dBmPanScaleMax2200m=-10 dBmPanScaleMax2200m=-10
dBmPanScaleMax23cm=-10 dBmPanScaleMax23cm=-10
dBmPanScaleMax2m=-10 dBmPanScaleMax2m=-10
@@ -722,7 +726,7 @@ dBmPanScaleMin13cm=-120
dBmPanScaleMin15m=-120 dBmPanScaleMin15m=-120
dBmPanScaleMin160m=-129 dBmPanScaleMin160m=-129
dBmPanScaleMin17m=-120 dBmPanScaleMin17m=-120
dBmPanScaleMin20m=-120 dBmPanScaleMin20m=-133
dBmPanScaleMin2200m=-120 dBmPanScaleMin2200m=-120
dBmPanScaleMin23cm=-120 dBmPanScaleMin23cm=-120
dBmPanScaleMin2m=-120 dBmPanScaleMin2m=-120
@@ -819,6 +823,7 @@ waterfallOffsetHi=20
waterfallOffsetLo=-5 waterfallOffsetLo=-5
[receiver12] [receiver12]
adcMode=ADC1
agcAttacktime=1 agcAttacktime=1
agcDecaytime=250 agcDecaytime=250
agcFixedGain=30 agcFixedGain=30
@@ -853,7 +858,7 @@ attenuatorGen=off
audioVolume=23 audioVolume=23
averaging=on averaging=on
averagingCnt=5 averagingCnt=5
centerFrequency=7000000 centerFrequency=7012632
clickVFO=on clickVFO=on
dBmPanScaleMax10cm=-10 dBmPanScaleMax10cm=-10
dBmPanScaleMax10m=-10 dBmPanScaleMax10m=-10
@@ -869,7 +874,7 @@ dBmPanScaleMax23cm=-10
dBmPanScaleMax2m=-10 dBmPanScaleMax2m=-10
dBmPanScaleMax30m=-10 dBmPanScaleMax30m=-10
dBmPanScaleMax33cm=-10 dBmPanScaleMax33cm=-10
dBmPanScaleMax40m=-10 dBmPanScaleMax40m=-23
dBmPanScaleMax5cm=-10 dBmPanScaleMax5cm=-10
dBmPanScaleMax60m=-10 dBmPanScaleMax60m=-10
dBmPanScaleMax630m=-10 dBmPanScaleMax630m=-10
@@ -891,7 +896,7 @@ dBmPanScaleMin23cm=-120
dBmPanScaleMin2m=-120 dBmPanScaleMin2m=-120
dBmPanScaleMin30m=-120 dBmPanScaleMin30m=-120
dBmPanScaleMin33cm=-120 dBmPanScaleMin33cm=-120
dBmPanScaleMin40m=-120 dBmPanScaleMin40m=-133
dBmPanScaleMin5cm=-120 dBmPanScaleMin5cm=-120
dBmPanScaleMin60m=-120 dBmPanScaleMin60m=-120
dBmPanScaleMin630m=-120 dBmPanScaleMin630m=-120
@@ -943,7 +948,7 @@ lastCenterFrequency23cm=902000000
lastCenterFrequency2m=144000000 lastCenterFrequency2m=144000000
lastCenterFrequency30m=10100000 lastCenterFrequency30m=10100000
lastCenterFrequency33cm=902000000 lastCenterFrequency33cm=902000000
lastCenterFrequency40m=7000000 lastCenterFrequency40m=7012632
lastCenterFrequency5cm=902000000 lastCenterFrequency5cm=902000000
lastCenterFrequency60m=5260000 lastCenterFrequency60m=5260000
lastCenterFrequency630m=472000 lastCenterFrequency630m=472000
@@ -965,7 +970,7 @@ lastVfoFrequency23cm=902000000
lastVfoFrequency2m=144000000 lastVfoFrequency2m=144000000
lastVfoFrequency30m=10117200 lastVfoFrequency30m=10117200
lastVfoFrequency33cm=902000000 lastVfoFrequency33cm=902000000
lastVfoFrequency40m=7000000 lastVfoFrequency40m=7019532
lastVfoFrequency5cm=902000000 lastVfoFrequency5cm=902000000
lastVfoFrequency60m=5260000 lastVfoFrequency60m=5260000
lastVfoFrequency630m=472000 lastVfoFrequency630m=472000
@@ -976,12 +981,13 @@ lastVfoFrequencyGen=10051000
mouseWheelFreqStep=100 mouseWheelFreqStep=100
panLocked=off panLocked=off
panMode=FILLEDLINE panMode=FILLEDLINE
vfoFrequency=7000000 vfoFrequency=7019532
waterfallMode=ENHANCED waterfallMode=ENHANCED
waterfallOffsetHi=20 waterfallOffsetHi=20
waterfallOffsetLo=-5 waterfallOffsetLo=-5
[receiver13] [receiver13]
adcMode=ADC1
agcAttacktime=1 agcAttacktime=1
agcDecaytime=250 agcDecaytime=250
agcFixedGain=30 agcFixedGain=30
@@ -1145,6 +1151,7 @@ waterfallOffsetHi=20
waterfallOffsetLo=-5 waterfallOffsetLo=-5
[receiver14] [receiver14]
adcMode=ADC1
agcAttacktime=1 agcAttacktime=1
agcDecaytime=250 agcDecaytime=250
agcFixedGain=30 agcFixedGain=30
@@ -1308,6 +1315,7 @@ waterfallOffsetHi=20
waterfallOffsetLo=-5 waterfallOffsetLo=-5
[receiver15] [receiver15]
adcMode=ADC1
agcAttacktime=1 agcAttacktime=1
agcDecaytime=250 agcDecaytime=250
agcFixedGain=30 agcFixedGain=30
@@ -1365,7 +1373,7 @@ dBmPanScaleMax630m=-10
dBmPanScaleMax6m=-5 dBmPanScaleMax6m=-5
dBmPanScaleMax70cm=-10 dBmPanScaleMax70cm=-10
dBmPanScaleMax80m=-9 dBmPanScaleMax80m=-9
dBmPanScaleMaxGen=-3 dBmPanScaleMaxGen=-30
dBmPanScaleMin10cm=-120 dBmPanScaleMin10cm=-120
dBmPanScaleMin10m=-136 dBmPanScaleMin10m=-136
dBmPanScaleMin125cm=-120 dBmPanScaleMin125cm=-120
@@ -1387,7 +1395,7 @@ dBmPanScaleMin630m=-120
dBmPanScaleMin6m=-115 dBmPanScaleMin6m=-115
dBmPanScaleMin70cm=-120 dBmPanScaleMin70cm=-120
dBmPanScaleMin80m=-119 dBmPanScaleMin80m=-119
dBmPanScaleMinGen=-113 dBmPanScaleMinGen=-140
dspCore=qtdsp dspCore=qtdsp
dspMode10cm=LSB dspMode10cm=LSB
dspMode10m=LSB dspMode10m=LSB
@@ -1471,6 +1479,7 @@ waterfallOffsetHi=20
waterfallOffsetLo=-5 waterfallOffsetLo=-5
[receiver16] [receiver16]
adcMode=ADC1
agcAttacktime=1 agcAttacktime=1
agcDecaytime=250 agcDecaytime=250
agcFixedGain=30 agcFixedGain=30
@@ -1634,6 +1643,7 @@ waterfallOffsetHi=20
waterfallOffsetLo=-5 waterfallOffsetLo=-5
[receiver17] [receiver17]
adcMode=ADC1
agcAttacktime=1 agcAttacktime=1
agcDecaytime=250 agcDecaytime=250
agcFixedGain=30 agcFixedGain=30
@@ -1797,6 +1807,7 @@ waterfallOffsetHi=20
waterfallOffsetLo=-5 waterfallOffsetLo=-5
[receiver18] [receiver18]
adcMode=ADC1
agcAttacktime=1 agcAttacktime=1
agcDecaytime=250 agcDecaytime=250
agcFixedGain=30 agcFixedGain=30
@@ -1960,6 +1971,7 @@ waterfallOffsetHi=20
waterfallOffsetLo=-5 waterfallOffsetLo=-5
[receiver19] [receiver19]
adcMode=ADC1
agcAttacktime=1 agcAttacktime=1
agcDecaytime=250 agcDecaytime=250
agcFixedGain=30 agcFixedGain=30
@@ -2123,6 +2135,7 @@ waterfallOffsetHi=20
waterfallOffsetLo=-5 waterfallOffsetLo=-5
[receiver2] [receiver2]
adcMode=ADC1
agcAttacktime=1 agcAttacktime=1
agcDecaytime=250 agcDecaytime=250
agcFixedGain=30 agcFixedGain=30
@@ -2157,7 +2170,7 @@ attenuatorGen=off
audioVolume=23 audioVolume=23
averaging=on averaging=on
averagingCnt=5 averagingCnt=5
centerFrequency=10100000 centerFrequency=10099616
clickVFO=on clickVFO=on
dBmPanScaleMax10cm=-10 dBmPanScaleMax10cm=-10
dBmPanScaleMax10m=-10 dBmPanScaleMax10m=-10
@@ -2254,7 +2267,7 @@ lastCenterFrequency630m=472000
lastCenterFrequency6m=50000000 lastCenterFrequency6m=50000000
lastCenterFrequency70cm=420000000 lastCenterFrequency70cm=420000000
lastCenterFrequency80m=3672000 lastCenterFrequency80m=3672000
lastCenterFrequencyGen=1800000 lastCenterFrequencyGen=10099616
lastVfoFrequency10cm=902000000 lastVfoFrequency10cm=902000000
lastVfoFrequency10m=28000000 lastVfoFrequency10m=28000000
lastVfoFrequency125cm=222000000 lastVfoFrequency125cm=222000000
@@ -2267,7 +2280,7 @@ lastVfoFrequency20m=14000000
lastVfoFrequency2200m=135700 lastVfoFrequency2200m=135700
lastVfoFrequency23cm=902000000 lastVfoFrequency23cm=902000000
lastVfoFrequency2m=144000000 lastVfoFrequency2m=144000000
lastVfoFrequency30m=10117200 lastVfoFrequency30m=10116816
lastVfoFrequency33cm=902000000 lastVfoFrequency33cm=902000000
lastVfoFrequency40m=7000000 lastVfoFrequency40m=7000000
lastVfoFrequency5cm=902000000 lastVfoFrequency5cm=902000000
@@ -2280,12 +2293,13 @@ lastVfoFrequencyGen=10051000
mouseWheelFreqStep=100 mouseWheelFreqStep=100
panLocked=off panLocked=off
panMode=FILLEDLINE panMode=FILLEDLINE
vfoFrequency=10117200 vfoFrequency=10116816
waterfallMode=ENHANCED waterfallMode=ENHANCED
waterfallOffsetHi=20 waterfallOffsetHi=20
waterfallOffsetLo=-5 waterfallOffsetLo=-5
[receiver3] [receiver3]
adcMode=ADC1
agcAttacktime=1 agcAttacktime=1
agcDecaytime=250 agcDecaytime=250
agcFixedGain=30 agcFixedGain=30
@@ -2432,7 +2446,7 @@ lastVfoFrequency23cm=902000000
lastVfoFrequency2m=144000000 lastVfoFrequency2m=144000000
lastVfoFrequency30m=10117200 lastVfoFrequency30m=10117200
lastVfoFrequency33cm=902000000 lastVfoFrequency33cm=902000000
lastVfoFrequency40m=7067548 lastVfoFrequency40m=7122200
lastVfoFrequency5cm=902000000 lastVfoFrequency5cm=902000000
lastVfoFrequency60m=5260000 lastVfoFrequency60m=5260000
lastVfoFrequency630m=472000 lastVfoFrequency630m=472000
@@ -2443,12 +2457,13 @@ lastVfoFrequencyGen=10051000
mouseWheelFreqStep=100 mouseWheelFreqStep=100
panLocked=off panLocked=off
panMode=FILLEDLINE panMode=FILLEDLINE
vfoFrequency=7067548 vfoFrequency=7122200
waterfallMode=ENHANCED waterfallMode=ENHANCED
waterfallOffsetHi=20 waterfallOffsetHi=20
waterfallOffsetLo=-5 waterfallOffsetLo=-5
[receiver4] [receiver4]
adcMode=ADC1
agcAttacktime=1 agcAttacktime=1
agcDecaytime=250 agcDecaytime=250
agcFixedGain=30 agcFixedGain=30
@@ -2612,6 +2627,7 @@ waterfallOffsetHi=20
waterfallOffsetLo=-5 waterfallOffsetLo=-5
[receiver5] [receiver5]
adcMode=ADC1
agcAttacktime=1 agcAttacktime=1
agcDecaytime=250 agcDecaytime=250
agcFixedGain=30 agcFixedGain=30
@@ -2775,6 +2791,7 @@ waterfallOffsetHi=20
waterfallOffsetLo=-5 waterfallOffsetLo=-5
[receiver6] [receiver6]
adcMode=ADC1
agcAttacktime=1 agcAttacktime=1
agcDecaytime=250 agcDecaytime=250
agcFixedGain=30 agcFixedGain=30
@@ -2938,6 +2955,7 @@ waterfallOffsetHi=20
waterfallOffsetLo=-5 waterfallOffsetLo=-5
[receiver7] [receiver7]
adcMode=ADC1
agcAttacktime=1 agcAttacktime=1
agcDecaytime=250 agcDecaytime=250
agcFixedGain=30 agcFixedGain=30
@@ -3101,6 +3119,7 @@ waterfallOffsetHi=20
waterfallOffsetLo=-5 waterfallOffsetLo=-5
[receiver8] [receiver8]
adcMode=ADC1
agcAttacktime=1 agcAttacktime=1
agcDecaytime=250 agcDecaytime=250
agcFixedGain=30 agcFixedGain=30
@@ -3264,6 +3283,7 @@ waterfallOffsetHi=20
waterfallOffsetLo=-5 waterfallOffsetLo=-5
[receiver9] [receiver9]
adcMode=ADC1
agcAttacktime=1 agcAttacktime=1
agcDecaytime=250 agcDecaytime=250
agcFixedGain=30 agcFixedGain=30
+2 -2
View File
@@ -1,3 +1,3 @@
[General] [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) 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\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) 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)
+36 -2
View File
@@ -59,6 +59,8 @@
*/ */
static int firstTimeRxInit; 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) DataEngine::DataEngine(QObject *parent)
: QObject(parent) : QObject(parent)
@@ -532,7 +534,6 @@ bool DataEngine::getFirmwareVersions() {
if (!initReceivers(rcvrs)) return false; if (!initReceivers(rcvrs)) return false;
if (!m_dataIO) createDataIO(); if (!m_dataIO) createDataIO();
if (!m_dataProcessor) createDataProcessor(); if (!m_dataProcessor) createDataProcessor();
@@ -3380,7 +3381,7 @@ 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 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 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 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. // RRK, workaround for gige timing bug, make sure all rx freq's are sent on init.
if (firstTimeRxInit) { if (firstTimeRxInit) {
@@ -3526,9 +3527,42 @@ void DataProcessor::encodeCCBytes() {
for (int i = 0; i < 5; i++) for (int i = 0; i < 5; i++)
de->io.output_buffer[i+3] = de->io.control_out[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 // round finished
m_sendState = 0; m_sendState = 0;
break; break;
} }
de->io.mutex.unlock(); de->io.mutex.unlock();
+19
View File
@@ -119,6 +119,12 @@ void Receiver::setupConnections() {
this, this,
SLOT(setHamBand(QObject *, int, bool, HamBand))); SLOT(setHamBand(QObject *, int, bool, HamBand)));
CHECKED_CONNECT(
set,
SIGNAL(adcModeChanged(QObject *, int, ADCMode)),
this,
SLOT(setADCMode(QObject *, int, ADCMode)));
CHECKED_CONNECT( CHECKED_CONNECT(
set, set,
SIGNAL(agcModeChanged(QObject *, int, AGCMode, bool)), SIGNAL(agcModeChanged(QObject *, int, AGCMode, bool)),
@@ -220,6 +226,7 @@ void Receiver::setReceiverData(TReceiver data) {
m_hamBand = m_receiverData.hamBand; m_hamBand = m_receiverData.hamBand;
m_dspMode = m_receiverData.dspMode; m_dspMode = m_receiverData.dspMode;
m_dspModeList = m_receiverData.dspModeList; m_dspModeList = m_receiverData.dspModeList;
m_adcMode = m_receiverData.adcMode;
m_agcMode = m_receiverData.agcMode; m_agcMode = m_receiverData.agcMode;
m_agcGain = m_receiverData.acgGain; m_agcGain = m_receiverData.acgGain;
m_agcFixedGain_dB = m_receiverData.agcFixedGain_dB; 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))); //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) { void Receiver::setAGCMode(QObject *sender, int rx, AGCMode mode, bool hang) {
Q_UNUSED(sender) Q_UNUSED(sender)
+3
View File
@@ -62,6 +62,7 @@ public:
QSDR::_DSPCore getDSPCoreMode() const; QSDR::_DSPCore getDSPCoreMode() const;
QHostAddress getPeerAddress() { return m_peerAddress; } QHostAddress getPeerAddress() { return m_peerAddress; }
HamBand getHamBand() { return m_hamBand; } HamBand getHamBand() { return m_hamBand; }
ADCMode getADCMode() { return m_adcMode; }
AGCMode getAGCMode() { return m_agcMode; } AGCMode getAGCMode() { return m_agcMode; }
QList<int> getMercuryAttenuators() { return m_mercuryAttenuators; } QList<int> getMercuryAttenuators() { return m_mercuryAttenuators; }
QList<DSPMode> getDSPModeList() { return m_dspModeList; } QList<DSPMode> getDSPModeList() { return m_dspModeList; }
@@ -116,6 +117,7 @@ public slots:
void setSampleRate(int value); void setSampleRate(int value);
void setHamBand(QObject* sender, int rx, bool byBtn, HamBand band); void setHamBand(QObject* sender, int rx, bool byBtn, HamBand band);
void setDspMode(QObject* sender, int rx, DSPMode mode); 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 setAGCMode(QObject* sender, int rx, AGCMode mode, bool hang);
void setAGCGain(QObject* sender, int rx, int value); void setAGCGain(QObject* sender, int rx, int value);
void setAudioVolume(QObject* sender, int rx, float value); void setAudioVolume(QObject* sender, int rx, float value);
@@ -171,6 +173,7 @@ private:
HamBand m_hamBand; HamBand m_hamBand;
DSPMode m_dspMode; DSPMode m_dspMode;
AGCMode m_agcMode; AGCMode m_agcMode;
ADCMode m_adcMode;
TDefaultFilterMode m_filterMode; TDefaultFilterMode m_filterMode;
QList<long> m_lastCtrFrequencyList; QList<long> m_lastCtrFrequencyList;
+36
View File
@@ -163,6 +163,9 @@ QGLReceiverPanel::QGLReceiverPanel(QWidget *parent, int rx)
m_mouseWheelFreqStep = m_rxDataList.at(m_receiver).mouseWheelFreqStep; 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_agcMode = m_rxDataList.at(m_receiver).agcMode;
m_agcModeString = set->getAGCModeString(m_receiver); m_agcModeString = set->getAGCModeString(m_receiver);
m_agcFixedGain = m_rxDataList.at(m_receiver).agcFixedGain_dB; m_agcFixedGain = m_rxDataList.at(m_receiver).agcFixedGain_dB;
@@ -545,6 +548,12 @@ void QGLReceiverPanel::setupConnections() {
this, this,
SLOT(setAGCLinesStatus(QObject *, bool, int))); SLOT(setAGCLinesStatus(QObject *, bool, int)));
CHECKED_CONNECT(
set,
SIGNAL(adcModeChanged(QObject *, int, ADCMode)),
this,
SLOT(setADCMode(QObject *, int, ADCMode)));
CHECKED_CONNECT( CHECKED_CONNECT(
set, set,
SIGNAL(dspModeChanged(QObject *, int, DSPMode)), SIGNAL(dspModeChanged(QObject *, int, DSPMode)),
@@ -1976,6 +1985,7 @@ void QGLReceiverPanel::drawReceiverInfo() {
int alpha; int alpha;
QColor colFlt; QColor colFlt;
QColor colADC;
QColor colAGC; QColor colAGC;
QColor colDSP; QColor colDSP;
QRect rect; QRect rect;
@@ -1986,6 +1996,7 @@ void QGLReceiverPanel::drawReceiverInfo() {
colDSP = QColor(1, 190, 180, 180); colDSP = QColor(1, 190, 180, 180);
colFlt = QColor(200, 190, 50, 180); colFlt = QColor(200, 190, 50, 180);
colADC = QColor(215, 130, 50, 180);
if (m_showAGCLines) if (m_showAGCLines)
colAGC = QColor(255, 170, 90, 180); colAGC = QColor(255, 170, 90, 180);
else else
@@ -1999,12 +2010,14 @@ void QGLReceiverPanel::drawReceiverInfo() {
colFlt = QColor(110, 100, 1, 180); colFlt = QColor(110, 100, 1, 180);
colDSP = QColor(1, 100, 90, 180); colDSP = QColor(1, 100, 90, 180);
colAGC = QColor(165, 80, 1); colAGC = QColor(165, 80, 1);
colADC = QColor(165, 80, 1);
} }
} }
else { else {
alpha = 100; alpha = 100;
colFlt = m_darkColor; colFlt = m_darkColor;
colADC = m_darkColor;
colAGC = m_darkColor; colAGC = m_darkColor;
colDSP = m_darkColor; colDSP = m_darkColor;
} }
@@ -2044,6 +2057,17 @@ void QGLReceiverPanel::drawReceiverInfo() {
qglColor(QColor(0, 0, 0)); qglColor(QColor(0, 0, 0));
m_oglTextSmall->renderText(x1+1, y1-2, 3.0f, str); 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 // VFO frequency
TFrequency f; TFrequency f;
f.freqMHz = (int)(m_vfoFrequency / 1000); 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; //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) { void QGLReceiverPanel::setAGCMode(QObject *sender, int rx, AGCMode mode, bool hangEnabled) {
Q_UNUSED(sender) Q_UNUSED(sender)
+3
View File
@@ -91,6 +91,7 @@ private:
DualModeAverager* averager; DualModeAverager* averager;
RadioPopupWidget* radioPopup; RadioPopupWidget* radioPopup;
ADCMode m_adcMode;
AGCMode m_agcMode; AGCMode m_agcMode;
DSPMode m_dspMode; DSPMode m_dspMode;
PanGraphicsMode m_panMode; PanGraphicsMode m_panMode;
@@ -102,6 +103,7 @@ private:
QTime peakHoldTimer; QTime peakHoldTimer;
QString m_bandText; QString m_bandText;
QString m_adcModeString;
QString m_agcModeString; QString m_agcModeString;
QString m_dspModeString; QString m_dspModeString;
QString m_filterWidthString; QString m_filterWidthString;
@@ -416,6 +418,7 @@ private slots:
void updateADCStatus(); void updateADCStatus();
void setFramesPerSecond(QObject* sender, int rx, int value); void setFramesPerSecond(QObject* sender, int rx, int value);
void setDSPMode(QObject* sender, int rx, DSPMode mode); 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 setAGCMode(QObject* sender, int rx, AGCMode mode, bool hangEnabled);
void setAGCLineLevels(QObject* sender, int rx, qreal thresh, qreal hang); void setAGCLineLevels(QObject* sender, int rx, qreal thresh, qreal hang);
void setAGCLineFixedLevel(QObject* sender, int rx, qreal value); void setAGCLineFixedLevel(QObject* sender, int rx, qreal value);
+8
View File
@@ -85,6 +85,13 @@ typedef enum _dspMode {
} DSPMode; } DSPMode;
typedef enum _adcMode {
adc1,
adc2
} ADCMode;
typedef enum _agcMode { typedef enum _agcMode {
agcOFF, agcOFF,
@@ -115,6 +122,7 @@ typedef enum _defaultFilterMode {
Q_DECLARE_METATYPE (HamBand) Q_DECLARE_METATYPE (HamBand)
Q_DECLARE_METATYPE (DSPMode) Q_DECLARE_METATYPE (DSPMode)
Q_DECLARE_METATYPE (ADCMode)
Q_DECLARE_METATYPE (AGCMode) Q_DECLARE_METATYPE (AGCMode)
Q_DECLARE_METATYPE (TDefaultFilterMode) Q_DECLARE_METATYPE (TDefaultFilterMode)
+15
View File
@@ -275,6 +275,12 @@ void MainWindow::setupConnections() {
this, this,
SLOT(setTxAllowed(QObject *, bool))); SLOT(setTxAllowed(QObject *, bool)));
CHECKED_CONNECT(
set,
SIGNAL(adcModeChanged(QObject *, int, ADCMode)),
this,
SLOT(setADCMode(QObject *, int, ADCMode)));
CHECKED_CONNECT( CHECKED_CONNECT(
set, set,
SIGNAL(agcModeChanged(QObject *, int, AGCMode, bool)), SIGNAL(agcModeChanged(QObject *, int, AGCMode, bool)),
@@ -414,6 +420,7 @@ void MainWindow::setup() {
setAttenuatorButton(); setAttenuatorButton();
m_agcMode = set->getAGCMode(0); m_agcMode = set->getAGCMode(0);
m_adcMode = set->getADCMode(0);
// initialize all Signal/Slot connections // initialize all Signal/Slot connections
setupConnections(); 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) { void MainWindow::setAGCMode(QObject *sender, int rx, AGCMode mode, bool hang) {
Q_UNUSED(sender) Q_UNUSED(sender)
+2
View File
@@ -200,6 +200,7 @@ private:
QSlider* m_volumeSlider; QSlider* m_volumeSlider;
QSlider* m_agcGainSlider; QSlider* m_agcGainSlider;
ADCMode m_adcMode;
AGCMode m_agcMode; AGCMode m_agcMode;
DataEngine* m_dataEngine; DataEngine* m_dataEngine;
@@ -318,6 +319,7 @@ private slots:
void getNetworkInterfaces(); void getNetworkInterfaces();
void setMainVolume(int value); void setMainVolume(int value);
//void setHamBand(QObject *sender, int rx, bool byButton, HamBand band); //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 setAGCMode(QObject *sender, int rx, AGCMode mode, bool hang);
void setAGCGain(int value); void setAGCGain(int value);
//void setAGCGain(QObject *sender, int rx, int value); //void setAGCGain(QObject *sender, int rx, int value);
+74
View File
@@ -84,6 +84,7 @@ RadioPopupWidget::RadioPopupWidget(QWidget *parent, int rx)
m_hamBand = m_receiverDataList.at(m_receiver).hamBand; m_hamBand = m_receiverDataList.at(m_receiver).hamBand;
//m_dspMode = m_receiverDataList.at(m_receiver).dspMode; //m_dspMode = m_receiverDataList.at(m_receiver).dspMode;
m_dspModeList = m_receiverDataList.at(m_receiver).dspModeList; 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_agcMode = m_receiverDataList.at(m_receiver).agcMode;
m_filterMode = m_receiverDataList.at(m_receiver).defaultFilterMode; m_filterMode = m_receiverDataList.at(m_receiver).defaultFilterMode;
m_filterLo = m_receiverDataList.at(m_receiver).filterLo; m_filterLo = m_receiverDataList.at(m_receiver).filterLo;
@@ -119,6 +120,7 @@ RadioPopupWidget::RadioPopupWidget(QWidget *parent, int rx)
createOptionsBtnGroup(); createOptionsBtnGroup();
createFFTOptionsGroup(); createFFTOptionsGroup();
createBandBtnGroup(); createBandBtnGroup();
createAdcBtnGroup();
createModeBtnGroup(); createModeBtnGroup();
createAgcBtnGroup(); createAgcBtnGroup();
createFilterBtnWidgetA(); createFilterBtnWidgetA();
@@ -156,6 +158,8 @@ RadioPopupWidget::RadioPopupWidget(QWidget *parent, int rx)
mainLayout->addSpacing(16); mainLayout->addSpacing(16);
mainLayout->addLayout(bandVBox); mainLayout->addLayout(bandVBox);
mainLayout->addSpacing(8); mainLayout->addSpacing(8);
mainLayout->addLayout(adcVBox);
mainLayout->addSpacing(8);
mainLayout->addLayout(modeVBox); mainLayout->addLayout(modeVBox);
mainLayout->addSpacing(8); mainLayout->addSpacing(8);
mainLayout->addWidget(m_filterStackedWidget); mainLayout->addWidget(m_filterStackedWidget);
@@ -170,6 +174,7 @@ RadioPopupWidget::RadioPopupWidget(QWidget *parent, int rx)
bandBtnList.at(m_hamBand)->update(); bandBtnList.at(m_hamBand)->update();
dspModeChanged(this, 0, m_dspModeList.at(m_hamBand)); dspModeChanged(this, 0, m_dspModeList.at(m_hamBand));
adcModeChanged(this, m_receiver, m_adcMode);
agcModeChanged(this, 0, m_agcMode, false); agcModeChanged(this, 0, m_agcMode, false);
filterChanged(this, 0, m_filterLo, m_filterHi); filterChanged(this, 0, m_filterLo, m_filterHi);
@@ -268,6 +273,12 @@ void RadioPopupWidget::setupConnections() {
this, this,
SLOT(dspModeChanged(QObject *, int, DSPMode))); SLOT(dspModeChanged(QObject *, int, DSPMode)));
CHECKED_CONNECT(
set,
SIGNAL(adcModeChanged(QObject *, int, ADCMode)),
this,
SLOT(adcModeChanged(QObject *, int, ADCMode)));
CHECKED_CONNECT( CHECKED_CONNECT(
set, set,
SIGNAL(agcModeChanged(QObject *, int, AGCMode, bool)), 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() { void RadioPopupWidget::createModeBtnGroup() {
lsbBtn = new AeroButton("LSB", this); 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() { void RadioPopupWidget::agcModeChangedByBtn() {
AeroButton *button = qobject_cast<AeroButton *>(sender()); AeroButton *button = qobject_cast<AeroButton *>(sender());
+10
View File
@@ -95,6 +95,7 @@ private:
QVBoxLayout* optionsVBox; QVBoxLayout* optionsVBox;
QVBoxLayout* fftOptionsVBox; QVBoxLayout* fftOptionsVBox;
QVBoxLayout* bandVBox; QVBoxLayout* bandVBox;
QVBoxLayout* adcVBox;
QVBoxLayout* modeVBox; QVBoxLayout* modeVBox;
QVBoxLayout* agcVBox; QVBoxLayout* agcVBox;
//QVBoxLayout* mercuryBtnVBox(); //QVBoxLayout* mercuryBtnVBox();
@@ -181,6 +182,11 @@ private:
QList<AeroButton *> dspModeBtnList; QList<AeroButton *> dspModeBtnList;
AeroButton* adc1Btn;
AeroButton* adc2Btn;
QList<AeroButton *> adcModeBtnList;
AeroButton* showAGCLines; AeroButton* showAGCLines;
AeroButton* agcOFF; AeroButton* agcOFF;
AeroButton* agcLONG; AeroButton* agcLONG;
@@ -240,6 +246,7 @@ private:
HamBand m_hamBand; HamBand m_hamBand;
//DSPMode m_dspMode; //DSPMode m_dspMode;
ADCMode m_adcMode;
AGCMode m_agcMode; AGCMode m_agcMode;
TDefaultFilterMode m_filterMode; TDefaultFilterMode m_filterMode;
@@ -288,6 +295,7 @@ private slots:
void createOptionsBtnGroup(); void createOptionsBtnGroup();
void createFFTOptionsGroup(); void createFFTOptionsGroup();
void createBandBtnGroup(); void createBandBtnGroup();
void createAdcBtnGroup();
void createModeBtnGroup(); void createModeBtnGroup();
void createAgcBtnGroup(); void createAgcBtnGroup();
void createFilterBtnWidgetA(); void createFilterBtnWidgetA();
@@ -314,6 +322,8 @@ private slots:
void bandChanged(QObject *sender, int rx, bool byButton, HamBand band); void bandChanged(QObject *sender, int rx, bool byButton, HamBand band);
void dspModeChangedByBtn(); void dspModeChangedByBtn();
void dspModeChanged(QObject *sender, int rx, DSPMode mode); void dspModeChanged(QObject *sender, int rx, DSPMode mode);
void adcModeChangedByBtn();
void adcModeChanged(QObject *sender, int rx, ADCMode mode);
void agcModeChangedByBtn(); void agcModeChangedByBtn();
void agcModeChanged(QObject *sender, int rx, AGCMode mode, bool hang); void agcModeChanged(QObject *sender, int rx, AGCMode mode, bool hang);
void agcShowLinesChanged(); void agcShowLinesChanged();
+5
View File
@@ -112,6 +112,10 @@ private:
AeroButton *samBtn; AeroButton *samBtn;
AeroButton *drmBtn; AeroButton *drmBtn;
QList<AeroButton *> adcModeBtnList;
AeroButton *adc1Btn;
AeroButton *adc2Btn;
AeroButton *filter1kBtnA; AeroButton *filter1kBtnA;
AeroButton *filter1k8BtnA; AeroButton *filter1k8BtnA;
AeroButton *filter2k1BtnA; AeroButton *filter2k1BtnA;
@@ -162,6 +166,7 @@ private:
QList<DSPMode> m_dspModeList; QList<DSPMode> m_dspModeList;
HamBand m_hamBand; HamBand m_hamBand;
//DSPMode m_dspMode; //DSPMode m_dspMode;
ADCMode m_adcMode;
AGCMode m_agcMode; AGCMode m_agcMode;
TDefaultFilterMode m_filterMode; TDefaultFilterMode m_filterMode;
+44
View File
@@ -58,6 +58,7 @@ Settings::Settings(QObject *parent)
qRegisterMetaType<QSDR::_HWInterfaceMode>(); qRegisterMetaType<QSDR::_HWInterfaceMode>();
qRegisterMetaType<HamBand>(); qRegisterMetaType<HamBand>();
qRegisterMetaType<DSPMode>(); qRegisterMetaType<DSPMode>();
qRegisterMetaType<ADCMode>();
qRegisterMetaType<AGCMode>(); qRegisterMetaType<AGCMode>();
qRegisterMetaType<TDefaultFilterMode>(); qRegisterMetaType<TDefaultFilterMode>();
qRegisterMetaType<TNetworkDevicecard>(); qRegisterMetaType<TNetworkDevicecard>();
@@ -813,6 +814,14 @@ int Settings::loadSettings() {
else else
m_receiverDataList[i].hangEnabled = true; 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 = m_rxStringList.at(i);
cstr.append("/panMode"); cstr.append("/panMode");
@@ -1873,6 +1882,14 @@ int Settings::saveSettings() {
else if (m_receiverDataList[i].agcMode == agcFAST) else if (m_receiverDataList[i].agcMode == agcFAST)
settings->setValue(str, "FAST"); 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 = m_rxStringList.at(i);
str.append("/panMode"); str.append("/panMode");
@@ -3627,6 +3644,23 @@ AGCMode Settings::getAGCMode(int rx) {
return m_receiverDataList.at(rx).agcMode; 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) { QString Settings::getAGCModeString(int rx) {
AGCMode mode = getAGCMode(rx); AGCMode mode = getAGCMode(rx);
@@ -3660,6 +3694,16 @@ QString Settings::getAGCModeString(int rx) {
return str; 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) { void Settings::setAGCMode(QObject *sender, int rx, AGCMode mode) {
QMutexLocker locker(&settingsMutex); QMutexLocker locker(&settingsMutex);
+6
View File
@@ -446,6 +446,7 @@ typedef struct _hpsdrParameter {
//int hpsdr_122_88MhzSource; //int hpsdr_122_88MhzSource;
int mic_source; int mic_source;
int rxClass; int rxClass;
int rx_adc_change;
int rx_freq_change; int rx_freq_change;
int tx_freq_change; int tx_freq_change;
@@ -506,6 +507,7 @@ typedef struct _receiver {
HamBand hamBand; HamBand hamBand;
HamBand lastHamBand; HamBand lastHamBand;
DSPMode dspMode; DSPMode dspMode;
ADCMode adcMode;
AGCMode agcMode; AGCMode agcMode;
TDefaultFilterMode defaultFilterMode; TDefaultFilterMode defaultFilterMode;
PanGraphicsMode panMode; PanGraphicsMode panMode;
@@ -846,6 +848,7 @@ signals:
void hamBandChanged(QObject *sender, int rx, bool byButton, HamBand band); void hamBandChanged(QObject *sender, int rx, bool byButton, HamBand band);
void dspModeChanged(QObject *sender, int rx, DSPMode mode); 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 agcModeChanged(QObject *sender, int rx, AGCMode mode, bool hangEnabled);
void agcHangEnabledChanged(QObject *sender, int rx, bool hang); void agcHangEnabledChanged(QObject *sender, int rx, bool hang);
void agcGainChanged(QObject *sender, int rx, int value); void agcGainChanged(QObject *sender, int rx, int value);
@@ -1077,7 +1080,9 @@ public:
qreal getMainVolume(int rx); qreal getMainVolume(int rx);
qreal getMouseWheelFreqStep(int rx);// { return m_mouseWheelFreqStep; } qreal getMouseWheelFreqStep(int rx);// { return m_mouseWheelFreqStep; }
ADCMode getADCMode(int rx);
AGCMode getAGCMode(int rx); AGCMode getAGCMode(int rx);
QString getADCModeString(int rx);
QString getAGCModeString(int rx); QString getAGCModeString(int rx);
int getAGCGain(int rx); int getAGCGain(int rx);
qreal getAGCMaximumGain_dB(int rx); qreal getAGCMaximumGain_dB(int rx);
@@ -1268,6 +1273,7 @@ public slots:
void setHamBand(QObject* sender, int rx, bool byButton, HamBand band); void setHamBand(QObject* sender, int rx, bool byButton, HamBand band);
void setDSPMode(QObject* sender, int rx, DSPMode mode); 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 setAGCMode(QObject* sender, int rx, AGCMode mode);
void setAGCGain(QObject* sender, int rx, int value); void setAGCGain(QObject* sender, int rx, int value);
void setAGCMaximumGain_dB(QObject *sender, int rx, qreal value); void setAGCMaximumGain_dB(QObject *sender, int rx, qreal value);