PySerial: comment comprendre que le délai d'attente s'est produite lors de la lecture du port série?

Je suis en utilisant PySerial à lire à partir du port série, comme dans le code ci-dessous.
CheckReadUntil() lire la sortie de la commande que j'envoie au port série jusqu'à ce que la séquence de symboles readUntil sont dans la sortie série.

...

self.ser = serial.Serial(comDev, 115200, timeout=10)

...

#Function that continue to read from Serial port until 'readUntil' 
#sequence of symbols appears
def CheckReadUntil(self, readUntil):
    outputCharacters = []
    while 1:
        ch = self.ser.read()
        outputCharacters += ch
        if outputCharacters[-len(readUntil):]==readUntil:
            break
    outputLines = ''.join(outputCharacters)
    return outputLines

Cependant, si il n'y a pas de séquence readUntil (pour une raison quelconque), je suis juste coincé dans la fonction CheckReadUntil() pour toujours. Le paramètre timeout=10 définit délai d'attente donc je suis coincé dans une boucle qui itère toutes les 10 secondes à ne rien faire, juste attendre.

Comment il est possible de comprendre qu'il y avait un délai d'attente de l'événement afin que je puisse sortir de la boucle infinie? Longueur de sortie peuvent être différentes.

OriginalL'auteur Konstantin | 2014-03-24