Current File : //usr/lib/python2.7/site-packages/serial/tools/miniterm.pyo
�
{�QNc@s�ddlZddlZddlZddlZdadad�Zd�Zejddfkrod�Z	n	d	�Z	ej
d
kr�ddlZdefd��YZ
e
�an�ej
d
kr&ddlZddlZddlZdefd��YZ
e
�ad�Ztj�ee_nedej��dZdZdZdddfZdddfZddddfZdefd��YZd�Zed kr�e�ndS(!i����NsscCs8t|�}|dkr*dtd�|St|�SdS(s)generate a readable description for a keyi sCtrl+%ct@N(tordtrepr(t	charactert
ascii_code((s9/usr/lib/python2.7/site-packages/serial/tools/miniterm.pytkey_descriptionscCs�di
ttdd�d6tt�d6tt�d6td�d6td	�d
6td�d6td
�d6td�d6td�d6td�d6td�d6tt�d6tt�d6S(Nsw
--- pySerial (%(version)s) - miniterm - help
---
--- %(exit)-8s Exit program
--- %(menu)-8s Menu escape key, followed by:
--- Menu keys:
---    %(itself)-7s Send the menu character itself to remote
---    %(exchar)-7s Send the exit character itself to remote
---    %(info)-7s Show info
---    %(upload)-7s Upload file (prompt will be shown)
--- Toggles:
---    %(rts)-7s RTS          %(echo)-7s local echo
---    %(dtr)-7s DTR          %(break)-7s BREAK
---    %(lfm)-7s line feed    %(repr)-7s Cycle repr mode
---
--- Port settings (%(menu)s followed by the following):
---    p          change port
---    7 8        set data bits
---    n e o s m  change parity (None, Even, Odd, Space, Mark)
---    1 2 3      set stop bits (1, 2, 1.5)
---    b          change baud rate
---    x X        disable/enable software flow control
---    r R        disable/enable hardware flow control
tVERSIONsunknown versiontversiontexittmenustrtssRstdtrstlfmstbreakstechos	tinfostuploadtitselftexchar(tgetattrtserialRtEXITCHARCTERt
MENUCHARACTER(((s9/usr/lib/python2.7/site-packages/serial/tools/miniterm.pyt
get_help_texts










iicCs
|jd�S(Ntlatin1(tdecode(tb((s9/usr/lib/python2.7/site-packages/serial/tools/miniterm.pyREscCs|S(N((R((s9/usr/lib/python2.7/site-packages/serial/tools/miniterm.pyRHstnttConsolecBs,eZd�Zd�Zd�Zd�ZRS(cCsdS(N((tself((s9/usr/lib/python2.7/site-packages/serial/tools/miniterm.pyt__init__QscCsdS(N((R((s9/usr/lib/python2.7/site-packages/serial/tools/miniterm.pytsetupTscCsdS(N((R((s9/usr/lib/python2.7/site-packages/serial/tools/miniterm.pytcleanupWscCsVxOtrQtj�}|dks-|dkr:tj�q|dkrJdS|SqWdS(Nts�s
s
(tTruetmsvcrttgetch(Rtz((s9/usr/lib/python2.7/site-packages/serial/tools/miniterm.pytgetkeyZs	
(t__name__t
__module__RRR R&(((s9/usr/lib/python2.7/site-packages/serial/tools/miniterm.pyRPs			tposixcBs,eZd�Zd�Zd�Zd�ZRS(cCstjj�|_dS(N(tsyststdintfilenotfd(R((s9/usr/lib/python2.7/site-packages/serial/tools/miniterm.pyRiscCs�tj|j�|_tj|j�}|dtj@tj@tj@|d<d|dtj<d|dtj<tj	|jtj
|�dS(Niiii(ttermiost	tcgetattrR-toldtICANONtECHOtISIGtVMINtVTIMEt	tcsetattrtTCSANOW(Rtnew((s9/usr/lib/python2.7/site-packages/serial/tools/miniterm.pyRls&cCstj|jd�}|S(Ni(tostreadR-(Rtc((s9/usr/lib/python2.7/site-packages/serial/tools/miniterm.pyR&tscCs tj|jtj|j�dS(N(R.R6R-t	TCSAFLUSHR0(R((s9/usr/lib/python2.7/site-packages/serial/tools/miniterm.pyR xs(R'R(RRR&R (((s9/usr/lib/python2.7/site-packages/serial/tools/miniterm.pyRhs			cCstj�dS(N(tconsoleR (((s9/usr/lib/python2.7/site-packages/serial/tools/miniterm.pytcleanup_console}ss9Sorry no implementation for your platform (%s) available.iis
s
s
tLFtCRsCR/LFtrawssome controlsall controlthextMinitermcBseeZeedd�Zd�Zd�Zd�Zd�Zed�Z	d�Z
d�Zd	�ZRS(
ic		Cs�y1tj||d|d|d|dd�|_Wn>tk
rqtj||d|d|d|dd�|_nX||_||_||_t|j|_t	|_
t	|_t|_
dS(Ntparitytrtsctstxonxoffttimeouti(Rtserial_for_urltAttributeErrortSerialRt	repr_modetconvert_outgoingtNEWLINE_CONVERISON_MAPtnewlineR"t	dtr_statet	rts_statetFalsetbreak_state(	RtporttbaudrateRDRERFRRLRK((s9/usr/lib/python2.7/site-packages/serial/tools/miniterm.pyR�s1
1					cCsBt|_tjd|j�|_|jjt�|jj�dS(sStart reader threadttargetN(R"t
_reader_alivet	threadingtThreadtreadertreceiver_threadt	setDaemontstart(R((s9/usr/lib/python2.7/site-packages/serial/tools/miniterm.pyt
_start_reader�s	cCst|_|jj�dS(s6Stop reader thread only, wait for clean exit of threadN(RQRVRZtjoin(R((s9/usr/lib/python2.7/site-packages/serial/tools/miniterm.pyt_stop_reader�s	cCsLt|_|j�tjd|j�|_|jjt�|jj�dS(NRU(	R"taliveR]RWRXtwriterttransmitter_threadR[R\(R((s9/usr/lib/python2.7/site-packages/serial/tools/miniterm.pyR\�s
	
cCs
t|_dS(N(RQR`(R((s9/usr/lib/python2.7/site-packages/serial/tools/miniterm.pytstop�scCs'|jj�|s#|jj�ndS(N(RbR^RZ(Rt
transmit_only((s9/usr/lib/python2.7/site-packages/serial/tools/miniterm.pyR^�s
cCs�tjjd|jj|jj|jj|jj|jjf�tjjd|j	r\dp_d|j
rndpqd|jr�dp�df�yxtjjd|jj�r�dp�d|jj
�r�dp�d|jj�r�dp�d|jj�r�dp�df�Wntjk
rnXtjjd|jjr8dp;d�tjjd|jjr^dpad�tjjdt|jt|jf�dS(	Ns
--- Settings: %s  %s,%s,%s,%s
s&--- RTS: %-8s  DTR: %-8s  BREAK: %-8s
tactivetinactives---- CTS: %-8s  DSR: %-8s  RI: %-8s  CD: %-8s
s--- software flow control: %s
s--- hardware flow control: %s
s$--- data escaping: %s  linefeed: %s
(R*tstderrtwriteRtportstrRTtbytesizeRDtstopbitsRPRORRtgetCTStgetDSRtgetRItgetCDtSerialExceptionRFREt
REPR_MODESRKtLF_MODESRL(R((s9/usr/lib/python2.7/site-packages/serial/tools/miniterm.pytdump_port_settings�s.				$&&
cCsy�x�|jr�|jr�t|jjd��}|jdkr�|dkrm|jtkrmtj	j
d�q�tj	j
|�nF|jdkrW|jtkr�|dkr�|dkr�tj	j
d�qT|dkrTqTq�|dkr	|jtkr	tj	j
d�q�|dkr7|jtkr7tj	j
d�q�tj	j
t
|�dd!�no|jdkr�tj	j
t
|�dd!�n@|jdkr�x.|D]#}tj	j
d	|jd
��q�Wntj	j�qWWn"tjk
r�}t|_�nXdS(sloop and copy serial->consoleiis
s
s
i����iis%s RBN(R`RVRRR:RKRLt
CONVERT_CRR*tstdoutRhtCONVERT_CRLFt
CONVERT_LFRtencodetflushRpRQ(RtdataR;te((s9/usr/lib/python2.7/site-packages/serial/tools/miniterm.pyRY�s6  
$	cCs>	t}y	x	|jr"	ytj�}Wn#tk
rJtjdg�}nXt|�}|rl|tksu|t	kr�|jj
|�|jrctj
j
|�qcn�|dkr�tjj
d�tjj�tj�tjj�jd�}|r�y�t|d�}tjj
d|�xftr�|j�jd�}|sCPn|jj
|�|jj
d�|jj�tjj
d�qWtjj
d|�Wq�tk
r�}tjj
d	||f�q�Xntj�n�|d
kr�tjj
t��nh|dkrM|j|_|jj|j�tjj
d|jrBd
pEd�n|dkr�|j|_|jj|j�tjj
d|jr�d
p�d�n�|dkr�|j|_|jj|j�tjj
d|jr�d
p�d�nr|dkr0|j|_tjj
d|jr%d
p(d�n3|dkrI|j�n|dkr�|j d7_ |j dkrd|_ ntjj
dt!|j f�n�|dkr|j"d7_"|j"dkr�d|_"nt#|j"|_$tjj
dt%|j"f�n\|dkr�tjj
d�tjj�tj�ytjj�j&�}Wntk
rld5}nXtj�|rc||jj(krc|j)�|jj*�}	y�ytj+|dt�}
Wn&t,k
r�tj-�}
||
_(nX|
j.|	�|
j�|
j|j�|
j|j�|
j|j�Wn4t/k
rk}tjj
d |f�|
j0�n4X|jj0�|
|_tjj
d!|jj(f�|j1�qcn�|d"krctjj
d#�tjj�tj�|jj2}y%t3tjj�j&��|j_2Wn6t4k
rK}tjj
d$|f�||j_2nX|j�tj�n|d%kr�tj5|j_6|j�n�|d&kr�tj7|j_6|j�n�|d'kr�tj8|j_9|j�n�|d(krtj:|j_9|j�n`|d)kr+tj;|j_9|j�n8|d*krStj<|j_9|j�n|d+kr{tj=|j_9|j�n�|d,kr�tj>|j_?|j�n�|d-kr�tj@|j_?|j�n�|d.kr�tjA|j_?|j�np|d/kr|d0k|j_B|j�nE|d1krI|d2k|j_C|j�ntjj
d3tD|��t}q|tkr�t}q|t	kr�|jE�Pq|d4kr�|jj
|j$�|jr	tj
j
|�tj
j�q	q|jj
|�|jrtj
j
|�tj
j�qqWWnt|_�nXd5S(6s�        Loop and copy console->serial until EXITCHARCTER character is
        found. When MENUCHARACTER is found, interpret the next key
        locally.
        iss
--- File to upload: s
trs--- Sending file %s ---
t.s
--- File %s sent ---
s"--- ERROR opening file %s: %s ---
shH?ss--- RTS %s ---
ReRfss--- DTR %s ---
ss--- BREAK %s ---
ss--- local echo %s ---
s	siis--- escape data: %s ---
sis--- line feed %s ---
tpPs
--- Enter port name: tdo_not_opens#--- ERROR opening new port: %s ---
s--- Port changed to: %s ---
tbBs
--- Baudrate: s#--- ERROR setting baudrate: %s ---
t8t7teEtoOtmMtsStnNt1t2t3txXtXtrRtRs!--- unknown menu character %s --
s
N(FRQR`R=R&tKeyboardInterruptRtto_bytesRRRRhRR*RuRgRyR R+treadlinetrstriptopenR"tIOErrorRRRPtsetRTSROtsetDTRRRtsetBreakRsRKRqRLRMRNRrtstriptNoneRSR_tgetSettingsDictRHRIRJtapplySettingsDictt	ExceptiontcloseR]RTtintt
ValueErrort	EIGHTBITSRjt	SEVENBITStPARITY_EVENRDt
PARITY_ODDtPARITY_MARKtPARITY_SPACEtPARITY_NONEtSTOPBITS_ONERktSTOPBITS_TWOtSTOPBITS_ONE_POINT_FIVERFRERRc(Rtmenu_activeRR;tfilenametfiletlineR{RStsettingst
new_serialtbackup((s9/usr/lib/python2.7/site-packages/serial/tools/miniterm.pyRasF
	

	
!

&
&
&
&











	

%













		
			(
R'R(RQRvRR]R_R\RcR^RsRYRa(((s9/usr/lib/python2.7/site-packages/serial/tools/miniterm.pyRC�s						(c	Csddl}|jdddd�}|jdddd	d
ddd�|jd
dddddddd
ddd�|jdddddd
ddd�|jddddddd
ddt�|jddd ddd
d!dt�|jd"dd#ddd
d$dt�|jd%dd&ddd
d'dt�|jd(dd)ddd
d*dt�|jd+d,dd-dd.d
d/dd0�|jd1dd2ddddd
d3dd�|jd4dd5ddddd
d6dd�|jd7d8dd9ddd
d:dt�|jd;dd<ddddd
d=dd>�|jd?dd@ddddd
dAddB�|j�\}}|jj�|_|jdCkr�|jdD�n|j	r�|j
r�|jdE�n|j|jkr�|jdF�nt
|j�at
|j�a|j}|j}|r�|jdk	r-|jdG�n|jd0�}|r�yt|d0�}Wn&tk
r~|jdH|d0�nX|jd0�n|r�|jdI�q�n|dkr�d0}nt}|j	r�t}n|j
r�t}nyCt|||jd |jd#|jd|jdJ|d-|j�}Wn=tjk
ri}tj j!dK||f�tj"dL�nX|j#s�tj j!dM|jj$|jj|jj%|jj|jj&f�tj j!dNt't�t't�t't�t'dO�f�n|j(dk	rO|j#s-tj j!dP|j(r"dQp%dR�n|jj)|j(�|j(|_(n|j*dk	r�|j#s�tj j!dS|j*r�dQp�dR�n|jj+|j*�|j*|_*n|j,�y|j-t.�Wnt/k
r�nX|j#s�tj j!dT�n|j-�dS(UNi����tusages!%prog [options] [port [baudrate]]tdescriptions9Miniterm - A simple terminal program for the serial port.s-ps--porttdestRSthelpsKport, a number or a device name. (deprecated option, use parameter instead)tdefaults-bs--baudRTtactiontstorettypeR�sset baud rate, default %defaulti�%s--parityRDs-set parity, one of [N, E, O, S, M], default=NtNs-es--echoRt
store_truesenable local echo (default off)s--rtsctsREs)enable RTS/CTS flow control (default off)s	--xonxoffRFs*enable software flow control (default off)s--crtcrsdo not send CR+LF, send CR onlys--lftlfsdo not send CR+LF, send LF onlys-Ds--debugRKtcounts�debug received data (escape non-printable chars)
--debug can be given multiple times:
0: just print what is received
1: escape non-printable characters, do newlines as unusual
2: escape non-printable characters, newlines too
3: hex dump everythingis--rtsRPs2set initial RTS line state (possible values: 0, 1)s--dtrROs2set initial DTR line state (possible values: 0, 1)s-qs--quiettquietssuppress non error messagess--exit-chart	exit_charsDASCII code of special character that is used to exit the applicationis--menu-chart	menu_charsGASCII code of special character that is used to control miniterm (menu)itNEOSMsinvalid paritys)only one of --cr or --lf can be specifieds.--exit-char can not be the same as --menu-chars;no arguments are allowed, options only when --port is givens"baud rate must be a number, not %rstoo many argumentsRLscould not open port %r: %s
is$--- Miniterm on %s: %d,%s,%s,%s ---
s8--- Quit: %s  |  Menu: %s | Help: %s followed by %s ---
ss--- forcing DTR %s
ReRfs--- forcing RTS %s
s
--- exit ---
(0toptparsetOptionParsert
add_optionR�RQt
parse_argsRDtupperterrorR�R�R�R�tchrRRRSRTtpopR�R�RvRtRwRCRERFRRKRRpR*RgRhRR�RiRjRkRROR�RPR�R\R^R"R�(	R�tparsertoptionstargsRSRTRLtminitermR{((s9/usr/lib/python2.7/site-packages/serial/tools/miniterm.pytmain�s0				
																		&	&

	t__main__(R*R9RRWRRRRtversion_infoRtnameR#tobjectRR=R.R>RtexitfunctNotImplementedErrortplatformRvRtRwRMRrRqRCR�R'(((s9/usr/lib/python2.7/site-packages/serial/tools/miniterm.pyt<module>s<0		(	$		
�)	