HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /proc/1991110/cwd/usr/lib/python3/dist-packages/serial/__pycache__/
Upload File :
Current File : //proc/1991110/cwd/usr/lib/python3/dist-packages/serial/__pycache__/serialwin32.cpython-311.pyc
�

+�a_<O��n�ddlmZddlZddlZddlmZddlZddlmZmZm	Z	m
Z
mZGd�de��ZdS)�)�absolute_importN)�win32)�
SerialBase�SerialException�to_bytes�PortNotOpenError�SerialTimeoutExceptionc�F��eZdZdZdZ�fd�Zd�Zd�Zd�Zd�Z	e
d���Zd!d
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Ze
d���Ze
d���Ze
d���Ze
d���Zd"d�Zd#d�Ze
d���Zd�Zd�Zd�Zej j!d ���Z �xZ"S)$�Serialz5Serial port implementation for Win32 based on ctypes.)�2�K�n����i,iXi�ii`	i�i�%iKi�i�i�c�r��d|_d|_d|_tt|��j|i|��dS�N)�_port_handle�_overlapped_read�_overlapped_write�superr�__init__)�self�args�kwargs�	__class__s   ��4/usr/lib/python3/dist-packages/serial/serialwin32.pyrzSerial.__init__sC��� ��� $���!%���$��f�d���$�d�5�f�5�5�5�5�5�c	�D�|j�td���|jrtd���|j}	|����d��r t
|dd���dkrd|z}n#t$rYnwxYwtj	|tj
tjzddtjtj
tjzd��|_|jtjkr@d|_td	�|jt'j�������	tj��|_tjdd
dd��|j_tj��|_tjdddd��|j_tj|jdd��tj��|_tj|jt'j|j����|���tj |jtj!tj"ztj#ztj$z��d|_dS#	|�%��n#YnxYwd|_�xYw)
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.�COM��z\\.\rzcould not open port {!r}: {!r}��T)&�_portr�is_open�name�upper�
startswith�int�
ValueErrorr�
CreateFile�GENERIC_READ�
GENERIC_WRITE�
OPEN_EXISTING�FILE_ATTRIBUTE_NORMAL�FILE_FLAG_OVERLAPPEDr�INVALID_HANDLE_VALUE�format�portstr�ctypes�WinError�
OVERLAPPEDr�CreateEvent�hEventr�	SetupComm�COMMTIMEOUTS�_orgTimeouts�GetCommTimeouts�byref�_reconfigure_port�	PurgeComm�
PURGE_TXCLEAR�
PURGE_TXABORT�
PURGE_RXCLEAR�
PURGE_RXABORT�_close)r�ports  r�openzSerial.open#ss��
�:��!�"R�S�S�S��<�	;�!�"9�:�:�:��y��	��z�z�|�|�&�&�u�-�-�
(�#�d�1�2�2�h�-�-�!�2C�2C� �4�'�����	�	�	��D�	����"�,�����!4�4�
�����'�%�*D�D�
�������� :�:�:� $�D��!�"B�"I�"I�$�,�X^�Xg�Xi�Xi�"j�"j�k�k�k� 	 �$)�$4�$6�$6�D�!�+0�+<�T�1�a��+N�+N�D�!�(�%*�%5�%7�%7�D�"�,1�,=�d�A�q�$�,O�,O�D�"�)�
�O�D�-�t�T�:�:�:�!&� 2� 4� 4�D���!�$�"3�V�\�$�BS�5T�5T�U�U�U��"�"�$�$�$�
�O��!��#�e�&9�9��#�$�&+�&9�:�
;�
;�
;� �D�L�L�L��	�
����
�
�
�
��
������ $�D�����s7�AA=�=
B
�	B
�:D5I8�8J�;J�J�J�
Jc���|jstd���tj��}|j�nG|jdkrtj|_n*tt|jdz��d��|_	|jdkr1|j
�*tt|j
dz��d��|_|j�nG|jdkrtj|_n*tt|jdz��d��|_tj
|jtj|����tj|jtj��tj��}tj|jtj|����|j|_|jt.jkrd|_n~|jt.jkrd|_na|jt.jkrd|_nD|jt.jkrd	|_n't;d
�|j�����|jt.j krtj!|_"d|_#n�|jt.j$krtj%|_"d|_#n�|jt.j&krtj'|_"d|_#n�|jt.j(krtj)|_"d|_#nU|jt.j*krtj+|_"d|_#n't;d�|j�����|j,t.j-krtj.|_/nu|j,t.j0krtj1|_/nN|j,t.j2krtj3|_/n't;d�|j,�����d|_4|j5�K|j6rtj7|_8n$|j9rtj:ntj;|_8|j6|_<�n0|j5j=s,t;d
�|j5j=�����|j5j>r,t;d�|j5j>�����|j5j?�,t;d�|j5j?�����|j5j@�,t;d�|j5j@�����|j5jAr,t;d�|j5jA�����tjB|_8d|_<|jCrtjD|_En$|jFrtjGntjH|_E|jC|_I|jJ|_K|jJ|_Ld|_Md|_Nd|_Ot.jP|_Qt.jR|_StjT|jtj|����s3td�tjU�������dS)z,Set communication parameters on opened port.z'Can only operate on a valid port handleNri�r#���r"z%Unsupported number of data bits: {!r}zUnsupported parity mode: {!r}z%Unsupported number of stop bits: {!r}zQUnsupported value for RS485Settings.rts_level_for_tx: {!r} (only True is allowed)zRUnsupported value for RS485Settings.rts_level_for_rx: {!r} (only False is allowed)zPUnsupported value for RS485Settings.delay_before_tx: {!r} (only None is allowed)zPUnsupported value for RS485Settings.delay_before_rx: {!r} (only None is allowed)zJUnsupported value for RS485Settings.loopback: {!r} (only False is allowed)zCCannot configure port, something went wrong. Original message: {!r})Vrrrr;�_timeout�MAXDWORD�ReadIntervalTimeout�maxr*�ReadTotalTimeoutConstant�_inter_byte_timeout�_write_timeout�WriteTotalTimeoutConstant�SetCommTimeoutsr5r>�SetCommMask�EV_ERR�DCB�GetCommState�	_baudrate�BaudRate�	_bytesize�serial�FIVEBITS�ByteSize�SIXBITS�	SEVENBITS�	EIGHTBITSr+r3�_parity�PARITY_NONE�NOPARITY�Parity�fParity�PARITY_EVEN�
EVENPARITY�
PARITY_ODD�	ODDPARITY�PARITY_MARK�
MARKPARITY�PARITY_SPACE�SPACEPARITY�	_stopbits�STOPBITS_ONE�
ONESTOPBIT�StopBits�STOPBITS_ONE_POINT_FIVE�ONE5STOPBITS�STOPBITS_TWO�TWOSTOPBITS�fBinary�_rs485_mode�_rtscts�RTS_CONTROL_HANDSHAKE�fRtsControl�
_rts_state�RTS_CONTROL_ENABLE�RTS_CONTROL_DISABLE�fOutxCtsFlow�rts_level_for_tx�rts_level_for_rx�delay_before_tx�delay_before_rx�loopback�RTS_CONTROL_TOGGLE�_dsrdtr�DTR_CONTROL_HANDSHAKE�fDtrControl�
_dtr_state�DTR_CONTROL_ENABLE�DTR_CONTROL_DISABLE�fOutxDsrFlow�_xonxoff�fOutX�fInX�fNull�
fErrorChar�
fAbortOnError�XON�XonChar�XOFF�XoffChar�SetCommStater6)r�timeouts�comDCBs   rr?zSerial._reconfigure_portds���� �	M�!�"K�L�L�L��%�'�'���=� ��
�]�a�
�
�+0�>�H�(�(�03�C��
��8L�4M�4M�q�0Q�0Q�H�-��=�A���$�":�"F�+.�s�4�3K�d�3R�/S�/S�UV�+W�+W�H�(���&��
�
 �A�
%�
%�16��H�.�.�14�S��9L�t�9S�5T�5T�VW�1X�1X�H�.�
��d�/���h�1G�1G�H�H�H�
��$�+�U�\�:�:�:������
��4�,�f�l�6�.B�.B�C�C�C��.����>�V�_�,�,��F�O�O�
�^�v�~�
-�
-��F�O�O�
�^�v�/�
/�
/��F�O�O�
�^�v�/�
/�
/��F�O�O��D�K�K�D�N�[�[�\�\�\��<�6�-�-�-�!�N�F�M��F�N�N�
�\�V�/�
/�
/�!�,�F�M��F�N�N�
�\�V�.�
.�
.�!�O�F�M��F�N�N�
�\�V�/�
/�
/�!�,�F�M��F�N�N�
�\�V�0�
0�
0�!�-�F�M��F�N�N��<�C�C�D�L�Q�Q�R�R�R��>�V�0�0�0�#�.�F�O�O�
�^�v�=�
=�
=�#�0�F�O�O�
�^�v�2�
2�
2�#�/�F�O�O��D�K�K�D�N�[�[�\�\�\������#��|�
p�%*�%@��"�"�AE��%o�U�%=�%=�V[�Vo��"�"&�,�F����#�4�
=� �g�n�n��(�9�<�<�=�=�=���0�
=� �h�o�o��(�9�<�<�=�=�=���/�;� �f�m�m��(�8�;�;�<�<�<���/�;� �f�m�m��(�8�;�;�<�<�<���(�
5� �`�g�g��(�1�4�4�5�5�5�"'�!9�F��"#�F���<�	l�!&�!<�F���=A�_�!k��!9�!9�RW�Rk�F��"�l����}����m��������� ������� �+����!�$�"3�V�\�&�5I�5I�J�J�	D�!�)�)/����0A�0A�)B�)B�D�D�
D�	D�	Drc��|j��tj|j|j��|j�9|���tj|jj��d|_|j�9|�	��tj|jj��d|_tj|j��d|_dSdS)zinternal close port helperN)
rrrTr<r�cancel_read�CloseHandler9r�cancel_write�rs rrEz
Serial._close�s�����(��!�$�"3�T�5F�G�G�G��$�0�� � �"�"�"��!�$�"7�">�?�?�?�(,��%��%�1��!�!�#�#�#��!�$�"8�"?�@�@�@�)-��&���d�/�0�0�0� $�D����)�(rc�N�|jr|���d|_dSdS)z
Close portFN)r&rEr�s r�closezSerial.close�s.���<�	!��K�K�M�M�M� �D�L�L�L�	!�	!rc�@�tj��}tj��}tj|jtj|��tj|����s3td�tj	�������|j
S)z9Return the number of bytes currently in the input buffer.�ClearCommError failed ({!r}))r�DWORD�COMSTAT�ClearCommErrorrr5r>rr3r6�cbInQue�r�flags�comstats   r�
in_waitingzSerial.in_waiting�sw����
�
���-�/�/���#�D�$5�v�|�E�7J�7J�F�L�Y`�La�La�b�b�	\�!�"@�"G�"G���HY�HY�"Z�"Z�[�[�[���rr#c	�J�|jst���|dk�rktj|jj��tj��}tj��}tj|j	tj|��tj|����s3td�
tj�������|jdkrt!|j|��n|}|dk�r}tj|��}tj��}tj|j	||tj|��tj|j����}|s^tj��tjtjfvr3td�
tj�������tj|j	tj|j��tj|��d��}|sTtj��tjkr3td�
tj�������|jd|j�}	nt7��}	nt7��}	t7|	��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�zReadFile failed ({!r})Tz!GetOverlappedResult failed ({!r})N)r&rr�
ResetEventrr9r�r�r�rr5r>rr3r6�timeout�minr��create_string_buffer�ReadFile�GetLastError�
ERROR_SUCCESS�ERROR_IO_PENDING�GetOverlappedResult�ERROR_OPERATION_ABORTED�raw�value�bytes)
r�sizer�r��n�buf�rc�read_ok�	result_ok�reads
          rr�zSerial.reads+���|�	%�"�$�$�$��!�8�8���T�2�9�:�:�:��K�M�M�E��m�o�o�G��'��(9�6�<��;N�;N�PV�P\�]d�Pe�Pe�f�f�
