kopia lustrzana https://github.com/f4exb/sdrangel
				
				
				
			Added support for HackRF. Interim state #2
							rodzic
							
								
									2932cbfdc3
								
							
						
					
					
						commit
						3be1a1a3e2
					
				|  | @ -107,7 +107,7 @@ void HackRFGui::handleSourceMessages() | |||
| 
 | ||||
| 	while ((message = m_sampleSource->getOutputMessageQueueToGUI()->pop()) != 0) | ||||
| 	{ | ||||
| 		qDebug("AirspyGui::HandleSourceMessages: message: %s", message->getIdentifier()); | ||||
| 		qDebug("HackRFGui::HandleSourceMessages: message: %s", message->getIdentifier()); | ||||
| 
 | ||||
| 		if (handleMessage(*message)) | ||||
| 		{ | ||||
|  | @ -132,9 +132,13 @@ void HackRFGui::displaySettings() | |||
| 
 | ||||
| 	ui->fcPos->setCurrentIndex((int) m_settings.m_fcPos); | ||||
| 
 | ||||
| 	ui->lnaExt->setChecked(m_settings.m_lnaExt); | ||||
| 	ui->lnaGainText->setText(tr("%1dB").arg(m_settings.m_lnaGain)); | ||||
| 	ui->lna->setValue(m_settings.m_lnaGain); | ||||
| 
 | ||||
| 	ui->rej->setCurrentIndex(m_settings.m_imjRejFilterIndex); | ||||
| 	ui->bbFilter->setCurrentIndex(m_settings.m_bandwidthIndex); | ||||
| 
 | ||||
| 	ui->vgaText->setText(tr("%1dB").arg(m_settings.m_vgaGain)); | ||||
| 	ui->vga->setValue(m_settings.m_vgaGain); | ||||
| } | ||||
|  | @ -233,12 +237,30 @@ void HackRFGui::on_sampleRate_currentIndexChanged(int index) | |||
| 	sendSettings(); | ||||
| } | ||||
| 
 | ||||
| void HackRFGui::on_rej_currentIndexChanged(int index) | ||||
| { | ||||
| 	m_settings.m_imjRejFilterIndex = index; | ||||
| 	sendSettings(); | ||||
| } | ||||
| 
 | ||||
| void HackRFGui::on_bbFilter_currentIndexChanged(int index) | ||||
| { | ||||
| 	m_settings.m_bandwidthIndex = index; | ||||
| 	sendSettings(); | ||||
| } | ||||
| 
 | ||||
| void HackRFGui::on_biasT_stateChanged(int state) | ||||
| { | ||||
| 	m_settings.m_biasT = (state == Qt::Checked); | ||||
| 	sendSettings(); | ||||
| } | ||||
| 
 | ||||
| void HackRFGui::on_lnaExt_stateChanged(int state) | ||||
| { | ||||
| 	m_settings.m_lnaExt = (state == Qt::Checked); | ||||
| 	sendSettings(); | ||||
| } | ||||
| 
 | ||||
