Skip to content

Commit

Permalink
Don't alter CSD2 for gateway data.
Browse files Browse the repository at this point in the history
  • Loading branch information
g4klx committed Jun 9, 2016
1 parent 89fa0a0 commit 3ad6da4
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 15 deletions.
6 changes: 3 additions & 3 deletions YSFControl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -428,19 +428,19 @@ void CYSFControl::writeNetwork()
case YSF_FI_COMMUNICATIONS:
switch (dt) {
case YSF_DT_VD_MODE1:
m_netPayload.processVDMode1Data(data + 35U, fn);
m_netPayload.processVDMode1Data(data + 35U, fn, gateway);
m_netErrs += m_netPayload.processVDMode1Audio(data + 35U);
m_netBits += 235U;
break;

case YSF_DT_VD_MODE2:
m_netPayload.processVDMode2Data(data + 35U, fn);
m_netPayload.processVDMode2Data(data + 35U, fn, gateway);
m_netErrs += m_netPayload.processVDMode2Audio(data + 35U);
m_netBits += 135U;
break;

case YSF_DT_DATA_FR_MODE:
m_netPayload.processDataFRModeData(data + 35U, fn);
m_netPayload.processDataFRModeData(data + 35U, fn, gateway);
break;

case YSF_DT_VOICE_FR_MODE:
Expand Down
18 changes: 9 additions & 9 deletions YSFPayload.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,7 @@ unsigned int CYSFPayload::processVDMode1Audio(unsigned char* data)
return errors;
}

bool CYSFPayload::processVDMode1Data(unsigned char* data, unsigned char fn)
bool CYSFPayload::processVDMode1Data(unsigned char* data, unsigned char fn, bool gateway)
{
assert(data != NULL);

Expand Down Expand Up @@ -319,10 +319,10 @@ bool CYSFPayload::processVDMode1Data(unsigned char* data, unsigned char fn)
break;

case 1U:
if (m_downlink != NULL)
if (m_downlink != NULL && !gateway)
::memcpy(output + 0U, m_downlink, YSF_CALLSIGN_LENGTH);

if (m_uplink != NULL)
if (m_uplink != NULL && !gateway)
::memcpy(output + YSF_CALLSIGN_LENGTH, m_uplink, YSF_CALLSIGN_LENGTH);

break;
Expand Down Expand Up @@ -450,7 +450,7 @@ unsigned int CYSFPayload::processVDMode2Audio(unsigned char* data)
return errors;
}

bool CYSFPayload::processVDMode2Data(unsigned char* data, unsigned char fn)
bool CYSFPayload::processVDMode2Data(unsigned char* data, unsigned char fn, bool gateway)
{
assert(data != NULL);

Expand Down Expand Up @@ -502,12 +502,12 @@ bool CYSFPayload::processVDMode2Data(unsigned char* data, unsigned char fn)
break;

case 2U:
if (m_downlink != NULL)
if (m_downlink != NULL && !gateway)
::memcpy(output, m_downlink, YSF_CALLSIGN_LENGTH);
break;

case 3U:
if (m_uplink != NULL)
if (m_uplink != NULL && !gateway)
::memcpy(output, m_uplink, YSF_CALLSIGN_LENGTH);
break;

Expand Down Expand Up @@ -560,7 +560,7 @@ bool CYSFPayload::processVDMode2Data(unsigned char* data, unsigned char fn)
return ret && (fn == 0U || fn == 1U);
}

bool CYSFPayload::processDataFRModeData(unsigned char* data, unsigned char fn)
bool CYSFPayload::processDataFRModeData(unsigned char* data, unsigned char fn, bool gateway)
{
assert(data != NULL);

Expand Down Expand Up @@ -708,10 +708,10 @@ bool CYSFPayload::processDataFRModeData(unsigned char* data, unsigned char fn)
case 0U:
CUtils::dump(1U, "FR Mode Data, CSD2", output, 20U);

if (m_downlink != NULL)
if (m_downlink != NULL && !gateway)
::memcpy(output + 0U, m_downlink, YSF_CALLSIGN_LENGTH);

if (m_uplink != NULL)
if (m_uplink != NULL && !gateway)
::memcpy(output + YSF_CALLSIGN_LENGTH, m_uplink, YSF_CALLSIGN_LENGTH);

break;
Expand Down
6 changes: 3 additions & 3 deletions YSFPayload.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,13 @@ class CYSFPayload {

bool processHeaderData(unsigned char* bytes);

bool processVDMode1Data(unsigned char* bytes, unsigned char fn);
bool processVDMode1Data(unsigned char* bytes, unsigned char fn, bool gateway = false);
unsigned int processVDMode1Audio(unsigned char* bytes);

bool processVDMode2Data(unsigned char* bytes, unsigned char fn);
bool processVDMode2Data(unsigned char* bytes, unsigned char fn, bool gateway = false);
unsigned int processVDMode2Audio(unsigned char* bytes);

bool processDataFRModeData(unsigned char* bytes, unsigned char fn);
bool processDataFRModeData(unsigned char* bytes, unsigned char fn, bool gateway = false);

unsigned int processVoiceFRModeAudio(unsigned char* bytes);

Expand Down

0 comments on commit 3ad6da4

Please sign in to comment.