From 7aedffeae6feec993484499322400b394076dc4a Mon Sep 17 00:00:00 2001 From: Sjef Verhoeven PE5PVB Date: Tue, 3 Oct 2023 12:51:00 +0200 Subject: [PATCH] RDS decoder now only will run when detection of RDS block has no errors at all. --- src/TEF6686.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/TEF6686.cpp b/src/TEF6686.cpp index 2a66c40..df27bc1 100644 --- a/src/TEF6686.cpp +++ b/src/TEF6686.cpp @@ -474,10 +474,7 @@ void TEF6686::readRDS(byte showrdserrors) rds.picode[6] = '\0'; } - // TP Indicator - rds.hasTP = (bitRead(rds.rdsB, 10)); - - if (!rdsBerrorThreshold) rdsblock = rds.rdsB >> 11; else return; + if (!rds.rdsBerror || showrdserrors == 3) rdsblock = rds.rdsB >> 11; else return; switch (rdsblock) { case RDS_GROUP_0A: case RDS_GROUP_0B: @@ -529,6 +526,9 @@ void TEF6686::readRDS(byte showrdserrors) if (((bitRead(rds.rdsB, 3)) & 0x1F) == 1) rds.MS = 1; else rds.MS = 2; // Read MS flag } + // TP Indicator + rds.hasTP = (bitRead(rds.rdsB, 10)); + if (!rdsCerrorThreshold) { //AF decoder if (rdsblock == 0) { // Only when in GROUP 0A @@ -1202,4 +1202,4 @@ void TEF6686::RDScharConverter(const char* input, wchar_t* output, size_t size, } } output[size - 1] = L'\0'; -} +} \ No newline at end of file