diff --git a/set_record.py b/set_record.py index 66773df..1e3f330 100644 --- a/set_record.py +++ b/set_record.py @@ -261,7 +261,6 @@ class Filter: if tagcode not in self.TAGCODE_LUT: self.packets_dropped += 1 - print("LUT ERR", tagcode) return tag = self.TAGCODE_LUT[tagcode] @@ -413,11 +412,13 @@ class VcdSink: timestamp = self.timestamp # unpack for i in range(0,4): - char = chr(value >> (i*8) & 0xFF) - self.strings[tag][1] += char + char = value >> (i*8) & 0xFF + if char != 0: + self.strings[tag][1] += chr(char) # sub of 1 indicates end of string if sub == 1: try: + string = self.strings[tag][1] #print(f"### {timestamp:012X} : {self.varnames[tag]} <= \"{self.strings[tag][1]}\"", flush=True) self.writer.change(self.strings[tag][0], timestamp, self.strings[tag][1]) except ValueError: @@ -515,9 +516,9 @@ def main(): print(" === BEGIN NOISE ===") try: - while True: - for b in sys.stdin.buffer.read(1): - packet_filter.process(b) + for bstr in sys.stdin.buffer: + for b in bstr: + petf.process(b) except KeyboardInterrupt: pass