import serial
import time


class USBReader:
    def __init__(self):
        self.PORT = "/dev/serial/by-id/usb-MicroPython_Board_in_FS_mode_de6258c0c3143639-if00"
        self.BAUD = 115200

        print("Connecting to device...")
        self.ser = serial.Serial(self.PORT, self.BAUD, timeout=1)
        time.sleep(2)
        print("Connected!")

        self.latest = None

    def start(self):
        # intentionally empty (kept for compatibility)
        pass

    def read(self):
        try:
            line = self.ser.readline()

            if not line:
                return self.latest

            line = line.decode("utf-8", errors="ignore").strip()

            if line:
                self.latest = line.upper()

        except Exception as e:
            print("USB ERROR:", e)

        return self.latest

    def stop(self):
        try:
            self.ser.close()
        except:
            pass