| void HackRFGui::on_decim_valueChanged(int value) | ||||
| { | ||||
| 	if ((value <0) || (value > 6)) | ||||
|  |  | |||
|  | @ -76,7 +76,10 @@ private slots: | |||
| 	void on_biasT_stateChanged(int state); | ||||
| 	void on_decim_valueChanged(int value); | ||||
| 	void on_fcPos_currentIndexChanged(int index); | ||||
| 	void on_lnaExt_stateChanged(int state); | ||||
| 	void on_lna_valueChanged(int value); | ||||
| 	void on_rej_currentIndexChanged(int index); | ||||
| 	void on_bbFilter_currentIndexChanged(int index); | ||||
| 	void on_vga_valueChanged(int value); | ||||
| 	void updateHardware(); | ||||
| 	void handleSourceMessages(); | ||||
|  |  | |||
|  | @ -6,8 +6,8 @@ | |||
|    <rect> | ||||
|     <x>0</x> | ||||
|     <y>0</y> | ||||
|     <width>198</width> | ||||
|     <height>214</height> | ||||
|     <width>215</width> | ||||
|     <height>220</height> | ||||
|    </rect> | ||||
|   </property> | ||||
|   <property name="sizePolicy"> | ||||
|  | @ -224,7 +224,7 @@ | |||
|     </layout> | ||||
|    </item> | ||||
|    <item> | ||||
|     <layout class="QGridLayout" name="gridLayout_fcPos" columnstretch="0,0,0"> | ||||
|     <layout class="QGridLayout" name="gridLayout_fcPos" columnstretch="0,0,0,0"> | ||||
|      <property name="spacing"> | ||||
|       <number>3</number> | ||||
|      </property> | ||||
|  | @ -235,7 +235,7 @@ | |||
|        </property> | ||||
|       </widget> | ||||
|      </item> | ||||
|      <item row="0" column="2"> | ||||
|      <item row="0" column="3"> | ||||
|       <spacer name="fcPosRightSpacer"> | ||||
|        <property name="orientation"> | ||||
|         <enum>Qt::Horizontal</enum> | ||||
|  | @ -267,6 +267,19 @@ | |||
|        </item> | ||||
|       </widget> | ||||
|      </item> | ||||
|      <item row="0" column="2"> | ||||
|       <widget class="QCheckBox" name="lnaExt"> | ||||
|        <property name="toolTip"> | ||||
|         <string>Extra LNA</string> | ||||
|        </property> | ||||
|        <property name="layoutDirection"> | ||||
|         <enum>Qt::RightToLeft</enum> | ||||
|        </property> | ||||
|        <property name="text"> | ||||
|         <string>LNA Ext</string> | ||||
|        </property> | ||||
|       </widget> | ||||
|      </item> | ||||
|     </layout> | ||||
|    </item> | ||||
|    <item> | ||||
|  |  | |||
|  | @ -34,11 +34,13 @@ HackRFInput::Settings::Settings() : | |||
| 	m_devSampleRateIndex(0), | ||||
| 	m_LOppmTenths(0), | ||||
| 	m_lnaGain(14), | ||||
| 	m_mixerGain(15), | ||||
| 	m_imjRejFilterIndex(0), | ||||
| 	m_bandwidthIndex(0), | ||||
| 	m_vgaGain(4), | ||||
| 	m_log2Decim(0), | ||||
| 	m_fcPos(FC_POS_CENTER), | ||||
| 	m_biasT(false) | ||||
| 	m_biasT(false), | ||||
| 	m_lnaExt(false) | ||||
| { | ||||
| } | ||||
| 
 | ||||
|  | @ -48,11 +50,13 @@ void HackRFInput::Settings::resetToDefaults() | |||
| 	m_devSampleRateIndex = 0; | ||||
| 	m_LOppmTenths = 0; | ||||
| 	m_lnaGain = 14; | ||||
| 	m_mixerGain = 15; | ||||
| 	m_imjRejFilterIndex = 0; | ||||
| 	m_bandwidthIndex = 0; | ||||
| 	m_vgaGain = 4; | ||||
| 	m_log2Decim = 0; | ||||
| 	m_fcPos = FC_POS_CENTER; | ||||
| 	m_biasT = false; | ||||
| 	m_lnaExt = false; | ||||
| } | ||||
| 
 | ||||
| QByteArray HackRFInput::Settings::serialize() const | ||||
|  | @ -65,9 +69,11 @@ QByteArray HackRFInput::Settings::serialize() const | |||
| 	data.m_log2Decim = m_log2Decim; | ||||
| 	data.m_fcPos = (qint32) m_fcPos; | ||||
| 	data.m_lnaGain = m_lnaGain; | ||||
| 	data.m_mixerGain = m_mixerGain; | ||||
| 	data.m_imjRejFilterIndex = m_imjRejFilterIndex; | ||||
| 	data.m_bandwidthIndex = m_bandwidthIndex; | ||||
| 	data.m_vgaGain = m_vgaGain; | ||||
| 	data.m_biasT  = m_biasT; | ||||
| 	data.m_lnaExt  = m_lnaExt; | ||||
| 
 | ||||
| 	QByteArray byteArray; | ||||
| 
 | ||||
|  | @ -88,9 +94,11 @@ bool HackRFInput::Settings::deserialize(const QByteArray& serializedData) | |||
| 	m_log2Decim = data.m_log2Decim; | ||||
| 	m_fcPos = (fcPos_t) data.m_fcPos; | ||||
| 	m_lnaGain = data.m_lnaGain; | ||||
| 	m_mixerGain = data.m_mixerGain; | ||||
| 	m_imjRejFilterIndex = data.m_imjRejFilterIndex; | ||||
| 	m_bandwidthIndex = data.m_bandwidthIndex; | ||||
| 	m_vgaGain = data.m_vgaGain; | ||||
| 	m_biasT = data.m_biasT; | ||||
| 	m_lnaExt = data.m_lnaExt; | ||||
| 
 | ||||
