%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /snap/core/17212/usr/lib/python3/dist-packages/serial/__pycache__/
Upload File :
Create Path :
Current File : //snap/core/17212/usr/lib/python3/dist-packages/serial/__pycache__/aio.cpython-35.pyc



�qV7�@s�dZddlZddlZddlZGdd�dej�Zejdd��Zedkr�Gdd	�d	ej	�Z
ej�Zeee
d
dd�Z
eje
�ej�ej�dS)
z�Support asyncio with serial ports. EXPERIMENTAL

Posix platforms only, Python 3.4+ only.

Windows event loops can not wait for serial ports with the current
implementation. It should be possible to get that working though.
�Nc@speZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�SerialTransportcCs|||_||_||_d|_d|_d|j_|jj�|j|j|�|j|j	|jj
|j�dS)NFr)�_loop�	_protocol�serial�_closing�_pausedZtimeoutZnonblocking�	call_soon�connection_made�
add_reader�fd�_read_ready)�self�loop�protocolZserial_instance�r�,/usr/lib/python3/dist-packages/serial/aio.py�__init__s					
zSerialTransport.__init__cCsdjd|�S)NzH{self.__class__.__name__}({self._loop}, {self._protocol}, {self.serial})r
)�format)r
rrr�__repr__$szSerialTransport.__repr__cCsV|jr
dSd|_|jj|jj�|jj�|jj|jjd�dS)NT)	rr�
remove_readerrr�closerr�connection_lost)r
rrrr's		
zSerialTransport.closecCs,|jjd�}|r(|jj|�dS)Ni)r�readr�
data_received)r
�datarrrr/szSerialTransport._read_readycCs|jj|�dS)N)r�write)r
rrrrr4szSerialTransport.writecCsdS)NFr)r
rrr�
can_write_eof7szSerialTransport.can_write_eofcCsi|jrtd��|jr*td��d|_|jj|j�|jj�retjd|�dS)Nz#Cannot pause_reading() when closingzAlready pausedTz%r pauses reading)	r�RuntimeErrorrrr�_sock_fd�	get_debug�logging�debug)r
rrr�
pause_reading:s			zSerialTransport.pause_readingcCsg|jstd��d|_|jr+dS|jj|j|j�|jj�rctj	d|�dS)Nz
Not pausedFz%r resumes reading)
rrrrr
rrrr r!)r
rrr�resume_readingDs			zSerialTransport.resume_readingN)�__name__�
__module__�__qualname__rrrrrrr"r#rrrrrs

rcOs7tj||�}|�}t|||�}||fS)N)rZSerialr)rZprotocol_factory�args�kwargsZserr�	transportrrr�create_serial_connectionUs	r*�__main__c@s4eZdZdd�Zdd�Zdd�ZdS)�OutputcCs3||_td|�d|j_|jd�dS)Nzport openedFshello world
)r)�printrZrtsr)r
r)rrrr	`s	
zOutput.connection_madecCs$tdt|��|jj�dS)Nz
data received)r-�reprr)r)r
rrrrrfszOutput.data_receivedcCstd�tj�j�dS)Nzport closed)r-�asyncio�get_event_loop�stop)r
�excrrrrjs
zOutput.connection_lostN)r$r%r&r	rrrrrrr,_sr,z/dev/ttyUSB0Zbaudratei�)�__doc__r/rr Z	Transportr�	coroutiner*r$ZProtocolr,r0r�coroZrun_until_completeZrun_foreverrrrrr�<module>s?	



Zerion Mini Shell 1.0