3
M]W# @ s@ d dl Z d dlZ d dlT e je j Zdd ZG dd deZdS ) N)*c C s t dd | D S )Nc S s g | ]}t |qS )ord).0xr r /usr/lib/python3.6/serialcli.py
s z!as_byte_array..)sab)stringr r r
as_byte_array s r c @ s e Zd ZdZd3Zdd Zdd Zdd Zedd Z d4ddZ
dd Zd d! Zd"d# Z
d$d% Zd&d' Zd(d) Zed*d+ Zed,d- Zed.d/ Zed0d1 Zd2S )5Serialz)Serial port implementation for .NET/Mono.2 K n , X ` % K c C s | j dkrtd| jr tdytjjj| j| _W n: t k
rp } zd| _td| j|f W Y dd}~X nX | j
dkrd| _
| jdkrd| _| j | jj
d| _| js| j | js| j | j 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.zcould not open port %s: %sT)Z_portSerialExceptionis_openSystemIOPorts
SerialPortZportstr_port_handle Exception
_rts_state
_dtr_state_reconfigure_portZOpenZ_dsrdtr_update_dtr_state_rtscts_update_rts_statereset_input_buffer)selfmsgr r r open s*
$
zSerial.openc C s | j std| jdkr*tjjjj| j _nt | jd | j _| j
dkrXtjjjj| j _nt | j
d | j _y| j| j _
W n. tk
r } ztt|W Y dd}~X nX | jtkrd| j _nJ| jtkrd| j _n6| jtkrd| j _n"| jtkrd| j _ntd| j | jtkr(ttjjjd | j _n| jtkrFtjjjj| j _nh| jtkrdtjjjj| j _nJ| jtkrtjjjj | j _n,| jt!krtjjjj"| j _ntd
| j | j#t$krtjjj%j&| j _%nJ| j#t'krtjjj%j(| j _%n,| j#t)krtjjj%j*| j _%ntd| j# | j+r8| j,r8tjjj-j.| j _-nH| j+rRtjjj-j/| j _-n.| j,rltjjj-j0| j _-nttjjj-d | j _-dS )z,Set communication parameters on opened port.z'Can only operate on a valid port handleNi z#Unsupported number of data bits: %rNonezUnsupported parity mode: %rz#Unsupported number of stop bits: %r)1r$ r Z_timeoutr r! r" r# ZInfiniteTimeoutZReadTimeoutintZ_write_timeoutZWriteTimeoutZ _baudrateZBaudRateIOError
ValueErrorstrZ _bytesizeZFIVEBITSZDataBitsZSIXBITSZ SEVENBITSZ EIGHTBITSZ_parityZPARITY_NONEgetattrZParityZPARITY_EVENZEvenZ
PARITY_ODDZOddZPARITY_MARKZMarkZPARITY_SPACEZSpaceZ _stopbitsZSTOPBITS_ONEZStopBitsZOneZSTOPBITS_ONE_POINT_FIVEZOnePointFiveZSTOPBITS_TWOZTwor* Z_xonxoffZ HandshakeZRequestToSendXOnXOffZ
RequestToSendZXOnXOff)r- er r r r( ; s\
zSerial._reconfigure_portc C sF | j rB| jr