#!/usr/bin/env python3 # Copyright (C) 2024 Herbert Poetzl import sys import re def read_usr_access(filename): rev = False with open(filename, "rb") as fp: data = fp.read() # Search for pattern preceding USR_ACCESS value match = re.findall(br"\x30\x01\xA0\x01(.{4})", data) if not match: match = re.findall(br"\x01\xA0\x01\x30(.{4})", data) rev = True if not match: return None # Extract and convert 4 bytes to integer usr_access_bytes = match[0] usr_access_value = int.from_bytes(usr_access_bytes, byteorder="little" if rev else "big", signed=False) # print(f"USR_ACCESS register (little-endian): {usr_access_value}") return usr_access_value value = read_usr_access(sys.argv[1]) if value is not None: print(f"USR_ACCESS register value: 0x{value:08X}") else: print("USR_ACCESS register not found in the file.")