%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__/serialjava.cpython-35.pyc



X�qVz#�@sddlTdd�Zdd�Zeddg�Zdd	�ZGd
d�de�Zedkr
edd
ddede	de
dddddd�Zejd�ej
d�ej�ej�ejd�ejjdejd��ejjdej��[dS)�)�*cCsIt|�}|jd�}x'|dd�D]}t||�}q,W|S)N�.�)�
__import__�split�getattr)�name�modZ
components�comp�r�3/usr/lib/python3/dist-packages/serial/serialjava.py�	my_import
s
r
c
CsWxD|D]<}yt|�}|j|SWqttfk
rBYqXqWtd��dS)z1try given list of modules and return that importsz/No Java Communications API implementation foundN)r
�
SerialPort�ImportError�AttributeError)�namesrr	rrr�detect_java_comms
	rz
javax.commzgnu.iocCsgtjj�}g}xA|j�rX|j�}|j�tjjkr|j|�qW||j�S)z%Turn a port number into a device name)	�comm�CommPortIdentifierZgetPortIdentifiersZhasMoreElementsZnextElementZgetPortTypeZPORT_SERIAL�appendZgetName)Z
portnumberZenumZportsZelrrr�device*src@s�eZdZdZdd�Zdd�Zdd�Zedd	��Zd
dd�Z	d
d�Z
dd�Zdd�Zddd�Z
dd�Zdd�Zdd�Zedd��Zedd��Zed d!��Zed"d#��Zd$S)%�Serialz�    Serial port class, implemented with Java Communications API and
    thus usable with jython and the appropriate java extension.
    cCs|jdkrtd��|jr0td��t|j�td�krctjj|j�}ntjjt|j��}y|jdd�|_	Wn>t
k
r�}zd|_	td|��WYdd}~XnX|j�|j	j�|_
|j	j�|_d|_dS)	zx        Open port with current settings. This may throw a SerialException
        if the port cannot be opened.
        Nz.Port must be configured before it can be used.zPort is already open.�zpython serial module�
zCould not open port: %sT)Z_port�SerialException�is_open�typerrZgetPortIdentifierr�open�sPort�	Exception�_reconfigurePortZgetInputStream�	_instreamZgetOutputStream�
_outstream)�selfZportId�msgrrrr;s 		#
zSerial.opencCs�|jstd��|jjd�|jtkrCtjj}nm|jtkratjj	}nO|jt
krtjj}n1|jtkr�tjj
}ntd|j��|jtkr�tjj}nO|jtkr�tjj}n1|jtkr
tjj}ntd|j��|jtkr;tjj}n�|jtkrYtjj}nm|jtkrwtjj}nO|jtkr�tjj}n1|jtkr�tjj}ntd|j��d}}|jr�|tjjO}|tjjO}|jr"|tjj O}|tjj!O}|jj"|j#|||�|jj$||B�|j%dkr�|jjt&|j%d��n
|jj'�dS)	z,Set communication parameters on opened port.z'Can only operate on a valid port handle�zunsupported bytesize: %rz"unsupported number of stopbits: %rzunsupported parity type: %rri�N)(rrZenableReceiveTimeoutZ	_bytesizeZFIVEBITSrrZ
DATABITS_5ZSIXBITSZ
DATABITS_6Z	SEVENBITSZ
DATABITS_7�	EIGHTBITSZ
DATABITS_8�
ValueErrorZ	_stopbits�STOPBITS_ONEZ
STOPBITS_1ZSTOPBITS_ONE_POINT_FIVEZSTOPBITS_1_5ZSTOPBITS_TWOZ
STOPBITS_2Z_parityZPARITY_NONE�PARITY_EVENZ
PARITY_ODDZPARITY_MARKZPARITY_SPACEZ_rtsctsZFLOWCONTROL_RTSCTS_INZFLOWCONTROL_RTSCTS_OUTZ_xonxoffZFLOWCONTROL_XONXOFF_INZFLOWCONTROL_XONXOFF_OUTZsetSerialPortParamsZ	_baudrateZsetFlowControlModeZ_timeout�intZdisableReceiveTimeout)r#Z	jdatabitsZ	jstopbitsZjparityZjflowinZjflowoutrrrr RsT	
		 zSerial._reconfigurePortcCsO|jrK|jrB|jj�|jj�|jj�d|_d|_dS)z
