ʦ^_\!ddlZddlZ ddlZ ddlZddlZddl Z ddl m Z m Z m Z mZmZdZdZdZdZdZdZdZdZd ZGd d e Zy#e$r ddlmZYFwxYw#e$rddlZYPwxYw) N) SerialBaseSerialExceptionPortNotOpenErrorto_bytesTimeoutACPQRcpeZdZdZfdZdZdZdZdZe dZ dZ d Z d Z dd Zd Zd ZxZS)Serial)i,iwiXiii` ii%iKiiiiii iii@BcVd|_d|_d|_tt||i|yN) _hid_handle _read_buffer_threadsuperr__init__)selfargskwargs __class__s C/usr/lib/python3/dist-packages/serial/urlhandler/protocol_cp2110.pyrzSerial.__init__Es.   fd$d5f5cl|j td|jr tdtj|_t j |_ |j|j}|jj| |jd|_tj |j"|_|j$j'd|j$j)dj|j|j$j+y#t$r5}t|jdj|j|d}~wwxYw# |jj-d|_#Yd|_xYwxYw)Nz.Port must be configured before it can be used.zPort is already open.zcould not open port {}: {}T)targetz$pySerial CP2110 reader thread for {})_portris_openQueuerhiddevicerfrom_urlportstr open_pathOSErrorerrnoformat_reconfigure_port threadingThread_hid_read_loopr setDaemonsetNamestartclose)rportpathmsgs ropenz Serial.openKsb :: !"RS S <<!"9: :!KKM::< c}}T\\2H    & &x 0 !  " " $ DL$++43F3FGDL LL " "4 ( LL !G!N!Ntzz!Z [ LL   # c!#))-I-P-PQUQ[Q[]`-ab b c     &&( $D   #D  s<"6D?F? E=0E88E=F3F%F3%F0' F3ctj|}|jdk7r$tdj |j|j r|j j dS|jj dS)Ncp2110zuexpected a string in the forms "cp2110:///dev/hidraw9" or "cp2110://0001:0023:00": not starting with cp2110:// {{!r}}zutf-8)urlparseurlsplitschemerr*netlocencodepath)rurlpartss rr%zSerial.from_urljss!!#& <<8 #!55;VELL5IK K <<<<&&w/ /zz  ))rcd|_|jr"|jjdd|_|jj d|_y)NFr )r!rjoinrr2rs rr2z Serial.closeusC << LL  a DL  rc d}|jtjk(rd}n|jtjk(rd}n|jtjk(rd}nd|jtj k(rd}nD|jtj k(rd}n$tdj|j|jrd}nd}d}|jdk(rd}nZ|jdk(rd}nH|jd k(rd}n6|jd k(rd}n$td j|jd}|jtjk(rd}nd|jtjk(rd}nD|jtjk(rd}n$td j|jtj d t"|j$||||}|j&j)||j&j)t+t,t.f|j1y)Nrr r zInvalid parity: {!r}zInvalid char len: {!r}z$Invalid stop bit specification: {!r}z>BLBBBB)_parityserial PARITY_NONE PARITY_ODD PARITY_EVEN PARITY_MARK PARITY_SPACE ValueErrorr*rtscts _bytesize _stopbits STOPBITS_ONESTOPBITS_ONE_POINT_FIVE STOPBITS_TWOstructpack_REPORT_GETSET_UART_CONFIG _baudratersend_feature_reportbytes_REPORT_GETSET_UART_ENABLE _ENABLE_UART_update_break_state)r parity_valueflow_control_valuedata_bits_valuestop_bits_valueconfiguration_reports rr+zSerial._reconfigure_port}s <<6-- -L \\V.. .L \\V// /L \\V// /L \\V00 0L3::4<<HI I ;;!% !%  >>Q "O ^^q "O ^^q "O ^^q "O5<>V00 0"O ^^v== ="O ^^v22 2"OCJJ4>>Z[ [%{{  & NN      ,,-AB ,, -|< = ?   "rc6|jjSr)rqsizerBs r in_waitingzSerial.in_waitings  &&((rc.|js t|jjt t t f|jjr7|jjd|jjr6yy)NF) r!rrr\r]_REPORT_SET_PURGE_FIFOS_PURGE_RX_FIFOrrggetrBs rreset_input_bufferzSerial.reset_input_buffersp||"$ $ ,, *N; < >%%'    ! !% (%%'rc|js t|jjt t t fyr)r!rrr\r]rj_PURGE_TX_FIFOrBs rreset_output_bufferzSerial.reset_output_buffers4||"$ $ ,, *N; < >rc|js t|jr+|jjt t dfy|jjt t dfy)Nr)rr _break_stater\r]_REPORT_SET_TRANSMIT_LINE_BREAK_REPORT_SET_STOP_LINE_BREAKrBs rr`zSerial._update_break_statesc"$ $       0 06:; =    0 02A67 9rc|js tt} t|j}t ||krs|j td|jjd|j}| t|S||z }|jrnt ||krst|S#tj$r Yt|SwxYw)Nz&connection failed (reader thread died)T)r!r bytearrayr_timeoutlenrrrrl time_leftr]expiredr"Empty)rsizedatatimeoutbufs rreadz Serial.reads||"$ ${ dmm,Gd)d"<<')*RSS''++D'2C2C2EF; ;& ??$d)d"T{{{  T{ sA0C$CC#"C#c|js tt|}t|}|dkDrPt |d}t|g|d|z}|j j |||d}t|}|dkDrOyy)Nr?)r!rrrxminrwrite)rr}tx_len to_be_sentreports rrz Serial.writes||"$ $~TqjVT*Jzl+d;J.??F    " "6 * $DYF qjrc( |jrr|jjdd}|s,|jd}|t |k(sJ|j j t||jrrd|_y#d|_wxYw)N@d) timeout_msr) r!rrpoprxrputrvr)rr}data_lens rr.zSerial._hid_read_loops ,,'',,RC,@88A;3t9,,,!!%%io6 ,, DL4DLs A=B B)r )__name__ __module__ __qualname__ BAUDRATESrr5r%r2r+propertyrhrmrpr`rrr. __classcell__)rs@rrr=sV"I6 !> * 7#r)))> 9(   rr)rXr,r8 ImportError urllib.parseparser"queuer#rKserial.serialutilrrrrrr^ _DISABLE_UARTr_rjrorkrZrsrtrrrrs6$ ^^"  !"&"E ZE ;$#$ s"AA AA A$#A$