feat: add CAN board test tool and timing safeguards

This commit is contained in:
shenlefengnai-rgb
2026-10-01 17:43:28 +08:00
parent be4f167b83
commit 34627fa6a0
14 changed files with 607 additions and 44 deletions
+5 -5
View File
@@ -47,7 +47,7 @@ endobj
endobj
6 0 obj
<<
/Author (\(anonymous\)) /CreationDate (D:20260918211423+08'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260918211423+08'00') /Producer (ReportLab PDF Library - \(opensource\))
/Author (\(anonymous\)) /CreationDate (D:20260922213520+08'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260922213520+08'00') /Producer (ReportLab PDF Library - \(opensource\))
/Subject (\(unspecified\)) /Title (\376\377\000S\000D\000C\000-\000A\000C\000Q\000_\000D\000A\000C\000 \000C\000A\000N\000 b\245e\207\213\364f\016\210h) /Trapped /False
>>
endobj
@@ -58,10 +58,10 @@ endobj
endobj
8 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2111
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2151
>>
stream
Gb!;fh/h((&:`#5Tg!Re16%B=ojKYo"7u]ZKS7Mh@60e&L5&MI+XA`F*r+L%P0]<QZgZ0h,jhBBQ?KZ>Xn:@RY>6o>J'tgP:)LT+A(Q3m9EL\HB2W`gB%u\8fuDbU3Tj?Ff<R4ZdpT]f%5a-e>Ss\;1G4Zm_CuIBs87+oABM-8@C$VN!gkOp&tn%^JB2R.5kNa%$e3En#VgJH:TjN@2-[5o'tP(14:Nj(^qu9Wg[Sd/'e"K0JZok[XO*p/Q&p_]il1Y.p6*\'Z)ptQ1;SYCqTL'>[p#-D%/gT$"pV@H'S%)>a3k5t0Wp*^$<XNrijuBokoSYpGZ+pfTe+?"WeA%<ZX4RYEIGnR:nb:^5]@b2)A*n6s2m3SY5-6umt.p)HDXYMV0]].q_./?4/l&DKC@s^n`b/arcHar*OH.$mtHs87'dW&q-9WEF@8Zp\F7^Vk=4D(H@9al$2]OiDCss+D@ke^-h\NDAlVB.8lXVVeqTY,9$+m&^p"L_V_jH8AJRhF^lie9m/2Z&^ICQGhjd1PU;_ascGN:$V'Utp2MIi_<*IYK%("G%P!Sa1XH6\UQ%CSuaAp2O\ZgHWhJ&+u&0;(\i3G2mda[G(r(n2GkknZp[Xsts"XH$;p].^T\/B4&]M5L7$[9]pNeSNGVD@4nUm4C[WC%0?b#p#U#'J?C$OTHMGU[aCH'I6[$a>6f!\#X!Am/V9WH?^C;IE$d^6K+.;JB6VB&:pOHS65#8u=3(KVIBQXNX\EkHN7'SNa1V@HUsl_gKuW3OumcCL%9A?jUgGN7$r`K38ff_\Y@443J"?mGN[^Y,&JS5J/rTV?2;+fCqW<HPfaWUb0.CH-0U<kpDn9]Defs$=&RB1#uY/0I@EemsV&fJJXP]/A:gI1fhK,jM#D,/!K0^\&'Z#E4HpQ#M-YTRRVBMjdIFG]FEQLp/:235^aG(PEWfV1sH@3=la<5=NuHS[Yt$#9KmR3.C69S8K$!Oo=N%-pn7eV$q61;2$2b-eEnJ!VMl7s99"OL-V6r(kRQ]J'g:5GPYKiOO'YgoFHZYT*'F<*0%8FnZ+_P`];tHZH-.>-RYD;g4^Z[)Y+Kf@:Ejc1ojld"%G(^B>u.4hT+7VYO+RlA:6+2sWQ/+NV=t#7VZGQ/)jgX[2o(kGgqB?6H9]%H7D,`*RXe$6)N4i'VKQ#CZohp'$tu';rAl[I;<Ha;NA,ks^nc.?T5n-C<$3iAR:S88!XhH,aKNS`dAI)=L4JJ%qK,QScrfUY&<ks3`[53B1M5(?gL1J)(#EeIM/^LtE6hL$"kl&Jm\#$s$V$mS:KO@d:.+$-l.W6\5-$s%4VR@Va;Dj>VD6\Q2i`W:ShBuB5OR1FkGI\3M5RfACWtZ48KOp.C1-bWCdGGRcOVN,d7H1f8o3Rspp9"c<gSV<2%lOLb$@RqcI3Lb0?<(YIV#h)D<#a#MYOFjQ\ZT6C8P:gJ>sLseN@+AT_b&X.3;F;;\=^j"2:m[\tHb$5V)PaB%pZ!4</8<k2'bD\#VcNiY"PV7tNKp\LRuTH+Hm?9,Z&pL)`lG%?3#tZa2SSG.'3eQCpN'Am09c36KWfbgWD<FoU^mA&rqVl5S@W9FZm$72+;tL^62A6D4mH*WONg`;g4^fpc#ilm0QXZZO_A%;3U1gL>+S7M(5MB8]WDR(9f/n9p_4-8Q:ks.`1bk-pN%b0gtkWpYthLA*`']cMhLi_@(NNlc5P(e#6_*W`"gdffuI^ji9_re5)`k7nj*Hds`,O"NWH<T7CcEj&Yqp];Y'9(Ls3l<*[>h<N&-4$)B^`>Uc3YOqk<%;sPph.C!?J+X'<]fR/Q2>]I_2F!%jJmJ+.RsL62'1=T,>)Y&!!C?.[H]-srJY\Ij>rRifSHX"6C"a9d2$=;(!qdI`.bY$j2$?IZh^i]=p/b"CjuI<NC0g]B7h2(\#D9[Wh)n1W$ETBJaJ%)0-UU+bE.Y0k.nfgL=p0ShFMsCOdO7V$'ZoO\*PPbYJ*U/j`Va@%(fAp(f_fu(\,0XeH$PLr)amsP-I-k@IAr84-eBgDmC/q3hlb`SMEBJ9ITp0O_k]^*5Aq=/U?IF,+uJhR,DJ/BhP@6p'UfRsEZ]VX532S;J3HcE2Z<`&/6i#~>endstream
Gb!;fh/h((&:`#5Tg!QhR79`J0:Nh#kSMSP$(!`jF>-9*)FC,(+b;*3d(d7Eq=JfBT?eu4mA(J_G-tMWp:%YsNt[7tgpPI($2JI.DZ.K[#;UWl\>5;3[`OT:NOKjSc7(9DGcbbU^eb=EE#t/kdpSsqP\Y!#-5>25`Q8>,jC&p#AuE-A&74*;5hQ<+#\kghUsFKsU2DlJZ)MShYg)pNfs8lYd%/hO0X*qH#u>GTa,M)s+OtH6bV[+(,IDjG0Wq[u?@G7RYK6&WfueG('27o!b7%WQUJu*Td*9@N?pHe>"[WM^7BMuW#ZXPu'eJ$0;WTK1gIJjpc;[J8W2htJ.O/kT]IseM\CG4)BS8)L'4<oE2Cp\Fs0Z^(D"EF!h?@V[m7].M9'pZ2%q">2B$ps^%rTV1Mo4f9_s+>13[c#E56s>@OCfCSo\YX)$F`RaW7\S+Zu\=u42!i17Yg_o\o+Y2drl;^2J;aMhe$#2>&ti'[omFFCT'5o@fjP?31Sqi>a6-kfhBnoK-V8RjMah-CB*EY]OD2.cuU739?mu=XHfqF3`9f[aZ@Y/CIeZ\`A8XIeq8P`'ZcQiTNkUt:+g3gb[:ncYS=AWg/>EW_VEK^fS#6*/_DPQUD2WcUYu=)1?)p<guqJSKI(!RL'in@V,/%g8)/'cqUE?3B)&H9^k4]DPU2$nB!c0MfK><o:_f@(!s.SEOF#W:7&bRbP#@rM8@b!BQ!>e@[:_,=CqD)4PffjTkp0A""Z*ejWK,4aIt%*u!<G7m]FOO5KB17+<RJCFR_U'*<Z%SfPQnI)!r<qK:ch#pAk]BqT/>>jl#/2CJ(4NaM!Op]KftHrB$s`THC;&?_nQtef@O@g!Y^o%OE[MI;jT*]2D]p_0IX:[cjFQKPrP_:m5")Em]T`n9VqnQM,Rm*f=f<ilefsF':*hqD0'N_\"U=d?:hgPW:*'HEZ4]_oA/VAiPR3#bT`QoQf$Pe][,?;cnSQm*il)pq^::4T`\L<7?4fS!bTX,m:.-U!Z%$&PSRNL=(kCt@0tKBPPKmNQ$N5eFTYfYjj;H,,@9:X6Ot7XH4%'lT$UE5m'tEk<P93'SjM27&UIi4kjcf;kqFUX=P*V0amj^8FVs^NH69qM(9m2#JaNQF#M/P;m_di2qr(KgnMUY0#$2'e(^m];mB-\-A]eJm>iTOH9q]=;N+K<k0ihu=09b8+1B/,"kl(X)(K]2VZ-($*"oQeS\."!AY[DL0r,N2M>p]!>%tdoV:Btb5N40jh!]4#K?F)BM(t8<5GMs:t&CaEsKh*")O^>!A!72N)]`@hQ(`3_S10k'T5W+F+V<d,(iq!AMg!^PjR>bI"(E.?(G`0u=0%6YDoqr0UEb24uHKM.tC5mpo2p#M$=UWG+R0c:9dep%P&;,YN\J/@f_S8,H\'`t9.5lEkCE<)F]9k^jEO^eLX)6BM"El)p&F=E_fF*tVQE4Di.k"S^"abUg1>9I^g!"maLc9^L\6dr,g3!k[bL*gQe"m<Dkl)]"0SRXTkq<VVP'%Nb^`=?p(ue>Yo](RV_jt0$\QF8C"A6M5&<poT-ju<PQ4.#q/"T#2I-NrE#1H:6j)3Smq&>ZVe"^_'W#(JJ(0q$&Ho)hdFQm,fI?FEZp]C<%otU\a/LVs45"e?V+abtl0mQU_\8Q?n"(Vi'Dj"YSnd;u<QM/m$_)X:B</d3&@0g;8MT*Y1bZrsIHsc!+Po^8#s3Zg+i?t#Hn6/nAWpX95LA*1$iuWn"i_7"MO7D-6"LF#j&HSWZo*'Jn^jkPlrA38@>r85IY>'=W4o,el]kn6K`UKo&LX.(u]9,9\IEND$cJhhrhgo-jaicR0epbX=?YrUa%%oQ.$NFnV_scF9TL+dU_UnS3pk@CEs!1N5@OZk>_^o4i=F(,'YPALHFot<JbM-nW5s>\9XBMM9m!426P^knmOB"ogSgQf&qL3]!D7m/(puhEE>cBVN=E<Un3bUhXD#YKSJr(6LQ5hrW53_qZL)"60HVN&8TNGTHMd).J+HB?.Zpa^hg<JeRi(nf<;pBed,9dJYJ^'7bG8F&C$\nuT:CunF1NGt*G'EO7"M'4rk'ed;rZpW$?euB/op^?Y%[31rgq6d7MP;?LX3efVYR&;@cD&Na$9j0)Hk/+,*dmq\J?DF.2Z<a(l#A-~>endstream
endobj
xref
0 9
@@ -77,7 +77,7 @@ xref
trailer
<<
/ID
[<0c601b021e0ca62988154610c4965733><0c601b021e0ca62988154610c4965733>]
[<e1e46c8f2a916049ff773458531b69dd><e1e46c8f2a916049ff773458531b69dd>]
% ReportLab generated PDF document -- digest (opensource)
/Info 6 0 R
@@ -85,5 +85,5 @@ trailer
/Size 9
>>
startxref
4057
4097
%%EOF