docs: def drain(self):
          """ Drain input. """
          if self.debug:
              sys.stderr.write("%s: DRAIN INPUT (%i bytes waiting)\n" %(
                      self.__class__.__name__,
                      self.ser.inWaiting()
                      ))
          old_timeout = self.ser.timeout
          self.ser.timeout = 0.1
          data = self.ser.read(1)
          while len(data):
              if self.debug:
                  sys.stderr.write("%s: DRAINED 0x%x (%c)\n" %(self.__class__.__name__, ord(data[0]), data[0]))
              data = self.ser.read(1)
          self.ser.timeout = old_timeout
          return True