'loop and copy serial->console'

def reader(self):

    try:
        while (self.alive and self._reader_alive):
            data = self.serial.read((self.serial.in_waiting or 1))
            if data:
                if self.raw:
                    self.console.write_bytes(data)
                else:
                    text = self.rx_decoder.decode(data)
                    for transformation in self.rx_transformations:
                        text = transformation.rx(text)
                    self.console.write(text)
    except serial.SerialException:
        self.alive = False
        self.console.cancel()
        raise
