From 5955d43faceb6bb39b609a22061edda7bb0b9de6 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Mon, 13 Jun 2016 17:38:47 +0100 Subject: [PATCH] Add debugging for invalid data. --- YSFPayload.cpp | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) diff --git a/YSFPayload.cpp b/YSFPayload.cpp index 5bfa706..75a82e2 100644 --- a/YSFPayload.cpp +++ b/YSFPayload.cpp @@ -676,6 +676,50 @@ bool CYSFPayload::processDataFRModeData(unsigned char* data, unsigned char fn, b ::memcpy(p1, p2, 9U); p1 += 18U; p2 += 9U; } + } else { + switch (fn) { + case 0U: + LogDebug("Data FR Mode, invalid CSD1"); + break; + + case 1U: + LogDebug("Data FR Mode, invalid CSD3"); + break; + + case 2U: + LogDebug("Data FR Mode, invalid DT2"); + break; + + case 3U: + LogDebug("Data FR Mode, invalid DT4"); + break; + + case 4U: + LogDebug("Data FR Mode, invalid DT6"); + break; + + case 5U: + LogDebug("Data FR Mode, invalid DT8"); + break; + + case 6U: + LogDebug("Data FR Mode, invalid DT10"); + break; + + case 7U: + LogDebug("Data FR Mode, invalid DT12"); + break; + + default: + LogDebug("Data FR Mode, invalid data"); + break; + } + + CUtils::dump(1U, "DCH", dch, 45U); + CUtils::dump(1U, "After FEC", output, 22U); + for (unsigned int i = 0U; i < 20U; i++) + output[i] ^= WHITENING_DATA[i]; + CUtils::dump(1U, "After Whitening", output, 20U); } p1 = data + 9U; @@ -780,6 +824,50 @@ bool CYSFPayload::processDataFRModeData(unsigned char* data, unsigned char fn, b ::memcpy(p1, p2, 9U); p1 += 18U; p2 += 9U; } + } else { + switch (fn) { + case 0U: + LogDebug("Data FR Mode, invalid CSD2"); + break; + + case 1U: + LogDebug("Data FR Mode, invalid DT1"); + break; + + case 2U: + LogDebug("Data FR Mode, invalid DT3"); + break; + + case 3U: + LogDebug("Data FR Mode, invalid DT5"); + break; + + case 4U: + LogDebug("Data FR Mode, invalid DT7"); + break; + + case 5U: + LogDebug("Data FR Mode, invalid DT9"); + break; + + case 6U: + LogDebug("Data FR Mode, invalid DT11"); + break; + + case 7U: + LogDebug("Data FR Mode, invalid DT13"); + break; + + default: + LogDebug("Data FR Mode, invalid data"); + break; + } + + CUtils::dump(1U, "DCH", dch, 45U); + CUtils::dump(1U, "After FEC", output, 22U); + for (unsigned int i = 0U; i < 20U; i++) + output[i] ^= WHITENING_DATA[i]; + CUtils::dump(1U, "After Whitening", output, 20U); } return ret1 && (fn == 0U);