import serial, datetime, time

class ConectionSerial:
    def __init__(self, port: str, baudrate: int, timeout: int = 1):
        self.port = port
        self.baudrate = baudrate
        self.timeout = timeout
        self.ser = serial.Serial(port=self.port, baudrate=self.baudrate, timeout=self.timeout)
    

    def send(self, mensaje: str):
        if not self.ser or not self.ser.is_open:
            raise ConnectionError("Puerto COM no detectado verifica Conexion")
        self.ser.write((mensaje + "\n").encode('utf-8'))
        print(f"[SENT] -> {datetime.datetime.now() } + {mensaje}")
    
    def get(self):
        if not self.ser or not self.ser.is_open:
             raise ConnectionError("Puerto COM no detectado verifica Conexion")
        data=self.ser.readline().decode('utf-8').rstrip()
        return data
    

    def closeSerial(self):
        self.ser.close()
    