Close portNF)rrr!�closer")r#rrrr+�s		


	zSerial.closecCs|jst�|jj�S)z>Return the number of characters currently in the input buffer.)r�portNotOpenErrorr!�	available)r#rrr�
in_waiting�s	zSerial.in_waitingrcCs�|jst�t�}|dkrxxQt|�|krw|jj�}|dkrg|jdkrtPq'|j|�q'Wt|�S)z�        Read size bytes from the serial port. If a timeout is set it may
        return less characters as requested. With no timeout it will block
        until the requested number of bytes is read.
        rr���)	rr,�	bytearray�lenr!�read�timeoutr�bytes)r#�sizer2�xrrrr2�s		zSerial.readcCsZ|jst�t|ttf�s@tdtt|�f��|jj|�t	|�S)z-Output the given string over the serial port.z expected %s or bytearray, got %s)
rr,�
isinstancer4r0�	TypeErrorrr"�writer1)r#�datarrrr9�s	zSerial.writecCs,|jst�|jj|jj��dS)z9Clear input buffer, discarding all that is in the buffer.N)rr,r!�skipr-)r#rrr�reset_input_buffer�s	zSerial.reset_input_buffercCs |jst�|jj�dS)zs        Clear output buffer, aborting the current output and
        discarding all that is in the buffer.
        N)rr,r"�flush)r#rrr�reset_output_buffer�s	zSerial.reset_output_bufferg�?cCs'|jst�|jj|d�dS)zHSend break condition. Timed, returns to idle state after given duration.g@�@N)rr,Z	sendBreak)r#Zdurationrrr�
send_break�s	zSerial.send_breakcCs%|jdkrt�td��dS)zBSet break: Controls TXD. When active, to transmitting is possible.Nz<The _update_break_state function is not implemented in java.)�fdr,r)r#rrr�_update_break_state�szSerial._update_break_statecCs&|jst�|jj|j�dS)z)Set terminal status line: Request To SendN)rr,�setRTSZ
_rts_state)r#rrr�_update_rts_state�s	zSerial._update_rts_statecCs&|jst�|jj|j�dS)z-Set terminal status line: Data Terminal ReadyN)rr,�setDTRZ
_dtr_state)r#rrr�_update_dtr_state�s	zSerial._update_dtr_statecCs |jst�|jj�dS)z(Read terminal status line: Clear To SendN)rr,ZisCTS)r#rrr�cts�s	z
Serial.ctscCs |jst�|jj�dS)z)Read terminal status line: Data Set ReadyN)rr,ZisDSR)r#rrr�dsr�s	z
Serial.dsrcCs |jst�|jj�dS)z)Read terminal status line: Ring IndicatorN)rr,ZisRI)r#rrr�ri�s	z	Serial.ricCs |jst�|jj�dS)z)Read terminal status line: Carrier DetectN)rr,ZisCD)r#rrr�cd�s	z	Serial.cdN)�__name__�
__module__�__qualname__�__doc__rr r+�propertyr.r2r9r<r>r?rArCrErFrGrHrIrrrrr5s"7		r�__main__ZbaudrateiKZbytesizeZparityZstopbitsr3�ZxonxoffZrtsctsrZhelloz%r
�z%s
N)Zserial.serialutilr
rrrZ
SerialBaserrJr&r)r(�srBrDr<r>r9�sysZstdior2r.rrrr�<module>
s0
�		






Zerion Mini Shell 1.0