kopia lustrzana https://github.com/f4exb/sdrangel
				
				
				
			DSD demod: implemented DMR basic privacy followinf dsdcc v1.8.7 changes
							rodzic
							
								
									8ad440f893
								
							
						
					
					
						commit
						e72ec4c879
					
				| 
						 | 
				
			
			@ -12,7 +12,7 @@ set(CODEC2_TAG "v0.9.2")
 | 
			
		|||
set(CM256CC_TAG c0e92b92aca3d1d36c990b642b937c64d363c559)
 | 
			
		||||
set(MBELIB_TAG 9a04ed5c78176a9965f3d43f7aa1b1f5330e771f)
 | 
			
		||||
set(SERIALDV_TAG "v1.1.4")
 | 
			
		||||
set(DSDCC_TAG "v1.8.6")
 | 
			
		||||
set(DSDCC_TAG "v1.8.7")
 | 
			
		||||
set(LIMESUITE_TAG "v20.01.0")
 | 
			
		||||
set(BLADERF_TAG "2019.07")
 | 
			
		||||
set(LIBIIO_TAG 826563e41b5ce9890b75506f672017de8d76d52d)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -50,6 +50,7 @@ public:
 | 
			
		|||
    bool getVoice2On() const { return m_decoder.getVoice2On(); }
 | 
			
		||||
    void setTDMAStereo(bool tdmaStereo) { m_decoder.setTDMAStereo(tdmaStereo); }
 | 
			
		||||
    bool getSymbolPLLLocked() const { return m_decoder.getSymbolPLLLocked(); }
 | 
			
		||||
    void setDMRBasicPrivacyKey(unsigned char key) { m_decoder.setDMRBasicPrivacyKey(key); }
 | 
			
		||||
 | 
			
		||||
    int getMbeRateIndex() const { return (int) m_decoder.getMbeRate(); }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -156,6 +156,7 @@ void DSDDemod::applySettings(const DSDDemodSettings& settings, bool force)
 | 
			
		|||
            << " m_slot2On: " << settings.m_slot2On
 | 
			
		||||
            << " m_tdmaStereo: " << settings.m_tdmaStereo
 | 
			
		||||
            << " m_pllLock: " << settings.m_pllLock
 | 
			
		||||
            << " m_dmrBPKey:" << settings.m_dmrBPKey
 | 
			
		||||
            << " m_highPassFilter: "<< settings.m_highPassFilter
 | 
			
		||||
            << " m_audioDeviceName: " << settings.m_audioDeviceName
 | 
			
		||||
            << " m_traceLengthMutliplier: " << settings.m_traceLengthMutliplier
 | 
			
		||||
