张世豪
3 小时以前 d22349714c8d199c02f336f90fba841ef8f5cd39
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
Êþº¾4publicway/SerialProtocolParserjava/lang/Object START_MARKER[BMIN_PACKET_LENGTHI ConstantValue     FUNCTION_01B FUNCTION_51Q FUNCTION_52R FUNCTION_80ÿÿÿ€ FUNCTION_81ÿÿÿ FUNCTION_82ÿÿÿ‚ FUNCTION_83ÿÿÿƒ
dataBufferbufferPosition    dataQueue$Ljava/util/concurrent/BlockingQueue;    Signature(Ljava/util/concurrent/BlockingQueue<[B>;
batchQueue batchExecutor/Ljava/util/concurrent/ScheduledExecutorService;    isRunningZprocessorThreadLjava/lang/Thread;
hexBuilderLjava/lang/StringBuilder;lastMemoryCheckTimeJMEMORY_CHECK_INTERVALu0packetPoolLockLjava/lang/Object;<clinit>()VCode    4 LineNumberTableLocalVariableTable<init>
9 71    ;     = ?'java/util/concurrent/ArrayBlockingQueue
>A 7B(I)V    D     F  
HJIjava/util/concurrent/Executors KL newSingleThreadScheduledExecutor1()Ljava/util/concurrent/ScheduledExecutorService;    N !"    P #$Rjava/lang/StringBuilder
QA    U '(    W )*    Y ./this Lpublicway/SerialProtocolParser;start^ _`run6(Lpublicway/SerialProtocolParser;)Ljava/lang/Runnable;2    dfejava/util/concurrent/TimeUnit gh MILLISECONDSLjava/util/concurrent/TimeUnit; jlk-java/util/concurrent/ScheduledExecutorService mnscheduleAtFixedRate](Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;pjava/lang/Thread^sSerial-Protocol-Parser
ou 7v)(Ljava/lang/Runnable;Ljava/lang/String;)V    x %&
oz {|    setDaemon(Z)V
o~ \1 StackMapTablestop j‚ ƒ1shutdown    d… †hSECONDS jˆ ‰ŠawaitTermination#(JLjava/util/concurrent/TimeUnit;)Z jŒ Ž shutdownNow()Ljava/util/List;
o ‘’ currentThread()Ljava/lang/Thread;
o” •1    interruptè
o™ š›join(J)V
 ž1 clearQueues java/lang/InterruptedExceptione Ljava/lang/InterruptedException; ¤¦¥"java/util/concurrent/BlockingQueue §1clear()Z receiveData([B)V
~ ¤­ ®¯size()I ¤± ²¯remainingCapacity?陙™™™š ¤¶ ·¨isEmpty ¤¹ º»poll()Ljava/lang/Object; ¤½ ¾¿offer(Ljava/lang/Object;)Z
Á Â1handleQueueFullrawData    ÅÇÆchushihua/lunxun È$ DEBUG_ENABLEDÊ?警告:数据处理队列已满,已清空队列重新开始
ÌÎÍxitongshezhi/SystemDebugDialog ÏÐappendAsciiData(Ljava/lang/String;)V batchProcessÓjava/util/ArrayList
ÒA ¤Ö רdrainTo(Ljava/util/Collection;I)I ÚÜÛjava/util/List ÝÞiterator()Ljava/util/Iterator; àâájava/util/Iterator ã»next
æ çªhandleOversizedPacket
é êB compactBuffer
ìîíjava/lang/System ïð    arraycopy*(Ljava/lang/Object;ILjava/lang/Object;II)V
ò ó1 processBuffer àõ ö¨hasNext
ø ù1 checkMemory    ìû üýerrLjava/io/PrintStream;ÿ#批量处理数据时发生异常: 
Q 7Ð
java/lang/Exception 
getMessage()Ljava/lang/String;
Q     
 append-(Ljava/lang/String;)Ljava/lang/StringBuilder;
Q toString
java/io/PrintStream Ðprintln
 1resetParserState maxBatchSizebatchLjava/util/List;Ljava/lang/Exception;LocalVariableTypeTableLjava/util/List<[B>;
  findStartMarkerInArray([BI)I oversizedData
startIndexremainingLengthdatastartPosi
ì( )*currentTimeMillis()J
,.-java/lang/Runtime /0
getRuntime()Ljava/lang/Runtime;
,2 3* totalMemory
,5 6*
freeMemory
,8 9*    maxMemory?è
ì= >1gc@A内存使用率超过75%,已触发垃圾回收。使用内存: 
QD 
E(J)Ljava/lang/StringBuilder;GMB currentTimeruntimeLjava/lang/Runtime;usedMemmaxMem
N O¯findStartMarker
Q RS extractPacket(II)[B
U V1handleDataQueueFullprocessedCountMAX_PACKETS_PER_BATCH
dataLengthtotalPacketLengthpacket    remaining^0数据解析队列已满,丢弃最老数据包processPackets    ìa býoutd'串口数据包处理线程开始运行 ¤f g»take
i jª parsePacketl$串口数据包处理线程被中断n å¤„理数据包时发生异常: 
op q¨ isInterrupteds'串口数据包处理线程结束运行
uwvchuankou/SerialPortService xgetReceivedDataCount
z|{publicway/ProtocolParser01 }~parseDDCC01Data,([B)Lpublicway/ProtocolParser01$ParseResult;
€‚&publicway/ProtocolParser01$ParseResult ƒ1fuzhi
€
† ‡ˆ
bytesToHex([B)Ljava/lang/String;
ŠŒ‹publicway/ProtocolParser51 Žparse(Ljava/lang/String;)I
’‘chushihua/SlotManager “” changgehaska(II)Z
–˜—java/lang/String ™švalueOf(I)Ljava/lang/String;œ号卡槽取卡失败
ž Ÿdialog/Charulog ¡Ð logOperation£未知功能码: 0x
¥§¦java/lang/Integer ¨š toHexStringª è§£æžæ•°æ®åŒ…时发生错误:  hostAddress slotAddress functionCodereturnValueLength returnValuerst(Lpublicway/ProtocolParser01$ParseResult;    hexPacketLjava/lang/String;resultslotmessage¸
Qº »B    setLength½%02X
¿ÁÀjava/lang/Byte ™Â(B)Ljava/lang/Byte;
–Ä ÅÆformat9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;bytesbhexStringToBytes(Ljava/lang/String;)[B
–Ì Ítrim
–¶Ð\s
–Ò ÓÔ
replaceAll8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
–Ö ׯlengthÙ"java/lang/IllegalArgumentExceptionÛ#HEX字符串长度必须为偶数: 
Ø
–Þ ßà    substring(II)Ljava/lang/String;
¥â ãäparseInt(Ljava/lang/String;I)Iæ无效的HEX字符: 
Øè 7é*(Ljava/lang/String;Ljava/lang/Throwable;)Vëjava/lang/NumberFormatException    hexString
cleanedHexbyteStr!Ljava/lang/NumberFormatException; getStatusInfoòU串口解析器状态: %s, é˜Ÿåˆ—大小: %d/%d, æ‰¹é‡é˜Ÿåˆ—: %d/%d, ç¼“冲区: %d/%dô    è¿è¡Œä¸­ö    å·²åœæ­¢
¥ø ™ù(I)Ljava/lang/Integer;û[Ljava/lang/Object;setMaxRawDataPrintLengthcleanup
ÿ €1
SourceFileSerialProtocolParser.javaBootstrapMethods
"java/lang/invoke/LambdaMetafactory  metafactoryÌ(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;1
 Ñ1 11
 _11 InnerClasses%java/lang/invoke/MethodHandles$Lookupjava/lang/invoke/MethodHandlesLookup ParseResult!    
                                     !"B#$%&'()*+*    ,./0125¼YÝTYÌT³3±5
46712®X*·8*¼µ:*µ<*»>Y2·@µC*»>YÈ·@µE*¸GµM*µO*»QY·SµT*    µV*»Y·8µX±52   !$'-(.)4,90G3L7W6 XZ[\12˜I*´O™±*µO*´M*º]aa²c¹iW*»oY*ºqr·tµw*´w¶y*´w¶}±5"=>A D&F9GAHHI6 IZ[€12u*´Oš±*µO*´M¹*´M
²„¹‡š!*´M¹‹W§L*´M¹‹W¸¶“*´wÆ#*´w¶“*´w–¶˜§
L¸¶“*µw*·œ*µ<±03ŸR\_Ÿ5JOPS VX&Y0[4\>]D`KaRc\d`efgkkoltm6 uZ[4¡¢`¡¢jŸZŸž12E*´C¹£*´E¹£±5s    tu6 Z[#¨2/*´O¬5{6 Z[©ª2¾Y*´Oš*¶«+Æ+¾š±*´E¹¬‡*´E¹°‡³k—ž*´E¹µš *´E¹¸W*´E+¹¼š*·À±5*
‚„ ‡ˆŒ1Ž=G”T–X˜6YZ[Yà 1Â12X*·œ*µ<²Ä™ɸ˱5Ÿ     ¢£¥6 Z[Ñ12·¯*´E¹µ™±2<»ÒY·ÔM*´E,¹ÕW,¹Ù:§R¹ßÀäN*´<-¾`*´:¾¤-¾*´:¾¤ *-·å§&*·è-*´:*´<-¾¸ë*Y´<-¾`µ<*·ñ¹ôšÿª*·÷§!L²ú»QYþ·+¶¶¶ ¶*·± 5R« ¬ ±²³%µ;·J¹T»Y¼\¿aÄpÅ{ȵ‰ÌÎ‘ϪѮÓ64¯Z[}t;DÑ¡ tJ ÿ"Úàÿ+ÚäàÿÚàÿçª2Ÿ/*+·=Ÿ%+¾d>*´:¾£+*´:¸ë*µ<*·ñ±5"ÚÛ ÝÞß%à*á.å6*/Z[/!("#ü. 2•/>§ +3²33 +`3²33 ¬„+¾²3¾d¤ÿÛ¬5ëìíë-ð6*/Z[/$/%+&ü12<
*µ<*·œ±5÷ø    ù6 
Z[ù12g¸'@*´Ve,”œ±*µV¸+N-¶1-¶4e7-¶77ŠŠ:k—ž/¸<²Ä™&»QY?·AmAm¶CF¶¶ ¸Ë±5:ÿ&,
: =CM`f64gZ[cH*LIJ&AK*,;L*üþS,ó12ï×<=§Â*·M>     *µ<±`*´<¤    *·è±*´:`3ÿ~x*´:`3ÿ~€6``6› *´:¾¤ *`·è§c`*´<¤    *·è±*·P:Æ*´C¹¼š :*·T±*´<`d6ž*´:`*´:¸ë*µ<„*´<    ¡    ¡ÿ5±5~ !"&"(')(-F.N1]3d4g8r:w;x?@†B”D—E›FœK§L¬M¾OÄQÇÖS6R×Z[ÕWÒX º"FYNyZF[§ \*
ýüý4    ü#äü!ÿRS2a¼N*´:-¸ë-°5YZ[6*Z["Z [V12V*´C¹¸W²Ä™    ]¸Ë±5c
efh6 Z[O¯2‰7<§&*´:3²33 *´:`3²33 ¬„*´<²3¾d¤ÿÓ¬5no#p%n5s67Z[3&üêB2s*ž(*´<¤ *´:*´:*´<d¸ë*Y´<dµ<±5z {|)~6*Z[*")_12i²`c¶§F*´C¹eÀäL*+·h§1L²`k¶¸¶“§.L²ú»QYm·+¶¶¶ ¶*´O™ ¸¶o™ÿ°²`r¶± !Ÿ 456 „    † ˆ‰Š"‹+Œ14Ž5O†_”h•6*iZ[["¡¢5¡  TŸRjª2ê Z+Æ
+¾    ¢±¸tW+3=+3>+36+3ÿ~x+3ÿ~€6d6:ž+¾d£¼:+¸ë«¹ÿÿÿ€­ÿÿÿ°ÿÿÿ‚³ÿÿÿƒ¶CQiRªÆ·+¸y:Ƭ¶²Ä™¡¶„¸Ë§–*+·…:¸‰6    6
     
    ¸W§t»QY
¸•·›¶¶ :  ¸§U§R§O§L§I§F²Ä™@²ú»QY¢·ÿ~¸¤¶¶ ¶§M²ú»QY©·,¶¶¶ ¶± ;>5ž'› œ  ¢£¤¦2©8ª;«J¬P­[± ³¥µ«¶°·µ¸»¹Ã½ÆÀÍÁÔÂ×ÃÝÄåÅèÆÿÇÉÌ
Ï ÒÕØÚÛ;à?áYä6ŽZZ[Z['« #¬ ­ 2    Y8®;¯«°±Í:²³Ô3´    ×0µ
ÿ¶³ ?¡> ÿNääûD%þ!–øÿ'䇈2ÄP+Æ+¾š·°*´T¶¹+Y:¾6>§$3=*´T¼½Y¸¾S¸öW„¡ÿÜ*´T¶ °5ê    ë îï&ð?ïHò6 PZ[PÇ&È     ÿää     ÉÊ2X’*Æ *¶˶Ι¼°*Ï·¶ÑL+¶Õp™»ØY»QYÚ·+¶¶ ·Ü¿+¶Õl¼M>§>+`¶Ý:,l¸á‘T§!:»ØY»QYå·¶¶ ·翄+¶Õ¡ÿÀ,°Wdgê56 ö÷ûþ&ÿ?HMWdi    … 6>’ì³uí³HJ´JF&W.î³i¡ï,ü,–ý äÿ––ä–êúð2…ñ½Y*´O™    ó§õSY*´C¹¬¸÷SY*´C¹°*´C¹¬`¸÷SY*´E¹¬¸÷SY*´E¹°*´E¹¬`¸÷SY*´<¸÷SY*´:¾¸÷S¸ð5&    
,ETmx6 …Z[-ÿ–úúÿ–úú–üB25±5#6Z[×ý12P*¶þ*·œ*µ<*´T¶¹±5)*+ ,-6 Z[    
     €z