ó EIRTc@snddlZddlZddlZddlZyddlmZWnek r]eZnXejdgƒa ejdgƒa eZ dZ eZ eZd„Zd„Zejdd fkrÍd „Zn d „Zejd gƒZejd gƒZejd d gƒZejd gƒZejdgƒZejdkrpddlZdefd„ƒYZeƒanzejdkr×ddlZddlZddlZdefd„ƒYZeƒad„Zee_ne dej!ƒ‚d„Z"dZ#dZ$d Z%eeefZ&dddfZ'ddddfZ(d efd!„ƒYZ)d"„Z*e+d#krje*ƒndS($iÿÿÿÿN(tcomportsiii€%cCs8t|ƒ}|dkr*dtdƒ|St|ƒSdS(s)generate a readable description for a keyi sCtrl+%ct@N(tordtrepr(t charactert ascii_code((sB/opt/freeware/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(((sB/opt/freeware/lib/python2.7/site-packages/serial/tools/miniterm.pyt get_help_text%s           iicCs |jdƒS(Ntlatin1(tdecode(tb((sB/opt/freeware/lib/python2.7/site-packages/serial/tools/miniterm.pyRNscCs|S(N((R((sB/opt/freeware/lib/python2.7/site-packages/serial/tools/miniterm.pyRQsi i itnttConsolecBs,eZd„Zd„Zd„Zd„ZRS(cCsdS(N((tself((sB/opt/freeware/lib/python2.7/site-packages/serial/tools/miniterm.pyt__init__ascCsdS(N((R((sB/opt/freeware/lib/python2.7/site-packages/serial/tools/miniterm.pytsetupdscCsdS(N((R((sB/opt/freeware/lib/python2.7/site-packages/serial/tools/miniterm.pytcleanupgscCsVxOtrQtjƒ}|tks-|tkr:tjƒq|tkrJtS|SqWdS(N(tTruetmsvcrttgetchtX00tX0EtCRtLF(Rtz((sB/opt/freeware/lib/python2.7/site-packages/serial/tools/miniterm.pytgetkeyjs    (t__name__t __module__RR R!R*(((sB/opt/freeware/lib/python2.7/site-packages/serial/tools/miniterm.pyR`s   tposixcBs,eZd„Zd„Zd„Zd„ZRS(cCstjjƒ|_d|_dS(N(tsyststdintfilenotfdtNonetold(R((sB/opt/freeware/lib/python2.7/site-packages/serial/tools/miniterm.pyRyscCsŒtj|jƒ|_tj|jƒ}|dtj@tj@tj@|dtk 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_statetFalset break_state( RRGtbaudrateRNRORPRRVRU((sB/opt/freeware/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((sB/opt/freeware/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(R[R_Rctjoin(R((sB/opt/freeware/lib/python2.7/site-packages/serial/tools/miniterm.pyt _stop_readerÀs cCsLt|_|jƒtjd|jƒ|_|jjtƒ|jjƒdS(NR^( R"taliveRfR`Ratwriterttransmitter_threadRdRe(R((sB/opt/freeware/lib/python2.7/site-packages/serial/tools/miniterm.pyReÆs   cCs t|_dS(N(R[Ri(R((sB/opt/freeware/lib/python2.7/site-packages/serial/tools/miniterm.pytstopÎscCs'|jjƒ|s#|jjƒndS(N(RkRgRc(Rt transmit_only((sB/opt/freeware/lib/python2.7/site-packages/serial/tools/miniterm.pyRgÑs cCs’tjjd|jj|jj|jj|jj|jjfƒtjjd|j r\dp_d|j rndpqd|j r€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.RDRERtportstrR]tbytesizeRNtstopbitsRZRYR\tgetCTStgetDSRtgetRItgetCDtSerialExceptionRPROt REPR_MODESRUtLF_MODESRV(R((sB/opt/freeware/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|jt krÛ|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|_‚nXd S( sloop and copy serial->consoleiis s s iÿÿÿÿiis%s RLN(RiR_RRR?RURVt CONVERT_CRR.tstdoutREt CONVERT_CRLFt CONVERT_LFRtencodetflushRwR[(RtdataR@te((sB/opt/freeware/lib/python2.7/site-packages/serial/tools/miniterm.pyRbñs6     $ c CsE t}y% x |jr) ytjƒ}Wn#tk rJtjdgƒ}nXt|ƒ}|rs|tksu|t kr¤|jj |ƒ|j rjt j j |ƒqjnÆ|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ƒƒno|d krM|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ƒny|dkr0|j |_ t jj d|j r%d p(dƒn:|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ƒnc|dkr¶t&ƒt jj dƒt jjƒtjƒyt jjƒj'ƒ}Wntk rsd5}nXtjƒ|rj||jj)krj|j*ƒ|jj+ƒ} yytj,|dtƒ} Wn&t-k rótj.ƒ} || _)nX| j/| ƒ| jƒ| j|jƒ| j|jƒ| j|jƒWn4t0k rr}t jj d |fƒ| j1ƒn4X|jj1ƒ| |_t jj d!|jj)fƒ|j2ƒqjn´|d"krjt jj d#ƒt jjƒtjƒ|jj3} y%t4t jjƒj'ƒƒ|j_3Wn6t5k rR}t jj d$|fƒ| |j_3n X|jƒtjƒn|d%kr’tj6|j_7|jƒnØ|d&krºtj8|j_7|jƒn°|d'krâtj9|j_:|jƒnˆ|d(kr tj;|j_:|jƒn`|d)kr2tj<|j_:|jƒn8|d*krZtj=|j_:|jƒn|d+kr‚tj>|j_:|jƒnè|d,krªtj?|j_@|jƒnÀ|d-krÒtjA|j_@|jƒn˜|d.krútjB|j_@|jƒnp|d/kr%|d0k|j_C|jƒnE|d1krP|d2k|j_D|jƒnt jj d3tE|ƒƒt}q |tkrˆt}q |t kr¢|jFƒPq |d4krí|jj |j$ƒ|j r& t j j |ƒt j jƒq& q |jj |ƒ|j r 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 --- RnRoss--- DTR %s --- ss--- BREAK %s --- ss--- local echo %s --- s siis--- escape data: %s --- s is--- line feed %s --- tpPs--- Enter port name: t do_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(GR[RiRBR*tKeyboardInterruptRtto_bytesRRRRERR.R|RDR€R!R/treadlinetrstriptopenR"tIOErrorR RRZtsetRTSRYtsetDTRR\tsetBreakRzRURxRVRWRXRyRJtstripR2RGRhtgetSettingsDictRRRSRTtapplySettingsDictt ExceptiontcloseRfR]tintt ValueErrort EIGHTBITSRqt SEVENBITSt PARITY_EVENRNt PARITY_ODDt PARITY_MARKt PARITY_SPACEt PARITY_NONEt STOPBITS_ONERrt STOPBITS_TWOtSTOPBITS_ONE_POINT_FIVERPRORRl( Rt menu_activeRR@tfilenametfiletlineR‚RGtsettingst new_serialtbackup((sB/opt/freeware/lib/python2.7/site-packages/serial/tools/miniterm.pyRjsH         !    &  &  &  &                          %                                   ( R+R,R[R}RRfRhReRlRgRzRbRj(((sB/opt/freeware/lib/python2.7/site-packages/serial/tools/miniterm.pyRM¨s       (c Cs›ddl}|jddddƒ}|j|dƒ}|jddd d d d d tƒ|jddd dddddd dd tƒ|jdd dddd dd dƒ|jdd dddd dd tƒ|jdd dddd d d tƒ|jd!d d"ddddd d#d tƒ|jd$d d%ddddd d&d tƒ|j |ƒ|j|d'ƒ}|jd(d)d d*ddd d+d tƒ|jd,d d-ddd d.d tƒ|jd/d d0ddd d1d tƒ|jd2d3d d4dd5d d6d d7ƒ|j |ƒ|j|d8ƒ}|jd9d d:ddddd d;d d<ƒ|jd=d d>ddddd d?d d@ƒ|j |ƒ|j|dAƒ}|jdBdCd dDddd dEd tƒ|j |ƒ|j ƒ\}}|j j ƒ|_ |j dFkr|j dGƒn|jr2|jr2|j dHƒn|j|jkrT|j dIƒnt|jƒat|jƒa|j}|j}|r$|jdk r©|j dJƒn|jd7ƒ}|r yt|d7ƒ}Wn&tk rú|j dK|d7ƒnX|jd7ƒn|rF|j dLƒqFn"|dkrFtƒtdMƒ}nt}|jr^t}n|jrpt}nyCt |||j d|j!d|j"d*|j#dN|d4|j$ƒ}Wn=t%j&k rò} t'j(j)dO|| fƒt'j*dPƒnX|j+sxt'j(j)dQ|j%j,|j%j|j%j-|j%j |j%j.fƒt'j(j)dRt/tƒt/tƒt/tƒt/dSƒfƒn|j0dk rØ|j+s¶t'j(j)dT|j0r«dUp®dVƒn|j%j1|j0ƒ|j0|_0n|j2dk r8|j+st'j(j)dW|j2r dUpdVƒn|j%j3|j2ƒ|j2|_2nt4j5ƒ|j6ƒy|j7t8ƒWnt9k rpnX|j+st'j(j)dXƒn|j7ƒdS(YNiÿÿÿÿtusages!%prog [options] [port [baudrate]]t descriptions9Miniterm - A simple terminal program for the serial port.s Port settingss-ps--porttdestRGthelpsKport, a number or a device name. (deprecated option, use parameter instead)tdefaults-bs--baudR]tactiontstorettypeR¤sset baud rate, default %defaults--parityRNs-set parity, one of [N, E, O, S, M], default=NtNs--rtsctsROt store_trues)enable RTS/CTS flow control (default off)s --xonxoffRPs*enable software flow control (default off)s--rtsRZs2set initial RTS line state (possible values: 0, 1)s--dtrRYs2set initial DTR line state (possible values: 0, 1)s Data handlings-es--echoRsenable local echo (default off)s--crtcrsdo not send CR+LF, send CR onlys--lftlfsdo not send CR+LF, send LF onlys-Ds--debugRUtcounts÷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 everythingitHotkeyss --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)it Diagnosticss-qs--quiettquietssuppress non-error messagestNEOSMsinvalid 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 argumentssEnter port name:RVscould 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 RnRos--- forcing RTS %s s --- exit --- (:toptparset OptionParsert OptionGroupt add_optiont DEFAULT_PORTtDEFAULT_BAUDRATER[t DEFAULT_RTSt DEFAULT_DTRtadd_option_groupt parse_argsRNtupperterrorRÁRÂRÆRÅtchrRRRGR]R2tpopR¤R¥RJt raw_inputR}R{R~RMRORPRRURRwR.RDRER RÈRpRqRrRRYRRZRœRBR ReRgR"R–( RÊtparsertgrouptoptionstargsRGR]RVtminitermR‚((sB/opt/freeware/lib/python2.7/site-packages/serial/tools/miniterm.pytmainÑsD                                       & &    t__main__(,R.R>RR`tserial.tools.list_portsRt ImportErrorR2R—RRRÎRÏRÐRÑRRt version_infoRR(R'tCRLFR%R&tnameR#tobjectRRBR4RCtexitfunctNotImplementedErrortplatformRJR}R{R~RWRyRxRMRÞR+(((sB/opt/freeware/lib/python2.7/site-packages/serial/tools/miniterm.pyt sV0   (    $    ÿ* ä