From 5313a6046dfea3ab352cca8abfc54031969ce4e9 Mon Sep 17 00:00:00 2001 From: KubaPro010 Date: Tue, 3 Mar 2026 18:47:58 +0100 Subject: [PATCH] fuck you too --- xrd.py | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/xrd.py b/xrd.py index 2f6a686..e7b26c5 100644 --- a/xrd.py +++ b/xrd.py @@ -196,18 +196,24 @@ def send_rds_data(tef: TEF6686, conn: socket.socket, state: dict): if (status & (1 << 9) == 0) or (status & (1 << 15) == 0) or (status & (1 << 13) == (1 << 13)): return data = b"" - a_error = dec_error >> 6 - c_error = (dec_error >> 2) & 0b11 - if (status & (1 << 12) == 0): - # Type A, PI in A - data = f"R{A:04X}{B:04X}{C:04X}".encode() - elif (status >> 12) & 1: - # Type B, PI in A and C - pi = A - if c_error < a_error: pi = C - data = f"R{pi:04X}{B:04X}{pi:04X}".encode() - data += f"{D:04X}{dec_error:02X}\n".encode() + if (status & (1 << 13) == 0): + err = 0 + err |= ((dec_error >> 8) & 0x30) >> 4 + err |= ((dec_error >> 8) & 0xC) + err |= ((dec_error >> 8) & 3) << 4 + data = b"R" + data += f"{B:04X}{C:04X}{D:04X}{err:02X}\n".encode() + + pi_error = (dec_error >> 14) & 0b11 + if pi_error < 3: + data += b"P" + f"{A:04X}".encode() + data += b"?" * pi_error + b"\n" + elif status & (1 << 12): + pi_error = (dec_error >> 10) & 0b11 + if pi_error < 3: + data += b"P" + f"{C:04X}".encode() + data += b"?" * pi_error + b"\n" if not data.strip(): return conn.sendall(data)