def listen(self, target, timeout):
        if self.dev is None:
            raise IOError(errno.ENODEV, os.strerror(errno.ENODEV))
        
        with self.lock:
            log.debug("listen for {0:.3f} sec as target {1}"
                      .format(timeout, target))
        
            if type(target) is TTA:
                return self.dev.listen_tta(target, timeout)
            if type(target) is TTB:
                return self.dev.listen_ttb(target, timeout)
            if type(target) is TTF:
                return self.dev.listen_ttf(target, timeout)
            if type(target) is DEP:
                return self.dev.listen_dep(target, timeout)
Listen for *timeout* seconds to become initialized as a
dataset/ETHPy150Open javgh/greenaddress-pos-tools/nfc/clf.py/ContactlessFrontend.listen