from packet_structs import * def decode_sram(data: bytes) -> (PhyHeader, MacProtocolDataUnit): header = PhyHeader.from_bytes(data) mpdu = MacProtocolDataUnit.from_bytes(data[1:], header) return header, mpdu if __name__ == "__main__": raw_data_str = "230198002300120023000B004C6F6C20746869732069732061206D65737361676500" raw_data = bytes.fromhex(raw_data_str) print(f"Raw:\n\r{raw_data}\n\r") header, mpdu = decode_sram(raw_data) print(f"Header: {header}") print(f"MPDU: {mpdu}")