import serial import re # Adjust this as needed SERIAL_PORT = "/dev/ttyACM0" BAUD_RATE = 115200 # Regex pattern to match: [LOCK] 10:00:00:00 | 24.00FPS ltc_pattern = re.compile(r"\[(LOCK|FREE)\]\s+(\d{2}:\d{2}:\d{2}:\d{2})\s+\|\s+([\d.]+FPS)") def main(): print(f"šŸ”Œ Connecting to serial port: {SERIAL_PORT} @ {BAUD_RATE} baud") try: with serial.Serial(SERIAL_PORT, BAUD_RATE, timeout=1) as ser: print("šŸ“” Listening for LTC messages...\n") while True: line = ser.readline().decode(errors='ignore').strip() match = ltc_pattern.match(line) if match: status, timecode, framerate = match.groups() if status == "LOCK": print(f"šŸ”’ {status} | ā± {timecode} | šŸŽž {framerate}") else: print(f"🟔 {status} | ā± {timecode} | šŸŽž {framerate}") else: if line: print(f"āš ļø Unrecognised line: {line}") except serial.SerialException as e: print(f"āŒ Serial error: {e}") except KeyboardInterrupt: print("\nšŸ›‘ Stopped by user.") if __name__ == "__main__": main()