1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-07-03 21:32:33 +00:00

Implemented ready_to_read()

This commit is contained in:
slush 2012-11-15 20:08:02 +00:00
parent b8e60121fe
commit 0c3f723ee7
3 changed files with 14 additions and 3 deletions

View File

@ -19,6 +19,9 @@ class Transport(object):
def _read(self): def _read(self):
raise NotImplemented raise NotImplemented
def ready_to_read(self):
raise NotImplemented
def close(self): def close(self):
self._close() self._close()

View File

@ -2,7 +2,7 @@
Use this transport for talking with bitkey simulator.''' Use this transport for talking with bitkey simulator.'''
import os import os
from select import select
from transport import Transport from transport import Transport
class PipeTransport(Transport): class PipeTransport(Transport):
@ -38,6 +38,10 @@ class PipeTransport(Transport):
os.unlink(self.filename_read) os.unlink(self.filename_read)
os.unlink(self.filename_write) os.unlink(self.filename_write)
def ready_to_read(self):
rlist, _, _ = select([self.read_f], [], [], 0)
return len(rlist) > 0
def _write(self, msg): def _write(self, msg):
try: try:
self.write_f.write(msg) self.write_f.write(msg)

View File

@ -3,7 +3,7 @@
# Local serial port loopback: socat PTY,link=COM8 PTY,link=COM9 # Local serial port loopback: socat PTY,link=COM8 PTY,link=COM9
import serial import serial
from select import select
from transport import Transport from transport import Transport
class SerialTransport(Transport): class SerialTransport(Transport):
@ -18,6 +18,10 @@ class SerialTransport(Transport):
self.serial.close() self.serial.close()
self.serial = None self.serial = None
def ready_to_read(self):
rlist, _, _ = select([self.serial], [], [], 0)
return len(rlist) > 0
def _write(self, msg): def _write(self, msg):
try: try:
self.serial.write(msg) self.serial.write(msg)