Add correct LICH direction to match Icom repeaters.

This commit is contained in:
Jonathan Naylor
2018-05-23 18:30:40 +01:00
parent 31beeee604
commit 2bb9cb9a49
2 changed files with 5 additions and 1 deletions

View File

@@ -227,6 +227,7 @@ bool CNXDNControl::processVoice(unsigned char usc, unsigned char option, unsigne
lich.setDirection(m_remoteGateway || !m_duplex ? NXDN_LICH_DIRECTION_INBOUND : NXDN_LICH_DIRECTION_OUTBOUND); lich.setDirection(m_remoteGateway || !m_duplex ? NXDN_LICH_DIRECTION_INBOUND : NXDN_LICH_DIRECTION_OUTBOUND);
lich.encode(data + 2U); lich.encode(data + 2U);
lich.setDirection(NXDN_LICH_DIRECTION_INBOUND);
netData[0U] = lich.getRaw(); netData[0U] = lich.getRaw();
CNXDNSACCH sacch; CNXDNSACCH sacch;
@@ -402,6 +403,7 @@ bool CNXDNControl::processVoice(unsigned char usc, unsigned char option, unsigne
lich.setDirection(m_remoteGateway || !m_duplex ? NXDN_LICH_DIRECTION_INBOUND : NXDN_LICH_DIRECTION_OUTBOUND); lich.setDirection(m_remoteGateway || !m_duplex ? NXDN_LICH_DIRECTION_INBOUND : NXDN_LICH_DIRECTION_OUTBOUND);
lich.encode(start + 2U); lich.encode(start + 2U);
lich.setDirection(NXDN_LICH_DIRECTION_INBOUND);
netData[0U] = lich.getRaw(); netData[0U] = lich.getRaw();
CNXDNSACCH sacch; CNXDNSACCH sacch;
@@ -446,6 +448,7 @@ bool CNXDNControl::processVoice(unsigned char usc, unsigned char option, unsigne
lich.setDirection(m_remoteGateway || !m_duplex ? NXDN_LICH_DIRECTION_INBOUND : NXDN_LICH_DIRECTION_OUTBOUND); lich.setDirection(m_remoteGateway || !m_duplex ? NXDN_LICH_DIRECTION_INBOUND : NXDN_LICH_DIRECTION_OUTBOUND);
lich.encode(data + 2U); lich.encode(data + 2U);
lich.setDirection(NXDN_LICH_DIRECTION_INBOUND);
netData[0U] = lich.getRaw(); netData[0U] = lich.getRaw();
// Regenerate SACCH if it's valid // Regenerate SACCH if it's valid
@@ -614,6 +617,7 @@ bool CNXDNControl::processData(unsigned char option, unsigned char *data)
lich.setDirection(m_remoteGateway || !m_duplex ? NXDN_LICH_DIRECTION_INBOUND : NXDN_LICH_DIRECTION_OUTBOUND); lich.setDirection(m_remoteGateway || !m_duplex ? NXDN_LICH_DIRECTION_INBOUND : NXDN_LICH_DIRECTION_OUTBOUND);
lich.encode(data + 2U); lich.encode(data + 2U);
lich.setDirection(NXDN_LICH_DIRECTION_INBOUND);
netData[0U] = lich.getRaw(); netData[0U] = lich.getRaw();
udch.getRaw(netData + 1U); udch.getRaw(netData + 1U);

View File

@@ -89,7 +89,7 @@ bool CNXDNLayer3::getIsGroup() const
unsigned char CNXDNLayer3::getDataBlocks() const unsigned char CNXDNLayer3::getDataBlocks() const
{ {
return m_data[8U] & 0x0FU; return (m_data[8U] & 0x0FU) + 1U;
} }
void CNXDNLayer3::getData(unsigned char* data) const void CNXDNLayer3::getData(unsigned char* data) const