Current File : //usr/lib/python2.7/site-packages/serial/serialcli.pyo
�
{�QNc@s^ddlZddlZddlZddlTd�ZejejZd�Zde	fd��YZ
yddlZWn*ek
r�de
e
fd��YZnXde
ejfd	��YZed
krZddlZed�Zejjde�e�Zejjde�d
e_de_ej�de_ej�ejjde�ndS(i����N(t*cCstjjjj�|S(s%Turn a port number into a device name(tSystemtIOtPortst
SerialPorttGetPortNames(tportnum((s4/usr/lib/python2.7/site-packages/serial/serialcli.pytdevicescCs#tg|D]}t|�^q
�S(N(tsabtord(tstringtx((s4/usr/lib/python2.7/site-packages/serial/serialcli.pyt
as_byte_arrayst
IronSerialcBs�eZdZd%Zd�Zd�Zd�Zd�Zd�Zdd�Z	d�Z
d�Zd�Zdd�Z
ed�Zed�Zed �Zd!�Zd"�Zd#�Zd$�ZRS(&s(Serial port implemenation for .NET/Mono.i2iKini�i�i�i,iXi�ii`	i�i�%iKi�i�i�cCs�|jdkrtd��n|jr6td��nytjjj|j�|_	Wn5t
k
r�}d|_	td|j|f��nX|j�|j	j�t
|_|js�|jt
�|jt
�n|j�|j�dS(sjOpen port with current settings. This may throw a SerialException
           if the port cannot be opened.s.Port must be configured before it can be used.sPort is already open.scould not open port %s: %sN(t_porttNonetSerialExceptiont_isOpenRRRRtportstrt_port_handlet	Exceptiont_reconfigurePorttOpentTruet_rtsctstsetRTStsetDTRt
flushInputtflushOutput(tselftmsg((s4/usr/lib/python2.7/site-packages/serial/serialcli.pytopen s"		

		

cCsw|jstd��n|jdkrBtjjjj|j_	nt
|jd�|j_	|jdkr�tjjjj|j_nt
|jd�|j_y|j
|j_Wn%tk
r�}tt|���nX|jtkr�d|j_nm|jtkrd|j_nO|jtkr3d|j_n1|jtkrQd|j_ntd|j��|jtkr�ttjjjd�|j_n�|jtkr�tjjjj|j_n�|jtkr�tjjjj|j_ng|jt krtjjjj!|j_n=|jt"kr<tjjjj#|j_ntd	|j��|j$t%krytjjj&j'|j_&ng|j$t(kr�tjjj&j)|j_&n=|j$t*kr�tjjj&j+|j_&ntd
|j$��|j,r
|j-r
tjjj.j/|j_.nf|j,r1tjjj.j0|j_.nB|j-rUtjjj.j1|j_.nttjjj.d�|j_.dS(s,Set communication parameters on opened port.s'Can only operate on a valid port handlei�iiiis#Unsupported number of data bits: %rRsUnsupported parity mode: %rs#Unsupported number of stop bits: %rN(2RRt_timeoutRRRRRtInfiniteTimeouttReadTimeouttintt
_writeTimeouttWriteTimeoutt	_baudratetBaudRatetIOErrort
ValueErrortstrt	_bytesizetFIVEBITStDataBitstSIXBITSt	SEVENBITSt	EIGHTBITSt_paritytPARITY_NONEtgetattrtParitytPARITY_EVENtEvent
PARITY_ODDtOddtPARITY_MARKtMarktPARITY_SPACEtSpacet	_stopbitstSTOPBITS_ONEtStopBitstOnetSTOPBITS_ONE_POINT_FIVEtOnePointFivetSTOPBITS_TWOtTwoRt_xonxofft	HandshaketRequestToSendXOnXOfft
RequestToSendtXOnXOff(Rte((s4/usr/lib/python2.7/site-packages/serial/serialcli.pyR6s\	!		cCs\|jrX|jrLy|jj�Wntjjjk
r?nXd|_nt|_ndS(s
Close portN(	RRtCloseRRRtInvalidOperationExceptionRtFalse(R((s4/usr/lib/python2.7/site-packages/serial/serialcli.pytcloses		cCs:yt|�SWn%tk
r5}tt|���nXdS(N(Rt	TypeErrorRR*(RtportRJ((s4/usr/lib/python2.7/site-packages/serial/serialcli.pytmakeDeviceName�scCs|jst�n|jjS(s>Return the number of characters currently in the input buffer.(RtportNotOpenErrortBytesToRead(R((s4/usr/lib/python2.7/site-packages/serial/serialcli.pyt	inWaiting�s		icCsp|jst�nt�}xH|rey|j|jj��Wntjk
rW}PqX|d8}qWt|�S(s�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.i(RRRt	bytearraytappendtReadByteRtTimeoutExceptiontbytes(RtsizetdataRJ((s4/usr/lib/python2.7/site-packages/serial/serialcli.pytread�s				cCs�|jst�nt|ttf�sFtdtt|�f��ny&|jjt|�dt	|��Wnt
jk
r�}t�nXt	|�S(s-Output the given string over the serial port.s expected %s or bytearray, got %si(
RRRt
isinstanceRYRUROttypetWriteRtlenRRXtwriteTimeoutError(RR[RJ((s4/usr/lib/python2.7/site-packages/serial/serialcli.pytwrite�s		&
cCs#|jst�n|jj�dS(s9Clear input buffer, discarding all that is in the buffer.N(RRRtDiscardInBuffer(R((s4/usr/lib/python2.7/site-packages/serial/serialcli.pyR�s		cCs#|jst�n|jj�dS(sbClear output buffer, aborting the current output and
        discarding all that is in the buffer.N(RRRtDiscardOutBuffer(R((s4/usr/lib/python2.7/site-packages/serial/serialcli.pyR�s		g�?cCsG|jst�nddl}t|j_|j|�t|j_dS(sHSend break condition. Timed, returns to idle state after given duration.i����N(RRRttimeRt
BreakStatetsleepRM(RtdurationRe((s4/usr/lib/python2.7/site-packages/serial/serialcli.pyt	sendBreak�s		
cCs(|jst�nt|�|j_dS(sBSet break: Controls TXD. When active, to transmitting is possible.N(RRRtboolRf(Rtlevel((s4/usr/lib/python2.7/site-packages/serial/serialcli.pytsetBreak�s		cCs(|jst�nt|�|j_dS(s)Set terminal status line: Request To SendN(RRRRjt	RtsEnable(RRk((s4/usr/lib/python2.7/site-packages/serial/serialcli.pyR�s		cCs(|jst�nt|�|j_dS(s-Set terminal status line: Data Terminal ReadyN(RRRRjt	DtrEnable(RRk((s4/usr/lib/python2.7/site-packages/serial/serialcli.pyR�s		cCs|jst�n|jjS(s(Read terminal status line: Clear To Send(RRRt
CtsHolding(R((s4/usr/lib/python2.7/site-packages/serial/serialcli.pytgetCTS�s		cCs|jst�n|jjS(s)Read terminal status line: Data Set Ready(RRRt
DsrHolding(R((s4/usr/lib/python2.7/site-packages/serial/serialcli.pytgetDSR�s		cCs|jst�ntS(s)Read terminal status line: Ring Indicator(RRRRM(R((s4/usr/lib/python2.7/site-packages/serial/serialcli.pytgetRI�s		cCs|jst�n|jjS(s)Read terminal status line: Carrier Detect(RRRt	CDHolding(R((s4/usr/lib/python2.7/site-packages/serial/serialcli.pytgetCD�s		(i2iKini�i�i�i,iXi�ii`	i�i�%iKi�i�i�(t__name__t
__module__t__doc__t	BAUDRATESRRRNRQRTR\RbRRRiRRlRRRpRrRsRu(((s4/usr/lib/python2.7/site-packages/serial/serialcli.pyR
s(		I				
					tSerialcBseZRS((RvRw(((s4/usr/lib/python2.7/site-packages/serial/serialcli.pyRz�scBseZRS((RvRw(((s4/usr/lib/python2.7/site-packages/serial/serialcli.pyRz�st__main__is%s
iKi(tclrRtSystem.IO.Portstserial.serialutilRtArraytByteRRt
SerialBaseR
tiotImportErrortFileLikeRzt	RawIOBaseRvtsystststdioRbtbaudratetdatabitsRNRPR(((s4/usr/lib/python2.7/site-packages/serial/serialcli.pyt<module>	s0
		