mirror of
				https://github.com/f4exb/sdrangel.git
				synced 2025-10-30 20:40:20 -04:00 
			
		
		
		
	SDRPlay plugin: gain GUI refactoring
This commit is contained in:
		
							parent
							
								
									2e4ee9b13d
								
							
						
					
					
						commit
						d25e7b613e
					
				| @ -223,28 +223,30 @@ void SDRPlayGui::displaySettings() | |||||||
| 
 | 
 | ||||||
| 	if (m_gains.size() > 0) | 	if (m_gains.size() > 0) | ||||||
| 	{ | 	{ | ||||||
| 		int dist = abs(m_settings.m_gain - m_gains[0]); | 		int dist = abs(m_settings.m_tunerGain - m_gains[0]); | ||||||
| 		int pos = 0; | 		int pos = 0; | ||||||
| 
 | 
 | ||||||
| 		for (uint i = 1; i < m_gains.size(); i++) | 		for (uint i = 1; i < m_gains.size(); i++) | ||||||
| 		{ | 		{ | ||||||
| 			if (abs(m_settings.m_gain - m_gains[i]) < dist) | 			if (abs(m_settings.m_tunerGain - m_gains[i]) < dist) | ||||||
| 			{ | 			{ | ||||||
| 				dist = abs(m_settings.m_gain - m_gains[i]); | 				dist = abs(m_settings.m_tunerGain - m_gains[i]); | ||||||
| 				pos = i; | 				pos = i; | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		ui->gainText->setText(tr("%1.%2").arg(m_gains[pos] / 10).arg(abs(m_gains[pos] % 10))); | 		QString gainText; | ||||||
| 		ui->gain->setMaximum(m_gains.size() - 1); | 		gainText.sprintf("%03d", m_gains[pos]); | ||||||
| 		ui->gain->setEnabled(true); | 	    ui->gainTunerText->setText(gainText); | ||||||
| 		ui->gain->setValue(pos); | 		ui->gainTuner->setMaximum(m_gains.size() - 1); | ||||||
|  | 		ui->gainTuner->setEnabled(true); | ||||||
|  | 		ui->gainTuner->setValue(pos); | ||||||
| 	} | 	} | ||||||
| 	else | 	else | ||||||
| 	{ | 	{ | ||||||
| 		ui->gain->setMaximum(0); | 		ui->gainTuner->setMaximum(0); | ||||||
| 		ui->gain->setEnabled(false); | 		ui->gainTuner->setEnabled(false); | ||||||
| 		ui->gain->setValue(0); | 		ui->gainTuner->setValue(0); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -361,7 +363,12 @@ void SDRPlayGui::on_fcPos_currentIndexChanged(int index) | |||||||
|     sendSettings(); |     sendSettings(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void SDRPlayGui::on_gain_valueChanged(int value) | void SDRPlayGui::on_gainTunerOn_toggled(bool checked) | ||||||
|  | { | ||||||
|  | 	// TODO
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void SDRPlayGui::on_gainTuner_valueChanged(int value) | ||||||
| { | { | ||||||
|     if (value > (int)m_gains.size()) |     if (value > (int)m_gains.size()) | ||||||
|     { |     { | ||||||
| @ -369,12 +376,34 @@ void SDRPlayGui::on_gain_valueChanged(int value) | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     int gain = m_gains[value]; |     int gain = m_gains[value]; | ||||||
|     ui->gainText->setText(tr("%1.%2").arg(gain / 10).arg(abs(gain % 10))); | 	QString gainText; | ||||||
|     m_settings.m_gain = gain; | 	gainText.sprintf("%03d", gain); | ||||||
|  |     ui->gainTunerText->setText(gainText); | ||||||
|  |     m_settings.m_tunerGain = gain; | ||||||
| 
 | 
 | ||||||
|     sendSettings(); |     sendSettings(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | void SDRPlayGui::on_gainManualOn_toggled(bool checked) | ||||||
|  | { | ||||||
|  | 	// TODO
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void SDRPlayGui::on_gainLNA_toggled(bool checked) | ||||||
|  | { | ||||||
|  | 	// TODO
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void SDRPlayGui::on_gainMixer_toggled(bool checked) | ||||||
|  | { | ||||||
|  | 	// TODO
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void SDRPlayGui::on_gainBaseband_valueChanged(int value) | ||||||
|  | { | ||||||
|  | 	// TODO
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
| void SDRPlayGui::on_startStop_toggled(bool checked) | void SDRPlayGui::on_startStop_toggled(bool checked) | ||||||
| { | { | ||||||
|     if (checked) |     if (checked) | ||||||
|  | |||||||
| @ -83,7 +83,12 @@ private slots: | |||||||
|     void on_ifFrequency_currentIndexChanged(int index); |     void on_ifFrequency_currentIndexChanged(int index); | ||||||
|     void on_decim_currentIndexChanged(int index); |     void on_decim_currentIndexChanged(int index); | ||||||
|     void on_fcPos_currentIndexChanged(int index); |     void on_fcPos_currentIndexChanged(int index); | ||||||
|     void on_gain_valueChanged(int value); |     void on_gainTunerOn_toggled(bool checked); | ||||||
|  |     void on_gainTuner_valueChanged(int value); | ||||||
|  |     void on_gainManualOn_toggled(bool checked); | ||||||
|  |     void on_gainLNA_toggled(bool checked); | ||||||
|  |     void on_gainMixer_toggled(bool checked); | ||||||
|  |     void on_gainBaseband_valueChanged(int value); | ||||||
|     void on_startStop_toggled(bool checked); |     void on_startStop_toggled(bool checked); | ||||||
|     void on_record_toggled(bool checked); |     void on_record_toggled(bool checked); | ||||||
| }; | }; | ||||||
|  | |||||||
| @ -35,7 +35,16 @@ | |||||||
|    <property name="spacing"> |    <property name="spacing"> | ||||||
|     <number>3</number> |     <number>3</number> | ||||||
|    </property> |    </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> |     <number>2</number> | ||||||
|    </property> |    </property> | ||||||
|    <item> |    <item> | ||||||
| @ -521,47 +530,6 @@ | |||||||
|      <property name="spacing"> |      <property name="spacing"> | ||||||
|       <number>3</number> |       <number>3</number> | ||||||
|      </property> |      </property> | ||||||
|      <item row="0" column="1"> |  | ||||||
|       <widget class="QSlider" name="gain"> |  | ||||||
|        <property name="toolTip"> |  | ||||||
|         <string>Tuner gain</string> |  | ||||||
|        </property> |  | ||||||
|        <property name="minimum"> |  | ||||||
|         <number>0</number> |  | ||||||
|        </property> |  | ||||||
|        <property name="maximum"> |  | ||||||
|         <number>0</number> |  | ||||||
|        </property> |  | ||||||
|        <property name="pageStep"> |  | ||||||
|         <number>1</number> |  | ||||||
|        </property> |  | ||||||
|        <property name="value"> |  | ||||||
|         <number>0</number> |  | ||||||
|        </property> |  | ||||||
|        <property name="orientation"> |  | ||||||
|         <enum>Qt::Horizontal</enum> |  | ||||||
|        </property> |  | ||||||
|       </widget> |  | ||||||
|      </item> |  | ||||||
|      <item row="0" column="2"> |  | ||||||
|       <widget class="QLabel" name="gainText"> |  | ||||||
|        <property name="minimumSize"> |  | ||||||
|         <size> |  | ||||||
|          <width>40</width> |  | ||||||
|          <height>0</height> |  | ||||||
|         </size> |  | ||||||
|        </property> |  | ||||||
|        <property name="toolTip"> |  | ||||||
|         <string/> |  | ||||||
|        </property> |  | ||||||
|        <property name="text"> |  | ||||||
|         <string>000</string> |  | ||||||
|        </property> |  | ||||||
|        <property name="alignment"> |  | ||||||
|         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> |  | ||||||
|        </property> |  | ||||||
|       </widget> |  | ||||||
|      </item> |  | ||||||
|      <item row="0" column="0"> |      <item row="0" column="0"> | ||||||
|       <widget class="QLabel" name="gainLabel"> |       <widget class="QLabel" name="gainLabel"> | ||||||
|        <property name="text"> |        <property name="text"> | ||||||
| @ -569,6 +537,106 @@ | |||||||
|        </property> |        </property> | ||||||
|       </widget> |       </widget> | ||||||
|      </item> |      </item> | ||||||
|  |      <item row="0" column="2"> | ||||||
|  |       <widget class="QRadioButton" name="gainTunerOn"> | ||||||
|  |        <property name="toolTip"> | ||||||
|  |         <string>Use global tuner gain</string> | ||||||
|  |        </property> | ||||||
|  |        <property name="text"> | ||||||
|  |         <string/> | ||||||
|  |        </property> | ||||||
|  |       </widget> | ||||||
|  |      </item> | ||||||
|  |      <item row="0" column="7"> | ||||||
|  |       <widget class="ButtonSwitch" name="gainLNA"> | ||||||
|  |        <property name="toolTip"> | ||||||
|  |         <string>LNA toggle</string> | ||||||
|  |        </property> | ||||||
|  |        <property name="text"> | ||||||
|  |         <string>LNA</string> | ||||||
|  |        </property> | ||||||
|  |       </widget> | ||||||
|  |      </item> | ||||||
|  |      <item row="0" column="3"> | ||||||
|  |       <widget class="QDial" name="gainTuner"> | ||||||
|  |        <property name="maximumSize"> | ||||||
|  |         <size> | ||||||
|  |          <width>24</width> | ||||||
|  |          <height>24</height> | ||||||
|  |         </size> | ||||||
|  |        </property> | ||||||
|  |        <property name="toolTip"> | ||||||
|  |         <string>Tuner gain in step units</string> | ||||||
|  |        </property> | ||||||
|  |       </widget> | ||||||
|  |      </item> | ||||||
|  |      <item row="0" column="5"> | ||||||
|  |       <widget class="Line" name="line_2"> | ||||||
|  |        <property name="orientation"> | ||||||
|  |         <enum>Qt::Vertical</enum> | ||||||
|  |        </property> | ||||||
|  |       </widget> | ||||||
|  |      </item> | ||||||
|  |      <item row="0" column="6"> | ||||||
|  |       <widget class="QRadioButton" name="gainManualOn"> | ||||||
|  |        <property name="toolTip"> | ||||||
|  |         <string>Use individual LNA, Mixer and Baseband gains</string> | ||||||
|  |        </property> | ||||||
|  |        <property name="text"> | ||||||
|  |         <string/> | ||||||
|  |        </property> | ||||||
|  |       </widget> | ||||||
|  |      </item> | ||||||
|  |      <item row="0" column="8"> | ||||||
|  |       <widget class="ButtonSwitch" name="gainMixer"> | ||||||
|  |        <property name="toolTip"> | ||||||
|  |         <string>Mixer amplifier toggle</string> | ||||||
|  |        </property> | ||||||
|  |        <property name="text"> | ||||||
|  |         <string>MIX</string> | ||||||
|  |        </property> | ||||||
|  |       </widget> | ||||||
|  |      </item> | ||||||
|  |      <item row="0" column="9"> | ||||||
|  |       <widget class="QDial" name="gainBaseband"> | ||||||
|  |        <property name="maximumSize"> | ||||||
|  |         <size> | ||||||
|  |          <width>24</width> | ||||||
|  |          <height>24</height> | ||||||
|  |         </size> | ||||||
|  |        </property> | ||||||
|  |        <property name="toolTip"> | ||||||
|  |         <string>Baseband gain (dB)</string> | ||||||
|  |        </property> | ||||||
|  |       </widget> | ||||||
|  |      </item> | ||||||
|  |      <item row="0" column="4"> | ||||||
|  |       <widget class="QLabel" name="gainTunerText"> | ||||||
|  |        <property name="toolTip"> | ||||||
|  |         <string>Current tuner gain step unit</string> | ||||||
|  |        </property> | ||||||
|  |        <property name="text"> | ||||||
|  |         <string>000</string> | ||||||
|  |        </property> | ||||||
|  |       </widget> | ||||||
|  |      </item> | ||||||
|  |      <item row="0" column="10"> | ||||||
|  |       <widget class="QLabel" name="gainBasebandText"> | ||||||
|  |        <property name="toolTip"> | ||||||
|  |         <string>Baseband amplifier gain in dB</string> | ||||||
|  |        </property> | ||||||
|  |        <property name="text"> | ||||||
|  |         <string>00</string> | ||||||
|  |        </property> | ||||||
|  |       </widget> | ||||||
|  |      </item> | ||||||
|  |      <item row="0" column="1"> | ||||||
|  |       <widget class="Line" name="line_3"> | ||||||
|  |        <property name="orientation"> | ||||||
|  |         <enum>Qt::Vertical</enum> | ||||||
|  |        </property> | ||||||
|  |       </widget> | ||||||
|  |      </item> | ||||||
|     </layout> |     </layout> | ||||||
|    </item> |    </item> | ||||||
|    <item> |    <item> | ||||||
|  | |||||||
| @ -267,13 +267,13 @@ bool SDRPlayInput::applySettings(const SDRPlaySettings& settings, bool force) | |||||||
|         m_deviceAPI->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqCorrection); |         m_deviceAPI->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqCorrection); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if ((m_settings.m_gain != settings.m_gain) || force) |     if ((m_settings.m_tunerGain != settings.m_tunerGain) || force) | ||||||
|     { |     { | ||||||
|         m_settings.m_gain = settings.m_gain; |         m_settings.m_tunerGain = settings.m_tunerGain; | ||||||
| 
 | 
 | ||||||
|         if(m_dev != 0) |         if(m_dev != 0) | ||||||
|         { |         { | ||||||
|             int r = mirisdr_set_tuner_gain(m_dev, m_settings.m_gain); |             int r = mirisdr_set_tuner_gain(m_dev, m_settings.m_tunerGain); | ||||||
| 
 | 
 | ||||||
|             if (r < 0) |             if (r < 0) | ||||||
|             { |             { | ||||||
|  | |||||||
| @ -27,7 +27,7 @@ SDRPlaySettings::SDRPlaySettings() | |||||||
| void SDRPlaySettings::resetToDefaults() | void SDRPlaySettings::resetToDefaults() | ||||||
| { | { | ||||||
| 	m_centerFrequency = 7040*1000; | 	m_centerFrequency = 7040*1000; | ||||||
| 	m_gain = 0; | 	m_tunerGain = 0; | ||||||
|     m_LOppmTenths = 0; |     m_LOppmTenths = 0; | ||||||
|     m_frequencyBandIndex = 0; |     m_frequencyBandIndex = 0; | ||||||
|     m_ifFrequencyIndex = 0; |     m_ifFrequencyIndex = 0; | ||||||
| @ -46,7 +46,7 @@ QByteArray SDRPlaySettings::serialize() const | |||||||
| 	s.writeS32(1, m_LOppmTenths); | 	s.writeS32(1, m_LOppmTenths); | ||||||
|     s.writeU32(2, m_frequencyBandIndex); |     s.writeU32(2, m_frequencyBandIndex); | ||||||
|     s.writeU32(3, m_ifFrequencyIndex); |     s.writeU32(3, m_ifFrequencyIndex); | ||||||
|     s.writeS32(4, m_gain); |     s.writeS32(4, m_tunerGain); | ||||||
|     s.writeU32(5, m_bandwidthIndex); |     s.writeU32(5, m_bandwidthIndex); | ||||||
| 	s.writeU32(6, m_devSampleRateIndex); | 	s.writeU32(6, m_devSampleRateIndex); | ||||||
| 	s.writeU32(7, m_log2Decim); | 	s.writeU32(7, m_log2Decim); | ||||||
| @ -74,7 +74,7 @@ bool SDRPlaySettings::deserialize(const QByteArray& data) | |||||||
| 		d.readS32(1, &m_LOppmTenths, 0); | 		d.readS32(1, &m_LOppmTenths, 0); | ||||||
|         d.readU32(2, &m_frequencyBandIndex, 0); |         d.readU32(2, &m_frequencyBandIndex, 0); | ||||||
|         d.readU32(3, &m_ifFrequencyIndex, 0); |         d.readU32(3, &m_ifFrequencyIndex, 0); | ||||||
| 		d.readS32(4, &m_gain, 0); | 		d.readS32(4, &m_tunerGain, 0); | ||||||
|         d.readU32(5, &m_bandwidthIndex, 0); |         d.readU32(5, &m_bandwidthIndex, 0); | ||||||
|         d.readU32(6, &m_devSampleRateIndex, 0); |         d.readU32(6, &m_devSampleRateIndex, 0); | ||||||
| 		d.readU32(7, &m_log2Decim, 0); | 		d.readU32(7, &m_log2Decim, 0); | ||||||
|  | |||||||
| @ -28,7 +28,7 @@ struct SDRPlaySettings { | |||||||
| 	} fcPos_t; | 	} fcPos_t; | ||||||
| 
 | 
 | ||||||
| 	uint64_t m_centerFrequency; | 	uint64_t m_centerFrequency; | ||||||
| 	qint32 m_gain; | 	qint32 m_tunerGain; | ||||||
| 	int32_t  m_LOppmTenths; | 	int32_t  m_LOppmTenths; | ||||||
|     uint32_t m_frequencyBandIndex; |     uint32_t m_frequencyBandIndex; | ||||||
|     uint32_t m_ifFrequencyIndex; |     uint32_t m_ifFrequencyIndex; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user