This module provides functions to wait for events on streams (select streams which are ready for operations).
Polling is an efficient way of waiting for read/write activity on multiple objects. Current objects that support polling are: pyb.UART
, pyb.USB_VCP
.
Create an instance of the Poll
class.
Wait for activity on a set of objects.
This function is provided for compatibility and is not efficient. Usage of Poll
is recommended instead.
Register obj
for polling. eventmask
is logical OR of:
select.POLLIN
- data available for reading
select.POLLOUT
- more data can be written
select.POLLERR
- error occurred
select.POLLHUP
- end of stream/connection termination detected
eventmask
defaults to select.POLLIN | select.POLLOUT
.
Unregister obj
from polling.
Modify the eventmask
for obj
.
Wait for at least one of the registered objects to become ready. Returns list of (obj
, event
, …) tuples, event
element specifies which events happened with a stream and is a combination of select.POLL*
constants described above. There may be other elements in tuple, depending on a platform and version, so don’t assume that its size is 2. In case of timeout, an empty list is returned.
Timeout is in milliseconds.