관리-도구
편집 파일: serialjava.cpython-39.opt-1.pyc
a �����;�V� ����������������������@���s@���d�dl�T�dd��Zdd��Zeddg�Zdd ��ZG�d d��de�ZdS�) �����)�*c�����������������C���s2���t�|��}|��d�}|dd���D�]}t||�}q|S�)N�.����)� __import__�split�getattr)�name�mod� components�comp��r����5/usr/lib/python3.9/site-packages/serial/serialjava.py� my_import ���s ���� r���c�������������� ���C���sF���|�D�]4}zt�|�}|j�|W���S��ttfy6���Y�q0�qtd��dS�)z1try given list of modules and return that importsz/No Java Communications API implementation foundN)r���� SerialPort�ImportError�AttributeError)�namesr���r ���r���r���r ����detect_java_comm���s���� r���z javax.commzgnu.ioc�����������������C���sF���t�j���}g�}|���r:|���}|���t�jjkr|�|��q||�����S�)z%Turn a port number into a device name) �comm�CommPortIdentifierZgetPortIdentifiersZhasMoreElementsZnextElementZgetPortTypeZPORT_SERIAL�append�getName)Z portnumber�enumZports�elr���r���r ����device*���s���� r���c�������������������@���s����e�Zd�ZdZdd��Zdd��Zdd��Zedd ���Zd%dd�Z d d��Z dd��Zdd��Zd&dd�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. c�������������� ���C���s����|�j�du�rtd��|�jr td��t|�j��td�krBtj�|�j��}ntj�t|�j���}z|�dd�|�_ W�n6�t y��}�zd|�_ td|���W�Y�d}~n d}~0�0�|�����|�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�typer���r���ZgetPortIdentifierr����open�sPort� Exception�_reconfigurePortZgetInputStream� _instreamZgetOutputStream� _outstream)�selfZportId�msgr���r���r ���r!���;���s ���� "zSerial.openc�����������������C���s���|�j�std��|�j��d��|�jtkr.tjj}nJ|�jtkrBtjj }n6|�jt krVtjj}n"|�jtkrjtjj }ntd|�j���|�jtkr�tjj}n6|�jtkr�tjj}n"|�jtkr�tjj}ntd|�j���|�jtkr�tjj}nb|�jtkr�tjj}nN|�jtkr�tjj}n:|�jtk�rtjj}n$|�jtk�r*tjj}ntd|�j���d�}}|�j�r`|tjjO�}|tjjO�}|�j�r�|tjj O�}|tjj!O�}|�j��"|�j#|||��|�j��$||B���|�j%dk�r�|�j��t&|�j%d����n |�j��'���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: %rr���i���N)(r"���r���ZenableReceiveTimeoutZ _bytesizeZFIVEBITSr���r���Z DATABITS_5ZSIXBITSZ DATABITS_6Z SEVENBITSZ DATABITS_7Z EIGHTBITSZ DATABITS_8� ValueErrorZ _stopbitsZSTOPBITS_ONEZ STOPBITS_1ZSTOPBITS_ONE_POINT_FIVEZSTOPBITS_1_5ZSTOPBITS_TWOZ STOPBITS_2Z_parityZPARITY_NONEZPARITY_EVENZ PARITY_ODDZPARITY_MARKZPARITY_SPACEZ_rtsctsZFLOWCONTROL_RTSCTS_INZFLOWCONTROL_RTSCTS_OUTZ_xonxoffZFLOWCONTROL_XONXOFF_INZFLOWCONTROL_XONXOFF_OUTZsetSerialPortParamsZ _baudrateZsetFlowControlMode�_timeout�intZdisableReceiveTimeout)r'���Z jdatabitsZ jstopbitsZjparityZjflowinZjflowoutr���r���r ���r$���R���sT���� zSerial._reconfigurePortc�����������������C���s:���|�j�r6|�jr0|�j����|�j����|�j����d|�_d|�_�dS�)z Close portNF)r���r"���r%����closer&����r'���r���r���r ���r-�������s���� zSerial.closec�����������������C���s���|�j�s t�|�j���S�)z>Return the number of characters currently in the input buffer.)r"����portNotOpenErrorr%���� availabler.���r���r���r ���� in_waiting����s����zSerial.in_waitingr���c�����������������C���sX���|�j�s t�t��}|dkrPt|�|k�rP|�j���}|dkrD|�jdkrNqPq|�|��qt|�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. r������) r"���r/���� bytearray�lenr%����read�timeoutr����bytes)r'����sizer5����xr���r���r ���r5�������s���� zSerial.readc�����������������C���s@���|�j�s t�t|ttf�s,tdtt|�f���|�j�|��t |�S�)z-Output the given string over the serial port.z expected %s or bytearray, got %s) r"���r/���� isinstancer7���r3���� TypeErrorr ���r&����writer4���)r'����datar���r���r ���r<�������s����zSerial.writec�����������������C���s ���|�j�s t�|�j�|�j�����dS�)z9Clear input buffer, discarding all that is in the buffer.N)r"���r/���r%����skipr0���r.���r���r���r ����reset_input_buffer����s����zSerial.reset_input_bufferc�����������������C���s���|�j�s t�|�j����dS�)zs Clear output buffer, aborting the current output and discarding all that is in the buffer. N)r"���r/���r&����flushr.���r���r���r ����reset_output_buffer����s����zSerial.reset_output_buffer��������?c�����������������C���s���|�j�s t�|�j��|d���dS�)zHSend break condition. Timed, returns to idle state after given duration.g�����@�@N)r"���r/���Z sendBreak)r'���Zdurationr���r���r ���� send_break����s����zSerial.send_breakc�����������������C���s���|�j�du�rt�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.���r���r���r ����_update_break_state����s���� zSerial._update_break_statec�����������������C���s���|�j�s t�|�j��|�j��dS�)z)Set terminal status line: Request To SendN)r"���r/���ZsetRTSZ _rts_stater.���r���r���r ����_update_rts_state����s����zSerial._update_rts_statec�����������������C���s���|�j�s t�|�j��|�j��dS�)z-Set terminal status line: Data Terminal ReadyN)r"���r/���ZsetDTRZ _dtr_stater.���r���r���r ����_update_dtr_state����s����zSerial._update_dtr_statec�����������������C���s���|�j�s t�|�j�����dS�)z(Read terminal status line: Clear To SendN)r"���r/���ZisCTSr.���r���r���r ����cts����s����z Serial.ctsc�����������������C���s���|�j�s t�|�j�����dS�)z)Read terminal status line: Data Set ReadyN)r"���r/���ZisDSRr.���r���r���r ����dsr����s����z Serial.dsrc�����������������C���s���|�j�s t�|�j�����dS�)z)Read terminal status line: Ring IndicatorN)r"���r/���ZisRIr.���r���r���r ����ri����s����z Serial.ric�����������������C���s���|�j�s t�|�j�����dS�)z)Read terminal status line: Carrier DetectN)r"���r/���ZisCDr.���r���r���r ����cd����s����z Serial.cdN)r���)rB���)�__name__� __module__�__qualname__�__doc__r!���r$���r-����propertyr1���r5���r<���r?���rA���rC���rE���rF���rG���rH���rI���rJ���rK���r���r���r���r ���r���5���s,���7 r���N)Zserial.serialutilr���r���r���r���Z SerialBaser���r���r���r���r ����<module> ���s����