Your IP : 172.28.240.42


Current Path : /usr/lib/python2.7/dist-packages/serial/
Upload File :
Current File : //usr/lib/python2.7/dist-packages/serial/serialwin32.pyc


sKc@s-ddlZddlZddlTdZdefdYZyddlZWn*ek
r}deefdYZ	nXdeej
fdYZ	ed	kr)e	d
Ze
jjdee	Ze
jjdede_d
e_ejd
e_eje
jjdendS(iN(t*cCsd|dS(s%Turn a port number into a device namesCOM%di((tportnum((s6/usr/lib/python2.7/dist-packages/serial/serialwin32.pytdevicestWin32SerialcBseZdZd)ZdZdZdZdZdZdZ	ddZ
dZdZdZ
ddZddZdd Zdd!Zd"Zd#Zd$Zd%Zd&Zed'Zd(ZRS(*s5Serial port implementation for Win32 based on ctypes.i2iKiniiii,iXiii`	ii%iKiiicOs d|_tj|||dS(N(tNonethComPortt
SerialBaset__init__(tselftargstkwargs((s6/usr/lib/python2.7/dist-packages/serial/serialwin32.pyRs	c	Cs|jd
krtdn|j}y<|jjdrbt|ddkrbd|}nWntk
rvnXtj	|tj
tjBdd
tjtj
tjBd|_|jtjkrd
|_td|jtjfntj|jddtj|_tj|jtj|jtj|_tj|_|jtj|jtjtjBtj Btj!Btj"|_#tj$d
d	dd
|j#_%tj"|_&tj$d
ddd
|j&_%t'|_(d
S(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.tCOMiis\\.\iscould not open port %s: %siiN()t_portRtSerialExceptiontportstrtuppert
startswithtintt
ValueErrortwin32t
CreateFiletGENERIC_READt
GENERIC_WRITEt
OPEN_EXISTINGtFILE_ATTRIBUTE_NORMALtFILE_FLAG_OVERLAPPEDRtINVALID_HANDLE_VALUEtctypestWinErrort	SetupCommtCOMMTIMEOUTSt_orgTimeoutstGetCommTimeoutstbyreftRTS_CONTROL_ENABLEt	_rtsStatetDTR_CONTROL_ENABLEt	_dtrStatet_reconfigurePortt	PurgeCommt
PURGE_TXCLEARt
PURGE_TXABORTt
PURGE_RXCLEARt
PURGE_RXABORTt
OVERLAPPEDt_overlappedReadtCreateEventthEventt_overlappedWritetTruet_isOpen(Rtport((s6/usr/lib/python2.7/dist-packages/serial/serialwin32.pytopen s>	+
	

	"
cCs1|jstdn|jdkr0d}nL|jdkrZtjddddf}n"ddt|jdddf}|jdkr|jdk	rt|jdf|d}n|jdkrnJ|jdkr|d dtjf}n!|d dt|jdf}tj	|jt
jtj|tj
|jtjtj}tj|jt
j||j|_|jtkrd|_nd|jtkrd|_nI|jtkrd|_n.|jtkrd	|_ntd
|j|jtkr,tj|_d|_n|jtkrStj |_d|_n|jt!krztj"|_d|_na|jt#krtj$|_d|_n:|jt%krtj&|_d|_ntd|j|j't(krtj)|_*nO|j't+krtj,|_*n1|j't-kr5tj.|_*ntd|j'd|_/|j0ritj1|_2n|j3|_2|j4rtj5|_6n|j7|_6|j0|_8|j4|_9|j:|_;|j:|_<d|_=d|_>d|_?t@|_AtB|_CtjD|jt
j|s-td
t
jEndS(s,Set communication parameters on opened port.s'Can only operate on a valid port handleiiiiiiiis#Unsupported number of data bits: %rsUnsupported parity mode: %rs#Unsupported number of stop bits: %rsCCannot configure port, some setting was wrong. Original message: %sN(iiiii(FRR
t_timeoutRRtMAXDWORDRt_interCharTimeoutt
_writeTimeouttSetCommTimeoutsRR!RtSetCommMasktEV_ERRtDCBtGetCommStatet	_baudratetBaudRatet	_bytesizetFIVEBITStByteSizetSIXBITSt	SEVENBITSt	EIGHTBITSRt_paritytPARITY_NONEtNOPARITYtParitytfParitytPARITY_EVENt
EVENPARITYt
PARITY_ODDt	ODDPARITYtPARITY_MARKt
MARKPARITYtPARITY_SPACEtSPACEPARITYt	_stopbitstSTOPBITS_ONEt
ONESTOPBITtStopBitstSTOPBITS_ONE_POINT_FIVEtONE5STOPBITStSTOPBITS_TWOtTWOSTOPBITStfBinaryt_rtsctstRTS_CONTROL_HANDSHAKEtfRtsControlR#t_dsrdtrtDTR_CONTROL_HANDSHAKEtfDtrControlR%tfOutxCtsFlowtfOutxDsrFlowt_xonxofftfOutXtfInXtfNullt
fErrorChart
fAbortOnErrortXONtXonChartXOFFtXoffChartSetCommStateR(RttimeoutstcomDCB((s6/usr/lib/python2.7/dist-packages/serial/serialwin32.pyR&Ss		"!!%								cCsz|jrv|jrjtj|j|jtj|jtj|jjtj|jjd|_nt
|_ndS(s
Close portN(R2RRR9RtCloseHandleR-R/R0RtFalse(R((s6/usr/lib/python2.7/dist-packages/serial/serialwin32.pytcloses		cCs
t|S(N(R(RR3((s6/usr/lib/python2.7/dist-packages/serial/serialwin32.pytmakeDeviceNamescCsXtj}tj}tj|jtj|tj|sQtdn|jS(s>Return the number of characters currently in the input buffer.scall to ClearCommError failed(	RtDWORDtCOMSTATtClearCommErrorRRR!R
tcbInQue(Rtflagstcomstat((s6/usr/lib/python2.7/dist-packages/serial/serialwin32.pyt	inWaitings
*ic	CsE|jstn|dkr2tj|jjtj}tj}tj|jt	j
|t	j
|stdn|jdkrlt
|j|}|dkr`t	j|}tj}tj|j||t	j
|t	j
|j}|r2tjtjkr2tdt	jntj|jjtj}|j|j }q/t}q;t	j|}tj}tj|j||t	j
|t	j
|j}|rtjtjkrtdt	jntj|jt	j
|jt	j
|t}|j|j }n	t}t|S(sRead 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.iscall to ClearCommError failedsReadFile failed (%s)(RtportNotOpenErrorRt
ResetEventR-R/RuRvRwRR!R
ttimeouttminRxtcreate_string_buffertReadFiletGetLastErrortERROR_IO_PENDINGRtWaitForSingleObjecttINFINITEtrawtvaluetbytestGetOverlappedResultR1(	RtsizeRyRztntbuftrcterrtread((s6/usr/lib/python2.7/dist-packages/serial/serialwin32.pyRs8		*330	cCs|jstnt|}|rtj}tj|j|t|tj||j	}|rtj
tjkrtdtj
ntj|j|j	tj|t}|jt|krtn|jSdSdS(s-Output the given string over the serial port.sWriteFile failed (%s)iN(RR|RRRut	WriteFiletlenRR!R0RRR
RRR1RtwriteTimeoutError(RtdataRR((s6/usr/lib/python2.7/dist-packages/serial/serialwin32.pytwrites		0'	cCs3|jstntj|jtjtjBdS(s9Clear input buffer, discarding all that is in the buffer.N(RR|RR'R*R+(R((s6/usr/lib/python2.7/dist-packages/serial/serialwin32.pyt
flushInput
s		cCs3|jstntj|jtjtjBdS(sbClear output buffer, aborting the current output and
        discarding all that is in the buffer.N(RR|RR'R(R)(R((s6/usr/lib/python2.7/dist-packages/serial/serialwin32.pytflushOutputs		g?cCsO|jstnddl}tj|j|j|tj|jdS(sHSend break condition. Timed, returns to idle state after given duration.iN(RR|ttimeRtSetCommBreaktsleeptClearCommBreak(RtdurationR((s6/usr/lib/python2.7/dist-packages/serial/serialwin32.pyt	sendBreaks		
cCs?|jstn|r+tj|jntj|jdS(sBSet break: Controls TXD. When active, to transmitting is possible.N(RR|RRR(Rtlevel((s6/usr/lib/python2.7/dist-packages/serial/serialwin32.pytsetBreaks
		cCsc|jstn|r=tj|_tj|jtjn"tj|_tj|jtjdS(s)Set terminal status line: Request To SendN(	RR|RR"R#tEscapeCommFunctiontSETRTStRTS_CONTROL_DISABLEtCLRRTS(RR((s6/usr/lib/python2.7/dist-packages/serial/serialwin32.pytsetRTS%s		cCsc|jstn|r=tj|_tj|jtjn"tj|_tj|jtjdS(s-Set terminal status line: Data Terminal ReadyN(	RR|RR$R%RtSETDTRtDTR_CONTROL_DISABLEtCLRDTR(RR((s6/usr/lib/python2.7/dist-packages/serial/serialwin32.pytsetDTR/s		cCs/tj}tj|jtj||jS(N(RRutGetCommModemStatusRRR!R(Rtstat((s6/usr/lib/python2.7/dist-packages/serial/serialwin32.pyt_GetCommModemStatus9scCs)|jstntj|j@dkS(s(Read terminal status line: Clear To Sendi(RR|Rt	MS_CTS_ONR(R((s6/usr/lib/python2.7/dist-packages/serial/serialwin32.pytgetCTS>s		cCs)|jstntj|j@dkS(s)Read terminal status line: Data Set Readyi(RR|Rt	MS_DSR_ONR(R((s6/usr/lib/python2.7/dist-packages/serial/serialwin32.pytgetDSRCs		cCs)|jstntj|j@dkS(s)Read terminal status line: Ring Indicatori(RR|Rt
MS_RING_ONR(R((s6/usr/lib/python2.7/dist-packages/serial/serialwin32.pytgetRIHs		cCs)|jstntj|j@dkS(s)Read terminal status line: Carrier Detecti(RR|Rt
MS_RLSD_ONR(R((s6/usr/lib/python2.7/dist-packages/serial/serialwin32.pytgetCDMs		cCsK|jstn|r1tj|jtjntj|jtjdS(s#Platform specific - set flow state.N(RR|RRtSETXONtSETXOFF(RR((s6/usr/lib/python2.7/dist-packages/serial/serialwin32.pytsetXONTs
		cCsXtj}tj}tj|jtj|tj|sQtdn|jS(s5return how many characters the in the outgoing bufferscall to ClearCommError failed(	RRuRvRwRRR!R
tcbOutQue(RRyRz((s6/usr/lib/python2.7/dist-packages/serial/serialwin32.pyt
outWaiting\s
*(i2iKiniiii,iXiii`	ii%iKiii(t__name__t
__module__t__doc__t	BAUDRATESRR4R&RsRtR{RRRRRRRRRRRRRR1RR(((s6/usr/lib/python2.7/dist-packages/serial/serialwin32.pyRs0		3	c	
		#			

					tSerialcBseZRS((RR(((s6/usr/lib/python2.7/dist-packages/serial/serialwin32.pyRlscBseZRS((RR(((s6/usr/lib/python2.7/dist-packages/serial/serialwin32.pyRpst__main__is%s
iKi(RRt
serialutilRRRtiotImportErrortFileLikeRt	RawIOBaseRtstsyststdoutRtbaudratetdatabitsRsR3R4(((s6/usr/lib/python2.7/dist-packages/serial/serialwin32.pyt<module>s*
	S