From 9f26e319da530d3981e1c03e751d53bcd29b704d Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Wed, 27 Aug 2025 11:45:11 -0500 Subject: [PATCH] uwwvb: Improve checking of marks & zeros. Signed-off-by: Jeff Epler --- src/uwwvb.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/uwwvb.py b/src/uwwvb.py index 775db69..a776113 100644 --- a/src/uwwvb.py +++ b/src/uwwvb.py @@ -99,10 +99,17 @@ def decode_wwvb( """Convert a received minute of wwvb symbols to a WWVBMinute. Returns None if any error is detected.""" if not t: return None - if not all(t[i] == MARK for i in always_mark): - return None - if not all(t[i] == ZERO for i in always_zero): - return None + for i in range(len(t)): + is_mark: bool = t[i] == MARK + is_zero: bool = t[i] == ZERO + expect_mark = i in always_mark or i == 60 + expect_zero = i in always_zero + + if expect_mark != is_mark: + return None + if expect_zero and not is_zero: + return None + # Checking redundant DUT1 sign bits if t[36] == t[37]: return None