diff --git a/teletext/t42/elements.py b/teletext/t42/elements.py index da1a6d5..a3faf72 100644 --- a/teletext/t42/elements.py +++ b/teletext/t42/elements.py @@ -48,8 +48,8 @@ def from_bytes(cls, bytes): errors += e values.append(v) - subpage = (values[0] & 0x7f) | ((values[1] & 0x3f) <<8) - control = (values[0] >> 7) | (values[1] >> 5) | (values[2] << 3) + subpage = (values[0] & 0x7f) | ((values[1] & 0x3f) << 8) + control = (values[0] >> 7) | ((values[1] >> 5) & 0x6) | (values[2] << 3) return cls(page, subpage, control, errors) def to_bytes(self): @@ -86,8 +86,8 @@ def from_bytes(cls, bytes, current_magazine): errors += e values.append(v) - subpage = (values[0] & 0x7f) | ((values[1] & 0x3f) <<8) - magazine = (values[0] >> 7) | ((values[1] >> 6)<<1) + subpage = (values[0] & 0x7f) | ((values[1] & 0x3f) << 8) + magazine = (values[0] >> 7) | ((values[1] >> 5) & 0x6) return cls(magazine^current_magazine, page, subpage, errors) def __str__(self):