| 	return valid; | ||||
| } | ||||
|  |  | |||
|  | @ -38,11 +38,11 @@ public: | |||
| 		quint32 m_bandwidthIndex; | ||||
| 		quint32 m_imjRejFilterIndex; | ||||
| 		quint32 m_lnaGain; | ||||
| 		quint32 m_mixerGain; | ||||
| 		quint32 m_vgaGain; | ||||
| 		quint32 m_log2Decim; | ||||
| 		fcPos_t m_fcPos; | ||||
| 		bool m_biasT; | ||||
| 		bool m_lnaExt; | ||||
| 
 | ||||
| 		Settings(); | ||||
| 		void resetToDefaults(); | ||||
|  |  | |||
|  | @ -29,9 +29,11 @@ void HackRFSerializer::writeSerializedData(const AirspyData& data, QByteArray& s | |||
| 	s.writeU32(4, data.m_log2Decim); | ||||
| 	s.writeS32(5, data.m_fcPos); | ||||
| 	s.writeU32(6, data.m_lnaGain); | ||||
| 	s.writeU32(7, data.m_mixerGain); | ||||
| 	s.writeU32(8, data.m_vgaGain); | ||||
| 	s.writeBool(9, data.m_biasT); | ||||
| 	s.writeU32(7, data.m_imjRejFilterIndex); | ||||
| 	s.writeU32(8, data.m_bandwidthIndex); | ||||
| 	s.writeU32(9, data.m_vgaGain); | ||||
| 	s.writeBool(10, data.m_biasT); | ||||
| 	s.writeBool(11, data.m_lnaExt); | ||||
| 
 | ||||
| 	serializedData = s.final(); | ||||
| } | ||||
|  | @ -60,9 +62,11 @@ bool HackRFSerializer::readSerializedData(const QByteArray& serializedData, Airs | |||
| 		d.readU32(4, &data.m_log2Decim, 0); | ||||
| 		d.readS32(5, &data.m_fcPos, 0); | ||||
| 		d.readU32(6, &data.m_lnaGain, 14); | ||||
| 		d.readU32(7, &data.m_mixerGain, 15); | ||||
| 		d.readU32(8, &data.m_vgaGain, 4); | ||||
| 		d.readBool(9, &data.m_biasT, false); | ||||
| 		d.readU32(7, &data.m_imjRejFilterIndex, 0); | ||||
| 		d.readU32(8, &data.m_bandwidthIndex, 0); | ||||
| 		d.readU32(9, &data.m_vgaGain, 4); | ||||
| 		d.readBool(10, &data.m_biasT, false); | ||||
| 		d.readBool(11, &data.m_lnaExt, false); | ||||
| 
 | ||||
| 		return SampleSourceSerializer::readSerializedData(sampleSourceSerialized, data.m_data); | ||||
| 	} | ||||
|  | @ -80,7 +84,9 @@ void HackRFSerializer::setDefaults(AirspyData& data) | |||
| 	data.m_log2Decim = 0; | ||||
| 	data.m_fcPos = 0; | ||||
| 	data.m_lnaGain = 14; | ||||
| 	data.m_mixerGain = 15; | ||||
| 	data.m_imjRejFilterIndex = 0; | ||||
| 	data.m_bandwidthIndex = 0; | ||||
| 	data.m_vgaGain = 4; | ||||
| 	data.m_biasT = false; | ||||
| 	data.m_lnaExt = false; | ||||
| } | ||||
|  |  | |||
|  | @ -30,9 +30,11 @@ public: | |||
| 		quint32 m_log2Decim; | ||||
| 		qint32 m_fcPos; | ||||
| 		quint32 m_lnaGain; | ||||
| 		quint32 m_mixerGain; | ||||
| 		quint32 m_imjRejFilterIndex; | ||||
| 		quint32 m_bandwidthIndex; | ||||
| 		quint32 m_vgaGain; | ||||
| 		bool m_biasT; | ||||
| 		bool m_lnaExt; | ||||
| 	}; | ||||
| 
 | ||||
| 	static void writeSerializedData(const AirspyData& data, QByteArray& serializedData); | ||||
|  |  | |||
		Ładowanie…
	
		Reference in New Issue
	
	 f4exb
						f4exb