| 
						 | 
				
			
			@ -217,6 +218,9 @@ void DSDDemod::applySettings(const DSDDemodSettings& settings, bool force)
 | 
			
		|||
    if ((settings.m_pllLock != m_settings.m_pllLock) || force) {
 | 
			
		||||
        reverseAPIKeys.append("pllLock");
 | 
			
		||||
    }
 | 
			
		||||
    if ((settings.m_dmrBPKey != m_settings.m_dmrBPKey) || force) {
 | 
			
		||||
        reverseAPIKeys.append("dmrBPKey");
 | 
			
		||||
    }
 | 
			
		||||
    if ((settings.m_highPassFilter != m_settings.m_highPassFilter) || force) {
 | 
			
		||||
        reverseAPIKeys.append("highPassFilter");
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -263,6 +263,12 @@ void DSDDemodGUI::on_symbolPLLLock_toggled(bool checked)
 | 
			
		|||
    applySettings();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void DSDDemodGUI::on_dmrBPKey_valueChanged(int value)
 | 
			
		||||
{
 | 
			
		||||
    m_settings.m_dmrBPKey = value < 0 ? 0 : value > 255 ? 255 : value;
 | 
			
		||||
    applySettings();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void DSDDemodGUI::onWidgetRolled(QWidget* widget, bool rollDown)
 | 
			
		||||
{
 | 
			
		||||
    (void) widget;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -132,6 +132,7 @@ private slots:
 | 
			
		|||
    void on_highPassFilter_toggled(bool checked);
 | 
			
		||||
    void on_audioMute_toggled(bool checked);
 | 
			
		||||
    void on_symbolPLLLock_toggled(bool checked);
 | 
			
		||||
    void on_dmrBPKey_valueChanged(int value);
 | 
			
		||||
    void onWidgetRolled(QWidget* widget, bool rollDown);
 | 
			
		||||
    void onMenuDialogCalled(const QPoint& p);
 | 
			
		||||
    void on_viewStatusLog_clicked();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1228,6 +1228,41 @@
 | 
			
		|||
        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
 | 
			
		||||
       </property>
 | 
			
		||||
      </widget>
 | 
			
		||||
      <widget class="QLabel" name="dmrBPLabel">
 | 
			
		||||
       <property name="geometry">
 | 
			
		||||
        <rect>
 | 
			
		||||
         <x>10</x>
 | 
			
		||||
         <y>170</y>
 | 
			
		||||
         <width>21</width>
 | 
			
		||||
         <height>19</height>
 | 
			
		||||
        </rect>
 | 
			
		||||
       </property>
 | 
			
		||||
       <property name="text">
 | 
			
		||||
        <string>BP</string>
 | 
			
		||||
       </property>
 | 
			
		||||
      </widget>
 | 
			
		||||
      <widget class="QSpinBox" name="dmrBPKey">
 | 
			
		||||
       <property name="geometry">
 | 
			
		||||
        <rect>
 | 
			
		||||
         <x>40</x>
 | 
			
		||||
         <y>170</y>
 | 
			
		||||
         <width>50</width>
 | 
			
		||||
         <height>19</height>
 | 
			
		||||
        </rect>
 | 
			
		||||
       </property>
 | 
			
		||||
       <property name="toolTip">
 | 
			
		||||
        <string>DMR Basic Privacy key (0: no encryption)</string>
 | 
			
		||||
       </property>
 | 
			
		||||
       <property name="layoutDirection">
 | 
			
		||||
        <enum>Qt::RightToLeft</enum>
 | 
			
		||||
       </property>
 | 
			
		||||
       <property name="alignment">
 | 
			
		||||
        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
 | 
			
		||||
       </property>
 | 
			
		||||
       <property name="maximum">
 | 
			
		||||
        <number>255</number>
 | 
			
		||||
       </property>
 | 
			
		||||
      </widget>
 | 
			
		||||
     </widget>
 | 
			
		||||
    </item>
 | 
			
		||||
   </layout>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -30,7 +30,7 @@
 | 
			
		|||
const PluginDescriptor DSDDemodPlugin::m_pluginDescriptor = {
 | 
			
		||||
    DSDDemod::m_channelId,
 | 
			
		||||
	QString("DSD Demodulator"),
 | 
			
		||||
    QString("4.12.3"),
 | 
			
		||||
    QString("4.14.9"),
 | 
			
		||||
	QString("(c) Edouard Griffiths, F4EXB"),
 | 
			
		||||
	QString("https://github.com/f4exb/sdrangel"),
 | 
			
		||||
	true,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -46,6 +46,7 @@ void DSDDemodSettings::resetToDefaults()
 | 
			
		|||
    m_slot2On = false;
 | 
			
		||||
    m_tdmaStereo = false;
 | 
			
		||||
    m_pllLock = true;
 | 
			
		||||
    m_dmrBPKey = 0;
 | 
			
		||||
    m_rgbColor = QColor(0, 255, 255).rgb();
 | 
			
		||||
    m_title = "DSD Demodulator";
 | 
			
		||||
    m_highPassFilter = false;
 | 
			
		||||
| 
						 | 
				
			
			@ -102,6 +103,7 @@ QByteArray DSDDemodSettings::serialize() const
 | 
			
		|||
    s.writeU32(28, m_reverseAPIChannelIndex);
 | 
			
		||||
    s.writeBool(29, m_audioMute);
 | 
			
		||||
    s.writeS32(30, m_streamIndex);
 | 
			
		||||
    s.writeU32(31, m_dmrBPKey);
 | 
			
		||||
 | 
			
		||||
    return s.final();
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -180,6 +182,8 @@ bool DSDDemodSettings::deserialize(const QByteArray& data)
 | 
			
		|||
        m_reverseAPIChannelIndex = utmp > 99 ? 99 : utmp;
 | 
			
		||||
        d.readBool(29, &m_audioMute, false);
 | 
			
		||||
        d.readS32(30, &m_streamIndex, 0);
 | 
			
		||||
        d.readU32(31, &utmp, 0);
 | 
			
		||||
        m_dmrBPKey = utmp < 256 ? utmp : 255;
 | 
			
		||||
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -39,6 +39,7 @@ struct DSDDemodSettings
 | 
			
		|||
    bool m_slot2On;
 | 
			
		||||
    bool m_tdmaStereo;
 | 
			
		||||
    bool m_pllLock;
 | 
			
		||||
    uint8_t m_dmrBPKey; //!< Basic Privacy key index - 0: no encryption
 | 
			
		||||
    quint32 m_rgbColor;
 | 
			
		||||
    QString m_title;
 | 
			
		||||
    bool m_highPassFilter;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -334,6 +334,7 @@ void DSDDemodSink::applySettings(const DSDDemodSettings& settings, bool force)
 | 
			
		|||
            << " m_slot2On: " << settings.m_slot2On
 | 
			
		||||
            << " m_tdmaStereo: " << settings.m_tdmaStereo
 | 
			
		||||
            << " m_pllLock: " << settings.m_pllLock
 | 
			
		||||
            << " m_dmrBPKey: " << settings.m_dmrBPKey
 | 
			
		||||
            << " m_highPassFilter: "<< settings.m_highPassFilter
 | 
			
		||||
            << " m_audioDeviceName: " << settings.m_audioDeviceName
 | 
			
		||||
            << " m_traceLengthMutliplier: " << settings.m_traceLengthMutliplier
 | 
			
		||||
| 
						 | 
				
			
			@ -392,6 +393,11 @@ void DSDDemodSink::applySettings(const DSDDemodSettings& settings, bool force)
 | 
			
		|||
        m_dsdDecoder.setSymbolPLLLock(settings.m_pllLock);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if ((settings.m_dmrBPKey != m_settings.m_dmrBPKey) || force)
 | 
			
		||||
    {
 | 
			
		||||
        m_dsdDecoder.setDMRBasicPrivacyKey(settings.m_dmrBPKey);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if ((settings.m_highPassFilter != m_settings.m_highPassFilter) || force)
 | 
			
		||||
    {
 | 
			
		||||
        m_dsdDecoder.useHPMbelib(settings.m_highPassFilter);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue