CasperSecurity

Current Path : /lib/python3/dist-packages/serial/urlhandler/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/serial/urlhandler/__pycache__/protocol_cp2110.cpython-310.pyc

o

ʦ^_\!�@s�ddlZddlZzddlZWneyddlmZYnwzddlZWn
ey1ddlZYnwddlZddl	Z	ddl
mZmZm
Z
mZmZdZdZdZdZdZdZdZdZd	ZGd
d�de�ZdS)�N)�
SerialBase�SerialException�PortNotOpenError�to_bytes�Timeout�A��C��P�Q�Rcs~eZdZdZ�fdd�Zdd�Zdd�Zdd	�Zd
d�Ze	dd
��Z
dd�Zdd�Zdd�Z
ddd�Zdd�Zdd�Z�ZS)�Serial)i,iwiXi�ii`	i�i�%iKi�i�i�i�ii �i�ii@Bcs,d|_d|_d|_tt|�j|i|��dS�N)�_hid_handle�_read_buffer�_thread�superr�__init__)�self�args�kwargs��	__class__��C/usr/lib/python3/dist-packages/serial/urlhandler/protocol_cp2110.pyrEszSerial.__init__c
Cs�|jdur	td��|jrtd��t��|_t��|_z|�|j	�}|j�
|�Wnty?}zt|jd�
|j|���d}~wwz|��Wnz
|j��Wd|_�Yd|_�d|_tj|jd�|_|j�d�|j�d�
|j��|j��dS)Nz.Port must be configured before it can be used.zPort is already open.zcould not open port {}: {}T)�targetz$pySerial CP2110 reader thread for {})�_portr�is_open�Queuer�hid�devicer�from_url�portstr�	open_path�OSError�errno�format�_reconfigure_port�close�	threading�Thread�_hid_read_loopr�	setDaemon�setName�start)r�portpath�msgrrr�openKs:


���zSerial.opencCsBt�|�}|jdkrtd�|j���|jr|j�d�S|j�d�S)N�cp2110zuexpected a string in the forms "cp2110:///dev/hidraw9" or "cp2110://0001:0023:00": not starting with cp2110:// {{!r}}zutf-8)�urlparse�urlsplit�schemerr'�netloc�encode�path)r�url�partsrrrr"js

�zSerial.from_urlcCs2d|_|jr|j�d�d|_|j��d|_dS)NFr)rr�joinrr)�rrrrr)us

zSerial.closec	Cs`d}|jtjkrd}n,|jtjkrd}n#|jtjkrd}n|jtjkr&d}n|jtjkr/d}ntd�|j���|j	r=d}nd}d}|j
dkrId}n |j
dkrQd}n|j
d	krYd}n|j
d
krad}ntd�|j
���d}|jtjkrtd}n|jtj
kr}d}n|jtjkr�d}ntd�|j���t�d
t|j||||�}|j�|�|j�tttf��|��dS)Nrrr
��zInvalid parity: {!r}����zInvalid char len: {!r}z$Invalid stop bit specification: {!r}z>BLBBBB)�_parity�serial�PARITY_NONE�
PARITY_ODD�PARITY_EVEN�PARITY_MARK�PARITY_SPACE�
ValueErrorr'�rtscts�	_bytesize�	_stopbits�STOPBITS_ONE�STOPBITS_ONE_POINT_FIVE�STOPBITS_TWO�struct�pack�_REPORT_GETSET_UART_CONFIG�	_baudrater�send_feature_report�bytes�_REPORT_GETSET_UART_ENABLE�_ENABLE_UART�_update_break_state)r�parity_value�flow_control_value�data_bits_value�stop_bits_value�configuration_reportrrrr(}s^



�	
�zSerial._reconfigure_portcCs
|j��Sr)r�qsizer=rrr�
in_waiting�s
zSerial.in_waitingcCsH|jst��|j�tttf��|j��r"|j�	d�|j��sdSdS)NF)
rrrrVrW�_REPORT_SET_PURGE_FIFOS�_PURGE_RX_FIFOrr`�getr=rrr�reset_input_buffer�s
�
�zSerial.reset_input_buffercCs$|jst��|j�tttf��dSr)rrrrVrWrb�_PURGE_TX_FIFOr=rrr�reset_output_buffer�s

�zSerial.reset_output_buffercCsB|jst��|jr|j�ttdf��dS|j�ttdf��dS)Nr)rr�_break_staterVrW�_REPORT_SET_TRANSMIT_LINE_BREAK�_REPORT_SET_STOP_LINE_BREAKr=rrrrZ�s
�
�zSerial._update_break_statercCs�|jst��t�}zDt|j�}t|�|krD|jdurtd��|j�	d|�
��}|dur0t|�WS||7}|��r9nt|�|ksWt|�SWt|�SWt|�St
jyZYt|�Sw)Nz&connection failed (reader thread died)T)rr�	bytearrayr�_timeout�lenrrrrd�	time_leftrW�expiredr�Empty)r�size�data�timeout�bufrrr�read�s0


�����zSerial.readcCst|jst��t|�}t|�}|dkr8t|d�}t|g�|d|�}|j�|�||d�}t|�}|dksdSdS)Nr�?)rrrrm�minr�write)rrr�tx_len�
to_be_sent�reportrrrrx�s
�zSerial.writecCsnz2|jr-|jjddd�}|sq|�d�}|t|�ksJ�|j�t|��|jsWd|_dSWd|_dSd|_w)N�@�d)�
timeout_msr)	rrru�poprmr�putrkr)rrr�data_lenrrrr,�s
�
�zSerial._hid_read_loop)r)�__name__�
__module__�__qualname__�	BAUDRATESrr2r"r)r(�propertyrarergrZrurxr,�
__classcell__rrrrr=s9
	

r)rRr*r4�ImportError�urllib.parse�parser�queuer rE�serial.serialutilrrrrrrX�
_DISABLE_UARTrYrbrfrcrTrirjrrrrr�<module>s2��
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY