From 712ffc0e431adc7d9e96757b80ecfb0734773793 Mon Sep 17 00:00:00 2001 From: Sjef Verhoeven PE5PVB Date: Wed, 9 Aug 2023 17:55:05 +0200 Subject: [PATCH] Fixed a bug in RDS error detection --- src/TEF6686.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/TEF6686.cpp b/src/TEF6686.cpp index ecaa0d3..c164eeb 100644 --- a/src/TEF6686.cpp +++ b/src/TEF6686.cpp @@ -391,10 +391,10 @@ void TEF6686::readRDS(bool showrdserrors) if (rds.rdsB != rdsBprevious) { rds.correct = false; - if (((rds.rdsErr >> 14) & 0x02) > 0) rds.rdsAerror = true; else rds.rdsAerror = false; // Any errors in Block A? - if (((rds.rdsErr >> 12) & 0x02) > 0) rds.rdsBerror = true; else rds.rdsBerror = false; // Any errors in Block B? - if (((rds.rdsErr >> 10) & 0x02) > 0) rds.rdsCerror = true; else rds.rdsCerror = false; // Any errors in Block C? - if (((rds.rdsErr >> 8) & 0x02) > 0) rds.rdsDerror = true; else rds.rdsDerror = false; // Any errors in Block D? + rds.rdsAerror = (((rds.rdsErr >> 14) & 0x02) == 0x02); + rds.rdsBerror = (((rds.rdsErr >> 12) & 0x02) == 0x02); + rds.rdsCerror = (((rds.rdsErr >> 10) & 0x02) == 0x02); + rds.rdsDerror = (((rds.rdsErr >> 8) & 0x02) == 0x02); if (!rds.rdsAerror && !rds.rdsBerror && !rds.rdsCerror && !rds.rdsDerror) rds.correct = true; // Any errors in all blocks? if ((rdsStat & (1 << 15))) rdsReady = true;