mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-12-23 01:55:48 -05:00
DSD decoder: NXDN implementation
This commit is contained in:
parent
d17775f5e1
commit
e86120969a
@ -65,6 +65,7 @@ public:
|
||||
const DSDcc::DSDDstar& getDStarDecoder() const { return m_decoder.getDStarDecoder(); }
|
||||
const DSDcc::DSDdPMR& getDPMRDecoder() const { return m_decoder.getDPMRDecoder(); }
|
||||
const DSDcc::DSDYSF& getYSFDecoder() const { return m_decoder.getYSFDecoder(); }
|
||||
const DSDcc::DSDNXDN& getNXDNDecoder() const { return m_decoder.getNXDNDecoder(); }
|
||||
|
||||
void setMyPoint(float lat, float lon) { m_decoder.setMyPoint(lat, lon); }
|
||||
void setAudioGain(float gain) { m_decoder.setAudioGain(gain); }
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
#include <QTime>
|
||||
#include <QDebug>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <complex.h>
|
||||
|
||||
@ -659,6 +660,48 @@ void DSDDemod::formatStatusText()
|
||||
getDecoder().getDPMRDecoder().getCalledId());
|
||||
m_signalFormat = signalFormatDPMR;
|
||||
break;
|
||||
case DSDcc::DSDDecoder::DSDSyncNXDNP:
|
||||
case DSDcc::DSDDecoder::DSDSyncNXDNN:
|
||||
if (getDecoder().getNXDNDecoder().getRFChannel() == DSDcc::DSDNXDN::NXDNRCCH)
|
||||
{
|
||||
// 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8
|
||||
// 0....5....0....5....0....5....0....5....0....5....0....5....0....5....0....5....0..
|
||||
// RC cc mm llllll ssss
|
||||
snprintf(m_formatStatusText, 82, "RC %02d %02X %06X %02X",
|
||||
getDecoder().getNXDNDecoder().getRAN(),
|
||||
getDecoder().getNXDNDecoder().getMessageType(),
|
||||
getDecoder().getNXDNDecoder().getLocationId(),
|
||||
getDecoder().getNXDNDecoder().getServicesFlag());
|
||||
}
|
||||
else if ((getDecoder().getNXDNDecoder().getRFChannel() == DSDcc::DSDNXDN::NXDNRTCH)
|
||||
|| (getDecoder().getNXDNDecoder().getRFChannel() == DSDcc::DSDNXDN::NXDNRDCH))
|
||||
{
|
||||
if (getDecoder().getNXDNDecoder().isIdle()) {
|
||||
snprintf(m_formatStatusText, 82, "%s IDLE", getDecoder().getNXDNDecoder().getRFChannelStr());
|
||||
}
|
||||
else
|
||||
{
|
||||
// 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8
|
||||
// 0....5....0....5....0....5....0....5....0....5....0....5....0....5....0....5....0..
|
||||
// Rx cc mm sssss>gddddd
|
||||
snprintf(m_formatStatusText, 82, "%s %02d %02X %05d>%c%05d",
|
||||
getDecoder().getNXDNDecoder().getRFChannelStr(),
|
||||
getDecoder().getNXDNDecoder().getRAN(),
|
||||
getDecoder().getNXDNDecoder().getMessageType(),
|
||||
getDecoder().getNXDNDecoder().getSourceId(),
|
||||
getDecoder().getNXDNDecoder().isGroupCall() ? 'G' : 'I',
|
||||
getDecoder().getNXDNDecoder().getDestinationId());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8
|
||||
// 0....5....0....5....0....5....0....5....0....5....0....5....0....5....0....5....0..
|
||||
// RU
|
||||
snprintf(m_formatStatusText, 82, "RU");
|
||||
}
|
||||
m_signalFormat = signalFormatNXDN;
|
||||
break;
|
||||
case DSDcc::DSDDecoder::DSDSyncYSF:
|
||||
// 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8
|
||||
// 0....5....0....5....0....5....0....5....0....5....0....5....0....5....0....5....0..
|
||||
|
@ -152,7 +152,8 @@ private:
|
||||
signalFormatDMR,
|
||||
signalFormatDStar,
|
||||
signalFormatDPMR,
|
||||
signalFormatYSF
|
||||
signalFormatYSF,
|
||||
signalFormatNXDN
|
||||
} SignalFormat; //!< Used for status text formatting
|
||||
|
||||
class MsgConfigureMyPosition : public Message {
|
||||
|
Loading…
Reference in New Issue
Block a user