`�%�&D�&K�&K�F�O�L]�L]�&^�&^�_�_�_�.2�l�a�.?�.?��G�O�T�*�*�*�T�A��1�u�u��1�!�4�4���[�]�]���.��%����L��$�$��L��!6�7�7�9�9���^�5�#5�#7�#7��@S�UZ�Uk�?l�#l�#l�)�*B�*I�*I�&�/�J[�J[�*\�*\�]�]�]�!�5��%��L��!6�7�7��L��$�$��	��	�
!�m��)�+�+�u�/L�L�L�-�.Q�.X�.X�Y_�Yh�Yj�Yj�.k�.k�l�l�l��w�y���y�)����w�w����7�7�D��T�{�{�rc�,�|jst���t|��}|�r�tj��}tj|j|t|��tj	|��|j
��}|jdkr�|s^tj��tj
tjfvr3td�tj�������tj|j|j
tj	|��d��tj��tjkr|jS|jt|��krt+d���|jS|rtj
ntj��}|tjtjtjfvrdS|tj
tjfvrt|��Std�tj�������dS)z2Output the given byte string over the serial port.rzWriteFile failed ({!r})Tz
Write timeout)r&rrrr��	WriteFiler�lenr5r>rrRr�r�r�rr3r6r�r�r�r	�ERROR_INVALID_USER_BUFFER�ERROR_NOT_ENOUGH_MEMORY)r�datar��success�	errorcodes     r�writezSerial.write/s����|�	%�"�$�$�$���~�~���	���
�
�A��o�d�&7��s�4�y�y�&�,�WX�/�/�[_�[q�r�r�G��"�a�'�'��_�5�#5�#7�#7��@S�UZ�Uk�?l�#l�#l�)�*C�*J�*J�6�?�K\�K\�*]�*]�^�^�^��)�$�*;�T�=S�U[�Ua�bc�Ud�Ud�fj�k�k�k��%�'�'�5�+H�H�H��7�N��7�c�$�i�i�'�'�0��A�A�A��w��3:�T�E�/�/��@R�@T�@T�	���!@�%�B_�!&�!>�!@�@�@��1��5�#6��8N�"O�O�O��t�9�9�$�)�*C�*J�*J�6�?�K\�K\�*]�*]�^�^�^��1rc�N�|jrtjd��|j�dSdS)zb        Flush of file like objects. In this case, wait until all data
        is written.
        g�������?N)�out_waiting�time�sleepr�s r�flushzSerial.flushTs@��
��	��J�t������	�	�	�	�	rc��|jst���tj|jtjtjz��dS)z9Clear input buffer, discarding all that is in the buffer.N)r&rrr@rrCrDr�s r�reset_input_bufferzSerial.reset_input_buffer_s>���|�	%�"�$�$�$�
���)�5�+>��AT�+T�U�U�U�U�Urc��|jst���tj|jtjtjz��dS)zs        Clear output buffer, aborting the current output and discarding all
        that is in the buffer.
        N)r&rrr@rrArBr�s r�reset_output_bufferzSerial.reset_output_bufferes@��
�|�	%�"�$�$�$�
���)�5�+>��AT�+T�U�U�U�U�Urc��|jst���|jrtj|j��dStj|j��dS)zBSet break: Controls TXD. When active, to transmitting is possible.N)r&r�_break_stater�SetCommBreakr�ClearCommBreakr�s r�_update_break_statezSerial._update_break_statensW���|�	%�"�$�$�$���	4���t�0�1�1�1�1�1�� ��!2�3�3�3�3�3rc��|jr&tj|jtj��dStj|jtj��dS)z)Set terminal status line: Request To SendN)r|r�EscapeCommFunctionr�SETRTS�CLRRTSr�s r�_update_rts_statezSerial._update_rts_statew�I���?�	F��$�T�%6���E�E�E�E�E��$�T�%6���E�E�E�E�Erc��|jr&tj|jtj��dStj|jtj��dS)z-Set terminal status line: Data Terminal ReadyN)r�rr�r�SETDTR�CLRDTRr�s r�_update_dtr_statezSerial._update_dtr_state~r�rc��|jst���tj��}tj|jt
j|����|jSr)	r&rrr��GetCommModemStatusrr5r>r�)r�stats  r�_GetCommModemStatuszSerial._GetCommModemStatus�sK���|�	%�"�$�$�$��{�}�}��
� ��!2�F�L��4F�4F�G�G�G��z�rc�L�tj|���zdkS)z(Read terminal status line: Clear To Sendr)r�	MS_CTS_ONr�r�s r�ctsz
Serial.cts��"�����!9�!9�!;�!;�;�q�@�@rc�L�tj|���zdkS)z)Read terminal status line: Data Set Readyr)r�	MS_DSR_ONr�r�s r�dsrz
Serial.dsr�r�rc�L�tj|���zdkS)z)Read terminal status line: Ring Indicatorr)r�
MS_RING_ONr�r�s r�riz	Serial.ri��#����$�":�":�"<�"<�<��A�Arc�L�tj|���zdkS)z)Read terminal status line: Carrier Detectr)r�
MS_RLSD_ONr�r�s r�cdz	Serial.cd�r�rr$Nc�D�|�|}tj|j||��dS)z�        Recommend a buffer size to the driver (device driver can ignore this
        value). Must be called after the port is opened.
        N)rr:r)r�rx_size�tx_sizes   r�set_buffer_sizezSerial.set_buffer_size�s+��
�?��G�
���)�7�G�<�<�<�<�<rTc���|jst���|r&tj|jtj��dStj|jtj��dS)a*        Manually control flow - when software flow control is enabled.
        This will do the same as if XON (true) or XOFF (false) are received
        from the other device and control the transmission accordingly.
        WARNING: this function is not portable to different platforms!
        N)r&rrr�r�SETXON�SETXOFF)r�enables  r�set_output_flow_controlzSerial.set_output_flow_control�s_���|�	%�"�$�$�$��	G��$�T�%6���E�E�E�E�E��$�T�%6��
�F�F�F�F�Frc�@�tj��}tj��}tj|jtj|��tj|����s3td�tj	�������|j
S)z0Return how many bytes the in the outgoing bufferr�)rr�r�r�rr5r>rr3r6�cbOutQuer�s   rr�zSerial.out_waiting�sx����
�
���-�/�/���#�D�$5�v�|�E�7J�7J�F�L�Y`�La�La�b�b�	\�!�"@�"G�"G���HY�HY�"Z�"Z�[�[�[���rc�B�tj��}tj|jt	j|��t	j|��d��}|sGtj��tjtjfvrtj	|j|��dSdSdS)�ACancel a blocking read operation, may be called from other threadFN)
rr�r�rr5r>r�r��ERROR_IO_INCOMPLETE�
CancelIoEx)r�
overlappedr��errs    r�_cancel_overlapped_iozSerial._cancel_overlapped_io�s����[�]�]���'����L��$�$��L�����	���
�	<�u�)�+�+��0F��Ha�/b�b�b���T�.�
�;�;�;�;�;�	<�	<�b�brc�:�|�|j��dS)r�N)rrr�s rr�zSerial.cancel_read�s���"�"�4�#8�9�9�9�9�9rc�:�|�|j��dS)zBCancel a blocking write operation, may be called from other threadN)rrr�s rr�zSerial.cancel_write�s���"�"�4�#9�:�:�:�:�:rc��|�$|s"td�|�����tjj�||��dS)z$Change the exclusive access setting.Nz.win32 only supports exclusive access (not: {}))r+r3r\r�	exclusive�__set__)rrs  rrzSerial.exclusive�sO��� �� ��M�T�T�U^�_�_�`�`�`���'�/�/��i�@�@�@�@�@r)r#)r$N)T)#�__name__�
__module__�__qualname__�__doc__�	BAUDRATESrrGr?rEr��propertyr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�rr�setter�
__classcell__)rs@rrrsS�������?�?�4�I�6�6�6�6�6�? �? �? �B|D�|D�|D�B%�%�%� !�!�!�����X��'�'�'�'�R#�#�#�J���V�V�V�V�V�V�4�4�4�F�F�F�F�F�F�����A�A��X�A��A�A��X�A��B�B��X�B��B�B��X�B�=�=�=�=�G�G�G�G�� � ��X� �<�<�<�:�:�:�;�;�;��� �A�A�!� �A�A�A�A�Arr)
�
__future__rr5r�r\r�serial.serialutilrrrrr	r�rr�<module>rs���'�&�&�&�&�&��
�
�
�����������
�
�
�
�m�m�m�m�m�m�m�m�m�m�m�m�m�m�FA�FA�FA�FA�FA�Z�FA�FA�FA�FA�FAr