ó {­QNc@s^ddlZddlZddlZddlTd„ZejejZd„Zde fd„ƒYZ yddl Z Wn*e k r¢de e fd„ƒYZnXde e jfd „ƒYZed krZddlZed ƒZejjd eƒeƒZejjd eƒd e_de_ejƒd e_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„Z d„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 flushInputt flushOutput(tselftmsg((s4/usr/lib/python2.7/site-packages/serial/serialcli.pytopen s"        cCsw|jstdƒ‚n|jd krBtjjjj|j_ nt |jdƒ|j_ |j d kr…tjjjj|j_ nt |j dƒ|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_.d S( 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_timeoutRRRRRtInfiniteTimeoutt ReadTimeouttintt _writeTimeoutt WriteTimeoutt _baudratetBaudRatetIOErrort ValueErrortstrt _bytesizetFIVEBITStDataBitstSIXBITSt SEVENBITSt EIGHTBITSt_parityt PARITY_NONEtgetattrtParityt PARITY_EVENtEvent PARITY_ODDtOddt PARITY_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.(RtportNotOpenErrort BytesToRead(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 j k 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 tiot ImportErrortFileLikeRzt RawIOBaseRvtsystststdioRbtbaudratetdatabitsRNRPR(((s4/usr/lib/python2.7/site-packages/serial/serialcli.pyt s0      Ú