From dac62489d3114131a451ad52fe32a6f59aacf0cc Mon Sep 17 00:00:00 2001 From: 805660485 <805660485@qq.com> Date: Thu, 1 Sep 2022 17:18:28 +0800 Subject: [PATCH 01/44] modify: modify beidou config file, add binary command --- src/aceinna/setting/beidou/INS/beidou.json | Bin 15859 -> 17675 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/aceinna/setting/beidou/INS/beidou.json b/src/aceinna/setting/beidou/INS/beidou.json index b05f07fc58bf2a66fdea5a7280a1a12f45c437aa..9edad753c8727c5a59d7d84bc683079f4c5baf02 100644 GIT binary patch literal 17675 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 CUAqSW literal 15859 zcmeHOTXW(@7JkORqN}$mPZXFOwoOEBGw%hc3 z=oD>yhRvSO+#vcLo)LJ_1q;o<@*_F;?JMKi3dsaI0Uh$$iq@PCu&^!D;N6f~9I{|) zn7^|qyaB>jRu}>CPc-b%?+IOv@!jI@VHdx9{P}vsTR-4?%-_R4y+?Ysx9U3!PU3ca zH5v7;u6_-Eb+IG-A|HnHo4X;*X)?aKydIKHzHvI4=No}44joNLqkNMfdNJ$`F30&s zfWrkN5Y2iY>HAN#7N(zm{-u~P&ZarQAfm~K`Q7yg(w|&+Nc%Jq4nDrvearZ1%(gVgwF(mj0-^aY9dq9b@0l>6;AC zKeA-C5YDoFIo)Ci8y$ppZ2+(L2Jl4(;8o}JtTu)>8VpZ?zpozJr}f3~c5euJJsbhy zpL;{lYT_6vywgCyC1qbt9ODuH+8={n6}8Q=lZrjc;gh(K6N6S2M>$2OqY*^lMSQU* z!Q+!QHXUOP9bJ4(Bhc&N2$$&S!ebhNRt-nVKo=iFX71||^&?Y97ag+*^m?f854zx( zMWEHgaqgfCkBKQ5wzYEg4pCnWy6BiipjX5(4xx*VSqxfL?6|~9s|8tAt3}-iwi}RB z!}nG}=Av>F=u;4$R7OPKygTi7-kf&Zr?1cGff83Nd=C;q4U=xS-9eO)Zt1Z)UhGCw z&vLco=*OSh-MUzDRp7Wact#HNK68jm(Z zfH+F+Xk!q3=dFCGlshmYgY;*83SGGZ^Q>X@dr8)F>kBL84eMT>H*D66rfj)>j8>JN z@6z@R^-N87cQ=6}xVtR87he<+hA$l=m6+x223E_4 zaqaFvbhvh%2v*M*MRd6CU@3i3M0Irs3v9!go@- zEDa+|avHhOIZS)FgLy$fHFVc}AWuuEN^!fvsndKM&+Z5gcRAefG_15Nq#9~#K89x@ zRVl7)wd*t=$`gA^_EHD>T=P*p3#o?snvddHNP6|1@U0b3y02Ln8Y_n9)R?$XoFG-451uqVr81a=>ApibP_d4xl{@5s_HBgoguq_{v1w}2fQ7#2hHPpiO`O>_eGg$n=&mH4Ev$jyd^sS7yCCy1Cex70%d5i$!AYg8k1)>z8LI!?U zENLcSAE<*IoOr4z<}BsbU%*B*JKHTFH7E~*Yk6zVDB46-a?I9BlNOxaBO`+4LdsN1 zsoH1wwirrGV!)O>c#F3r(K;cVf}gTR_dSR+pqp<6=$CH==<@>{<7rJ=In#ozehB|>Cc61XaDHh7=Z+uppblYu6&U_n z+*QCFNiKk?WT}Ua49BeMJ`eB3y%$GO;l6TlY0>8%+zG;@PKE-!1oDuMTX36)$5M*n z2^^f0Ytc>bnP;Lr>%?bt8$v`E=##jBdZL^{Qjv3l!KP<>@&<lW`4LrrF4x#1j&?{T7<$BV#+C%+HVEnp#fJj zcXSF7{z$sFSfG`2RF+boYT((jlDrpRGbK9~OFdr+~@f+=m6 z zl=0-gduUW)5KS5<8v8nuN*?LYBV~iprctr*aMLJ78E^D7d1$zo5u#p%!K?azM;O?^ zfEyJgN50IAuDznnWseB+cPdnHMP9jb=3uWt`l8-2SZLCv;o7Zoy@j=0LUCp{Z#s@$$pY|a%`8iU9*8=(E(jw?0c{*nl*=^<25V-^z@M*s!!Uxa#9?kM)J2!EYpVZ9V%x(SsKN;o^0?upZn;`!Py?9?&>>V~i$U``EmjrH z^qpP;X6cdPa5|e@7fc7qRd57yE;CCcb#6i3AODDYd3`JIArx?tBq|uiK4ix#gUieD zRy2~O6*!*_W%L>0$?+9j0%nTq(-^{XwdEOaBck9+pw4VyrB+SPa|s*+!3_(?FxQ~T zf{6;^6$rveWixsH*g^yiIL44TLb3;A99hMd1#qzfV-demUod^%gx5&$50BA0fYTIy zufvH$emjG3zc7WjVr~3CapFN~-xCxBrwULjR$^E)WX`QwUT?@+HC{JKsi{B}K)Hf< iSjPKfV8IOoUcTr5C&j5sBPd`5WHOB4qR+`6C;tVmgT$@? From 2d8e4ce115241ac6eeb934745d7e33d1fe8cccb6 Mon Sep 17 00:00:00 2001 From: 805660485 <805660485@qq.com> Date: Thu, 1 Sep 2022 17:38:09 +0800 Subject: [PATCH 02/44] modify beidou config file, add binary commands, has run make.exe --- src/aceinna/setting/beidou/INS/beidou.json | Bin 17675 -> 15910 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/aceinna/setting/beidou/INS/beidou.json b/src/aceinna/setting/beidou/INS/beidou.json index 9edad753c8727c5a59d7d84bc683079f4c5baf02..0b07a898b4c8d0b28de3c6e1227e3206ca9d4e11 100644 GIT binary patch literal 15910 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 CUAqSW From 33b383f464938e9e95336c2b3d0701ab3d35efca Mon Sep 17 00:00:00 2001 From: lihaiyong Date: Fri, 2 Sep 2022 11:06:22 +0800 Subject: [PATCH 03/44] fix: Add firmware upgrade information to the log file. --- tests/test_ins401_upgrade.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/tests/test_ins401_upgrade.py b/tests/test_ins401_upgrade.py index 75d738b..6bf5ff7 100644 --- a/tests/test_ins401_upgrade.py +++ b/tests/test_ins401_upgrade.py @@ -4,6 +4,7 @@ import signal import struct import threading +import datetime try: from aceinna.core.driver import (Driver, DriverEvents) @@ -46,14 +47,27 @@ def loop_upgrade(EhternetProvider): upgrade_log_file = open(r'.\upgrade_log.txt', 'w+') + # 'upgrade ./INS401_v28.04.20_RTK.bin sdk imu' + # 'upgrade ./INS401_v28.04.20_RTK.bin rtk ins' + # 'upgrade ./INS401_v28.04.20_RTK.bin rtk ins sdk imu' + # 'upgrade ./INS401_v28.04.20_RTK.bin' + upgrade_cmd_str = 'upgrade ./INS401_v28.04.20_RTK.bin sdk imu' + + upgrade_cmd_list = upgrade_cmd_str.split(' ') + while True: if EhternetProvider.is_upgrading == False: time.sleep(10) loop_upgrade_cnt += 1 print('loop_upgrade_cnt: %d' % loop_upgrade_cnt) - print('loop_upgrade_cnt: %d' % loop_upgrade_cnt, file = upgrade_log_file, flush = True) + print(upgrade_cmd_str) - EhternetProvider.upgrade_framework(['upgrade', './INS401_v28.04.20.bin']) + print('loop_upgrade_cnt: %d' % loop_upgrade_cnt, file = upgrade_log_file, flush = True) + print(upgrade_cmd_str, file = upgrade_log_file, flush = True) + print(EhternetProvider._device_info_string, file = upgrade_log_file, flush = True) + print("Upgrade INS401 firmware started at:[{0}].".format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')), file = upgrade_log_file, flush = True) + + EhternetProvider.upgrade_framework(upgrade_cmd_list) if loop_upgrade_cnt == 300: os._exit(1) From 22ac9e0cb6f15cbaa0617133d6de273a15b1eff6 Mon Sep 17 00:00:00 2001 From: daichenghe <15052278082@163.com> Date: Fri, 2 Sep 2022 11:08:32 +0800 Subject: [PATCH 04/44] improve 9100 upgrade --- .../ethernet_sdk_9100_worker.py | Bin 154685 -> 159316 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/aceinna/devices/upgrade_workers/ethernet_sdk_9100_worker.py b/src/aceinna/devices/upgrade_workers/ethernet_sdk_9100_worker.py index 7542ac7855417274f27fa1afc4b3d2a77b3d7e3d..53766d5ffffb06f7abd8f972619f882be197d423 100644 GIT binary patch literal 159316 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%0Aj{X&pph$V5uBL*#{~bFS3)N+po8s)d}1Yz!wx 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 dIUPPS^8+=zpZ)2(KRx;NU0GcxAs{SUiMmOcOg literal 154685 zcmd4)+pa9jk{;;Y*Hi2V5DI&p*ShG7rdZHTLlh`dYM>=-tfQI`i6SFnumAL?fBFyq>G!|;4?h2=pa1E9y*~e! zfBNfx{q>*z?vKCztFuW zfBVZX|MibQe*f#A{)a#PFMs!^KmGZ?{rT(v!}|NjpC5m}{r&OxmmeR0zxnO)_s_XL z|GvB)N-w|pn<&ls{^rl5yYY|S7xDTpOzDqk`S%}Q>-W!J<+{IbY_MebBu`(YvwvYq z-+lYw|J&~#f4}?YpFe;5N3MLIzxn)4Jny@B+jqXr=Wl-{oonBOMnA`z^Ye$2{&z?x zCK?|vYL4elsRi7Z;K4yLbscevTgh$V`9!=`rh{#dIi@r;MSwufoMeslJ!*zY71qp!dsz z(pR{-?s(9~O|BUK?GJeRI(L7K13JiG*1lh-zonZ+m8Wc;h6cYPH_c}5Z*Vqw5?7)0 z=Szm@>3;XO?vDPxBFlBhL*CnL-~B?m??e5oX!g(X^xrb}e#iHj;TWHJmbG|h{xj;2 zXp4onT^?E{FRQSo&li7#5{Z5$QM~TY`TJG);1Oo{-k8v1m1XNeseT>)e$Cx~#QwiU zUQ+)~>S$w*U-G=6RDF!OD|M*;l-a(G_x={7`0X2%e#lJAyB_+;=lX9xe-qBW4j(-B zhv@9r{O#wjP^uL9<~wl`s`Kt|Le<^|h;4qWKOGW{I}Rzv^*{5^lkZ6PRebE1@YK(&ma)C=bFTjeDMFhz zR!oG_AHIo}d5J5~1D5_CdH>+C@%%?y?*7`9==2wUIA=pCSN?2FbIY8Y zzm=!NV5117VXq%E8(l69gr{FK>$hW6d5XLuL2caiS8qiSuQTf} zM&++7G9*-)e4B023#D&!$M^X=Bjn{Bi|-#_jmJ~uDt3o|-uS~C{=R}I8Hv}$H%em1 zH=#-*x$K=p>`VLKmlBVs<$jY{-$}>k*4+<0%incxc;YLpcE9^+?uVY@FZI96;-U08 zcYnxtC~Zrw`6lN-UY!5)^+*l3e&O}uX?gOX^l2%6k6){gSz`O-nrGdMQZm=K;o$4c zq~_Szv&I%9_-d@&F}e4*Mhj091Msk;hTo9rd-xQLtF1$I<#!tQ-))rGRRv7n7qzIG z|EhZY=Wj#{3>ji5yqH3l~?G!hye5Vy*HsA9}rxgT&R>=6pd({^YsV2z$OI(VVRa z9bNvE`1$^)+D;y21#z4!9hF(%QSF%4D)?uMR=tzbDa8|irPTG^2b4nf&J&G8$rU*~ zlh&qmxzbU$+=u(Q3R%6&Pp6yR@lUJTpX!<4S(C&Ts%$8rdtuG|eYEvQ zBvs+oS1;5EPj^b4FIlCOLIWkeA+@UNaLqiVlZpR4GSJ%@qQ#ECWeUt0;ZQXf ztK;-WPv)LoqeeEQhz!Np(7P(JKll)B1{J&VU~SiP_mh^F?X0NRbsGPqmPLitUv;CR z$~;>$DCL?vCfd)wx%d(PFZ`+X_;1na^e0qzE_+BpI&)@xtN%+gH2#JXkNzXy(%j69 ze?%v{LJKARf;&&Jr}Sbqwh?ixx#giJUK|^dsQxx^p=cE8_T3Mub7e(WC|UU*QlNU1 zT0BxR#}`BVKmvh%-J()|?vNcX}6X&g`Fy`&CL>_u)i`g5|4)xRF=*2mI~ z&iJ2CZO{|{4Y&Hc{BYi_gV?(V?l+&ku$`4X=|l*s{6;pM_*6e@+|ln^F>I^y;_2h= zrt#@DqGer)bYG;|HQP(Q(i0y_M9!!vAMxd>GkpZ#w#RyT=0uEGm~`@8eJJzL!<5dt z8<%267l%74Cphi){)lQy>9D19^Z zVT~}c@dq3X)N4IcFR-ts28UHX>!miI1Z|qlqnnKaOLHr_hMu~IG3+>XMxwhexA%q; zU%C6QJqk8|;k~DQ@$`{}AN)rmJay*Sck4Bjrl)-~@agb^F&jyXJXd_+Y3OFoH+6Gd zANJjvx$^`MW9JWb^N{-DHI$AVcX|IObn|WQt`A?n6-s(KwDnFmq>xVzEC{OYI`fU5 zUPu?&Wg*$$isZ_{Ru6J8ExSVMr#qI^lM?M$%uuHHeX;%L`q9R?_ zjqhXX$+uqWGL+_ghh5_Dci(!c%TW3-rWQ}rhh9chDAC8?pyerbD18`HPnMs)wRsJt zAKt}O@~$YGcAS*9Ug;@TyK8pG)Z%GIEg7D)aig^7c-%c^mAe@s zJ3gQkF3tQ(x-X#gKBA(hNomGZdpgP8`We4ub+BV?>9Ud5`bmG%9<>u1b0sS~xZA2r zzfffC@oX2K+qX!pIjKY+`Z4-X{DQ`ROgjF2_}Q2s zt=0N>?T`QJ8&yZFWA1hCXWdQe)fZZyoypQSr;{h?h6gr|azzvs(?@^t@W1Q&(35C! zy2H7n*?Dw6qds)q{g5|0UiXI5=5TA`T@2!H#-Iv(T@R&S=Nv=QAELkZPpmES?W{}N zAG?>U;9W!6!-|*DVbMEWeTnrqlxFYCZujqr1Q9GAeo8HB)%~M5iFSL^@LB=oo1fBs`^DdPF&}Hf zutxk9AK_^t*N({LTXrfN^Vc2Q8)@LT>v|}`r+S^0sjL!hs^BLU=tww~wr36{c!H9B z#9~2o3ajiX;QnXV^S4-V`S`fQ*yd6e4r1|$7g%se=WcR$H4@L|hwu7@T~WWKv^BV+ z`IsSG7H#r*W81LZlP#WX^a0wm8?xy>-97nZU$gPKo^=gp%lGj#I#aZAtcHw@kJFs} zW1qKPhjeI6{w5#C_1J^I=&r0Kk3Iu)TbdleJW zIx5nA6R+o05KE6zl>b;geSihg;#Z0MdR}jTVDMkoHZwk+3vSg%kh|l>bP5m{5pD{ z+Tg3JpBkQef-H5x!N*;q&~9Xh8*lpkZXxsl?yX zWqA5IwzG>$2hJMywB?9hvo)*b`i`_v@(cw^@EX3F+pK(CZ+6c7d*oTwYbb5~KR6$@ z6UQ$qvCA9h_)xn0HEq2>v|!asJPW0IZbtn?XVC$A5Di}c#C9S(pJC}*)r8WF?IK;q z9^JoK-d^)@{n7?K<-ggFQ+Ky3Pp4x{y*@EAlbc*kp{X19{e^M!4+1%>(u6MOB{`{psvX}38^75czJ1c^p zkOh4wAP_>?zv8EHy{VM)ao*FHoM^B#W>JCWw@3SPi zuREsE>yETYx4Q?+cJ~z*t+Z0a)}(^K-e)yUlE>>ZiAJJ`|I%h^I{`qO8{VDvZp z9E)!}W!BP5RM`3cI%{7Q;lT&Z#k;L=mv`U^x<$t0Oh)wkbt*XMKm!L=HYiW;q`R+D zX}?|&AAf1Pa4YlkmFXS7=i47*J2|X+3dfh8_po#iqI;cReM> zEbe$v|POi^*CFrdy(jB#7B$QS)-n2Cvl=3RqOuV5gMH>vDxdX$}UQt1MWAm zQSTVtt9{OC>FJwL?f7Wmq68cJ4P3}rHC?ZhBKmW}+VxZ8`@c1xDz%!8ynM@^ZT)2+ z&#$RJ){2ym$6n5*u5+Y|9($>u?swZwHotGz_)wbF@(EA(wX2XA{3;&d4w2gPDzw2i`Fu%d4T%qP)6=g(MV&U3ng?_D&rtr- zet4R)KpiO1>pV8PL9b(6Po7yLZ_=sSpR~EG3FGkk1K&c4r(8()iraPfcZmdAp0&A% zhicIG>O$gK$D*3etn#tGuiRIE7i;l%akZ{Ty53C_zR%yCfgb!t3Nh_@$Wj%jtyS38 zH#o3|(Wnho=+?Vw*_`2i^Ta>gk=X7XBWjyNXc_VtpDP!oxtH=1qaU`*9V!-BUypFT zw)4EKZ;otH!}5<0_}O~cdln#_vFRm1tl71h4_Lh zwOtuk#`TGeTk7FYqG|HZd2Y-YD%k)*Z&)XLzaCP!d6(soBR2uk;#9?=-7& zrrE=GgVL6PbmN<;Cvon|J4z(Ep74johrJS)Y}d$>Em3|L-iku79Zg8>PA4oxJu;0WDuhvS(PlhSId~q%?V* z*IU2Gns{ATK7$hPm{eazQ7COoZq2eI?|$K#uMjYlUe2+ozOy5Vp6qy|bV%_gieAR) zphS;O{eGry7T;SlgVNuio2}P{VWBkr=8JT5qx7Y^(XFEa&#bQXMR*eb>kTk_4mA#& z+M(&&Dv~?CziOs6e%Gj>)cw(5(ofa`;^C^-)*XH8K*sz4lg=?HB?CDFyysYVxA&E5 zc-EZ981!0?zvOmN`Yjxo;T^B*4G#|)`{dP}L!Uu)_;!XN!=8c0hdzqIxEa^2&DiGU z458G$icf0XJ2gn^*<)P+KE8HRLusxNTF0eEaEhaTJNWCWC)IjArMYEyS(fg4Uo6u3 z^0{~9^X!ky^~<-zlTq!&jJm7-o4Jpj`S9mmMeU~-GiQy9YX63+^&Lv=fp7R!^zEw5 zsSMx19-pUo{1V@H<)to3m$`o)WBc?;^v=WRqn-Bnla=MR$|ouPoR~f+Wp(gV;;wrk zvB8o$lx8i^iZC_Ap}+8F{n4k0!kKRTT04Z&aYrPzKjIE6lVc1T@njYM^3qVUr)aHz zpO2-SW16-z!w>P1OFD0I={I%_cw_i;-8*_v`aS;C>(S*!iADNNcy>o?)gUDO{gN4E zRIA3l?xXR1&z?M{XL$yH&Q81DQz5yltG}y*9IN7kR($WQM6dIq;2LhqccfdmAD+DN z!CFD@fEa>MP@h2zPaezcQ5RK@9TOfO)1n#y(4quL*K`B z=LdS-n)srWi0e18T`7(0-gF{EPcPlQ_3$)1!n1ZGHGk*Jvgph4p;VkqwfC-`gjg_V zc9!?dG|n>;qvbqQJ(aHOq6=Y8{g&Bjzj~~s&~edo>e@2CVqf<_J@d#2aJ8OU9Ynv~ zAAuo8iI80B-b=3c851bqPL}Q_9ZVmeDl#c=osFZZ)N3GmGOee-8;~TcmEPERlBvL>+XE(`sSM#M4P1Z zgz5|FGKO^a!k)$qN>FURC&!7-@`}IkWJO&`gJJ7)D18(C`$iAgXO(B~fFvm8Z?7L3 zpE;P98nt!suwA5sSoZSp>M6TR<1DPx@(w|*RLG1 zD81x0l=wAto}ABE`!1T5t!F=YM>C#+)O4`FdFUp5xIU?h@1A4Hy;lcWt$;HU-RlE~ntHOb3Si$7>&3=Qz{uYv{3)}eIQAitRJGP;l9@AlBP7Ywh%)02f4 zPcwV{62E8$ac^^r_qg^OJ{z9Z;MQ!$kZAhfKI<0g=6r_~i3;(kzI)pDt< z4@lBGSUCK7hh?t^r+KVOcGu%FI1cie6tH%lFDUwsj9SdT(06=8*S%wC_Fe6uyT7Ho z^#71sB_^vxx@wuEcT|!6tEYFCpF7<4VP5RaMH?$-qw!kRe6*RrY)Z>=jtUY&_j>NS z;!YQRj)Ds>YLcLXkYP-l~)l@+=Zltf zJZQ-t>5l3vv%01V7gJ-&(=OTSFc50x$6GR zvbXuIj1@}oUk#}W^m$6Hm-30{mj_R}Hq%COA6Z1jJeAaZ26-;ed}A-qx5%|yv(sKv z1K~*)po1w9ZrE|^Z+eGwikF`7S>42c^+&z;xz-%Lo^RvVc-{AgCupRfRNch8@l@~O zDe=sgad6W(pS4Crm2~*H*UO1eh8b^6ddjrUY{q&EJ_ z!H}e0cWH3z;I2Pt`Q#}y9&aSeo?}zG>+kdQ)aRH|(^pT)wY_`HId{HSMIWA=6Q@mx zc8})m%kS(MO4bN7$DxO(Bbs4^3WH}}-iuPMwLh7tCCiKuC#iKcW{;I#mo7s|Z~3Ss zSU9<*^@$22I^%P_&eo;mt>?b^oP2DB(Kl_&WLNDwEb^t%vb{IbO?`B)g5|I1T=tsP zkX8N@8ivw0uD_`e9#v)gL{TWQ_PtKpdnw!BMXm9z@51+GyXK+z!aV;ny|LBJ z@FBSBr1YY2(^Gd7BI!ha74;|Z;zp_GpKcnTC%v{eE~&S*LJ6wq|5*Dx+2vuo_-eCM zEcC=5jgL6mbF90q0vjRIBYdW_RLqyg=UQ97s|`lxbY8mM#8mV8+186IBMm(@=Hva- zg8D6Ri`2){1tPKaxJ=lHj6PV9@?+ zp6Q6@q7`WRD<})RT19Y9!vKp6t`(@H69eg*Q)De!ht)y`P>*10e zyXLs0yN4f*MQ4KeqC~u~4x9b_>`o1@m?20DaE}ErwHMQFU)gZ(#)KXfuDk5m+rX<4#YE>@S}T8G3?;zlUD!h4cKKQLE=9N9>qIY3R34 z5kZG|(%cPcBxd~63U^R?vBrHv>E#M7l)O`+6~nyy4Z;*%W7*RSre^ItewwQFxEk=i zo@9q(Jtu)f7$~fE~z_1{AE`| zD22m&juWGw@Wv%WrM`ZhCOku~*_GY(+T)I3!St=C4m_TWx>XgM^G7@mzEvT!!d=mY zQtTqu<};@DSY3zXK0BY`^FARk^yFO!-eORcjqly{r*mIP@%mz=II-ZRjh3X1W?m2r zuKvg5DSF@DzwVg6-_I)kjC?}9P*Q`}uVt*^fpb06>Wg2q5USO;N$vIuCqD) z-Pc>&$0O^feVnDLWjULVC+n?mBi+OsamS8RPu`M^(vJV7%d>YltD9Nbz3Upus83Yc zZXnvRny1-(d*Fq$2Klz0a&&8Hx%&vQiw-?4|CTF#7kOxud$zkOu{XZ_Yvz8TWmI#Q zXP_^QH)EW5^Ux;gGV42!?Q^`>FPyy7M`#y6Nx>VVIURUDcU3)iG?g2j1LjGG#s{x< zDlSSB(WVcz>ozR=w5D4c*z3=D!MxiOs-H&Oc1)9}w~j*zqFG7omEW3gV&-R}uX^0N zE1DJalhU61VN=@AUs+>~ze(4~fkUe0SdcGUbM%*mLPF~@~z8^}~ zlf3`OV4(P)z7Hc>7lzUk#@={xN8>+t)UWe->0?JWPw5_YPjslhpb@zsg!dWL7>d294_5zT!7O!>V|J+58?6&ek4uDB+L}o6U{1J?U z<|r*LLaEZl4{>Xi@9Dz+ibuGiKX)7H@AYH@WT>9T>b2*s=!UNI`Peb>ZE^fqx5Piq zwD+7I_PXwPd>**Jcbp=fOnu*T>br;HnIy84@^h&6j8yD#)hb7Y!H2|o?&!{UKJ(ap zLU8d{%q*(tqM3E#g4KLaAK*hYn(Wc?K_>R zjHefLmo8M-x+;_=Pt|O`uXn`HKJ*kk@fCH$)JHyxxDP#LNav21zVZpFoy=QOhf*bq zU0(XiqV%Ds44yvWD~poZ{GFcS?9cL)P&(phSh)8^Thl5pJtdUh`HDU#dT%`?XuVE9 zhf=u>3b^mdSC({>r;a&2C6v@a-l@Yg;Rz}F>{sjo4Pm{v8t!{T>BZgZkT-YlZs_7w zcke>FpJA#@9iIDqYjjY2r*|{NhxuQB&GtHp4q5ZJ{+ZA4os8B`)-bce*w-Un*OR$> zpO{{ptN-mLI#oY+yPb91{gzNFUT5X$94jwnFS(^Yp3Z3TA~?OzNQctqaPi@-lDM&E zqNnNCeb-mKX0KsFX`+3f>YX}c!Thxb>^rPto88;EQQC7n^fXZ=pG#@xpQ}r9qcl-P zhtYEY)zc}_W40?!L+L}rc-#R8-8b^jo-LG|YNJyq%W8+D*W8QhON=00M$JsfFSa(P z6zj9pPv2L)-ZA}mn0dXo_CnAn5A58*joG9A-xJ5x783zI>$oFi$*|>RyOD?9+2~&` zTHw|TtdB2T73cdehT8o~)?4!cFAR^FXDLP80$n&VwIxA$ruUA}UEN;48Yq1f{yEEq}W z8emn!(bHVfY@b~|jryK9RdoJ7*=X@ME!199vEb7-BE`1$6Q#=dS(Kivy(qEfldb7#TAPJq zZBfM9zecl8B2V1^?#OrgAO+Pkd^%h5qw3FhYM|0*_PyV@xBQem=J z{WtosKRf-JjGpE`s~+FugFW z(XVdZ=Jqj)KKvaX%NLG*dV8!Yd)*S}w_3MEin~ocO~-p~BE!(An zRr#xHZBGUwK)|&s2qjfuHK-5f?#NY~$!BNNY0*l%C(+6ieV|m!rw8*Bs);*$BF%T< zzFLe7JKyEM1EZ6Nyxl_VddsU*Rl1D!O7ywbb+$vvUn?roskL(b1tprxw<~vq(((3# z#49~kf02&%<sNK?NpvSw_4=yWP-Tf$ z@VU}V7JGC(Q`@OM-0{vv?`GKRK6;W(&p95bH+XtC0|Z>pwT05VQMByow|8TzzYBd; z7>UsX$7P3D`yHi?hT&50tR_z!aWd{h;DmF-?-vhXzX zMlH;9^LN%ycZBJ#@0Ae}k@cZDH%ecUIp0v4nREU^1kPaCQ|A0MCDoNY9qqrMbotX8 zO54KAOTRqdO$)aY4_37rhB**0pSOKuJMUDeCq;^Tt@5FLLrKoOTe!cQl2&Ti_$x*^xprU#oe~c;_2{lUXb|SR*7^U+T}rM#NA7)gwnK&ce~tAC&&(yMq??Q zU3=8N_a2q{M|{W(_73~^ebpGAws$QlYKx#ld#{=G?F?|Hb>`d3bYNy@m^t{IVdx3} zvxfA`4*CTjdT%JbjO`^UiH^EzMCGCJYxO$#oceg@*X$!JRiuC;^*6Hu?`Al}7^Yx7AcnJc1Ya zn<#P$=JIjpPd=S@+num7#)mT$@xRsopz$%^%)5BiotoEYCfhwblvKr8mDw*;z3w-8 zJoFTV{w@;L_t`pJTwNn;IxE__bL%-uwMF-AVig?~zv5v>_oQSdC)L|?$b9$e+H({< zdGDk~y0?8gtB_)hY^ZOa;`f6wxQy(d%V{U7h*o*%{qkYHn(mB5Gw!NO`#Ap7#yTf|BKJ?1ZB3&_% z7rYv^_^^|Oo0qeNQcp%kqB&~%5RYigWTZ;L9_f0QCyig0TyuLv3OhPm-5jTLmytaA zWtK`*u!Sel`Z?O~=OB}uIQbT>3uo{YFPYDF+f8=zovzuxr-+6wPfFbnRu_an`^d#1 z5fC(*&%iwOeQ5k&PC6?totWs9bT9Ss@Q6r98~feB^n_Aq(1)1$9O-Cr;l<}mmrOG2 z8By7YYKNvfDg*63Auy#oVvTh1&nM~fO;0|n@)LvQJU-Gl8RuJPM(Ss|vOd!jO8NVO zzvPoG#RCg2oLrxq+1m}FS^Mo1`Hwr~r`T6SwPzphm!I8usuZvh+Jx76U7fC0?rHT> zn%@)^6J_)FN1%YaJ0@P!Up~3cJdC+#{&$B{#Pux|MkI9>4j1e6>y$2|ppLvzUU_Wp zrbSN%+vhObrj+RHC>qS&d%k6(DRqA#GGpuqZAzqrK(UVbRE^H<9+X1k;OWc=DDljU zomJ}8lV`1EmFn_(LXBtACZ2*x?ml?JO?;#|_=?A9ynA2Crc(<1`#ZZt9*V@;)boGvE!&}PqCp@=H3cnUhm-D@}SJhKl)z`thJ`2UKX(gKLuhJ%i$gUeN zqVb+>izeD9p`n38-VrSebmq)+o*(y3e={~T;Nh$}_uMOTdNRk%;-fe|@92Cto~%pD z({=Zvy6>I-L?3A6Z{L}t{>v4-&g`&vbV6xY=W7m#cE6(?iBO$8y;e_45>!oZ6Rjmi|J?_s-$EL*zgeGdP(A7id5P_udPA zc_1m^)8L?}0#|R6ijOrWJb4z#^a&&pe2qsb9C*UA)mOgfH}gED4BcO( z2&Mf7yil6+_08$$d=D@9Xtq10ND4h2^Y4uvYcFKy9ybW`k^dKw<_&d>Ur%UAsrxt~03&D|Q74-KkQ z>UIbYN>85luvhr|Oh1cs?s)RFMQQq(F>;RQ6y%)kb0|eRJaxBb$Xi5%t2COw^7Qt< zp>h6s_tF#UA@lQh#!8NO2NL0Y;Nz(+F|y}c>Q_E_zXNIbpslCl1X=|xg7%%5|NFnBLG1yulGeDU2Hit;ZBK1H#nRTx3U}h{a-{7`2 z5K7)g43|AIPKwzF^V=3ZVLfK^1oA#ZlUk6a%)zfG60_8ky_N>}?XuSJ0>09Bdcve= zLiU)e9)0OzNBCPS@KAa;A5X7M2UV7xc3Ko}Jk1pvZmbUGY+K7qy4HH-iDu0-k#+Yf zA08N8^8MMf+f>6-tEuQ_jyk#?qB6A^^uqmbyra^If4_-jSGf5#(Mc|I-?eX-ercbc zXj2b^Eyicvfp7R^XwO}6E1)%VC`}9Z+5g?*8PY*6A`>?OWXos#-JwZ(TR?at5Ahr40E-qyiuB--Bi7#}Vcj^HWZw--3#Yu?d) zsqpQ&lEy^*;#vXqSII-&&SUL(+2t{JW`h@O0Mi?rSARU7(RwF#mfxMZzh9p#$gRsr zH|LWH;pZWR?8WjlK!*Iiq?qAc@s>U-Gs)&;!w0O+7X4{byO25FKpafrTUKmI+eR4{=wGm42u$;$N*lUkk zT5in|J@hG&eBOICq2xcdIC}GmGS|DO0E0;v^b*0>*){*&`RF}1Vq ze)a_p=|YJHrf(UuWFH#mf%gcR?-0CaDbKqvL<*&C$p?Bw6U`*ayR(kN0Z;b1JT>lE z_34`j)o6D9C71r4->9+PUSq!?5!!Uw%Yz zJRNcxzwCI^6F!W>WqmUGgIncQOk}oeKNz1l_pIv^=Zg=W_D}GAB@Qw+!Kl|KH8~_{*3W=XR=VzyJg|7WUbm#-4ywCg5#xR=o3x3a@BN` zkFRMtl-|`+`Dq~;0YG=8SX^W>_SzSBZBL(MqX8PzL)d)P~#s@ zV)P@v!xQh4Yvc#FU8|gXRNowpcGlVTbs|`8}m;4^ZNIfRYK|L7Yx7II#@il zFO_faye^JIY0iNv%g^h3?nQOZU@fD#_B1Y!Pu?8PE9@bbnnJQTThh9!mU4*Jj=U^Y7Q4QF%ql>JW|3`D?{eEDHB)$00n? zziiZAO1w_z7K&Q;ITxklr`PPwIV(a#iOt!<`3T75jrrcerQ-K)YyD3rtki?+tpcGW zMx8b3DY@|EEw6nmZ)&q2l4nE%s@|D$WzN!&0~0OYed(N|^^A7~kWnqwv-83Fb^azi z!6EAj9LRmTuHF&Kx7s(4ueP#_#@CoovZDs+U<+-j9(2r9Yp~R_Q|%2z56kmH$*z`c z2?csi!~SD9uph)ytm&D6?roHkH)yG>t+n-$>^xfO+EulBk$C?-o&Ez%7;Fs`5g~daduG4|3@gvH{$3b{*c$b&C_* z>y&6Hi8Vf6^bI|}B8vDbpVJ8tMMd8}OX5uwe4JdUdNPcqioWq4x)w#n(o*Wll4z^w z8(oXOR(y1p>)jEjakb6GlT5;1ET6fp2;0-k82x3x@Xp7Z)k=v@>9?6MRAm@Z)Vvn` zK{rvrzQw1W zG7V=%(@^>@S{6k`-{7u}nwV}@D^IO%qHFI&RzItTSyP|E`8?UTCrxwLI=30mggtz` zc`ZDtmf53uFg(eh=ryaA60M1&X2NLPnu*4XrNL(XpqW1xVudHaXF%gcQ+qby4ASu- z^T;YRUMwvo=*C91aOUP)G+r!?Rk{nF&#?Y_|5Hz=Mt99?c2|NY&8zWoabi_N0OXQ>24jyoblAsJj~$ zjjK7}4B49pFP`EzzOVK(w_K*;Y91tY{z9QX|)95DuE9 zLJ60ugXXpPKFr}4Mc?vd9j78JUgIg+5=+JRNX-U)>uI=LXTN05Xtvcu?&cAF?jW*s zEfttt?YX}qhoNNugpLd|N`xF^@)P|-KO zWi<>Diq}CsdwgAQC5l!iNCeXmJKN1?w)~VyW zhZ3qipOXlHLPg*5q>tZ>26yq4zha~K9uDMVxYdl%s>k~#?XEV5gogb)xYe8!&eUU2 zs9CC%WO&Hc^&08p1$?|%n(O4%`6&99lC%HfsP%Q`=5?Z|=o?=93t{oOVreOPevAd% z$;#Z#q%SRsng=5_Tt&OJZ=*$bpwFNtQsImqHjgQmCLYD0C@T6k zf<5oe$BU+kRQu9wUi6LZR#c*>SXxT1iKC(~EXaL)ym>9xbr$(cS0NWqK_GF|yoQE& zjc%F;!>efEKZvDe#1sZ-*~Ba)zEmW z>t-pD#YRQnWHhKpKh)Sfue6Sr}MxxUNj9QKExhH-*DM|$8g`QR-Skx8#NQ+ zDYL?@=Cw$zVqu}?!B!Y{Noc%zEtI_Zvt1Y79iF^>6K*xDm6DDM8#NPV?w+BHC0hFi zQS~CL-N^WBD={lLI8-!EW%6^RgIh)4#FDiN6e^aMQmeMySM<%?o&$nI#nMoMJgiyt zZN=&xXmF@`Ej+=bS}H!-b$aB5Ld|NeqCHgwxw_I3Kk*(h-OLl7oZg39&4c9$b$0H0 zEtEWA1-H6dQ>DZn#og<3GN<#gq8fIyfqsGBk?g?hU9s-72XXZdVW7MKyIB}!*0N9_ z8uC^?s~vj^%f8`B?JIY~Zq{skB|F$-u`VI0`a_<%DvYj;qZ_$T2SGhab3IiZjq6(K zvB^uzcfylcvxb$|RNPjTc3s*zzggL`OK#47clvV!H3lP8OZ38rUayu=ur) z0OPFCi%IGNnw8n3cRd?B5`98ZPAnGaeRvj@wse2!K+jhEKv(gj7iq1xMn*b$%~?2+ zY9EQ-t>)kzMCC6=b}d!gSpm^<-!~zeqHB91yk6~N&s%p-oUZ;|c=G-Yc7X*l7D??| zi39UEYk-?w8IvxWRi(g8T@O8Cf1xrD(@)n0h04oLq107HFsuF>{A>kpo?uI(FZjbM zU8&S|dScxZi-u$%cJ8;)nYXW$@5}~?R~1h>n$0&dWW7F~)Zgk(1juJ{oNkBgb^Y>L z*A2l@)v|p_SjKAZma%l*?2Ey^YiC&%W9Po>%;2%QTb)_U<~nV)>Iphr=X&O~K77l>VXNQ78(sG{sn!OV7wf+VoGyD=0i&u$kRKOTg_4MC?v8(S|2y_q$;e)E1n;(QFMF+ek#zh+WWjE}9PeSx zJ^@OXq>kR<=aPhUv1j)xf*y9)?Q>e0&<(6=jtwQ+T~dV-w34gfyjn{}<1u7!RTJ*# zZ)+|8Bpv?$$WC3P6pXY3j6HCE-wuwH65*}GenMTsW*d< zu6N@5v}>Pmt@T5xdqDAMxF$!d=~VE%(QNtw)(AAW&ccKeds-vNCq26sKkKeh^6KmajTCptts1h=B@iL>~sm5!CHS_HYnX2Z*WV5bC79mRLctbz(i1zEXJ)K5 zg2=LmsSZ)ush{O~x>f_Q=ITz9F7~$$QBSBIRKTn`_3pDwM-K}fLJ6{3OEr$82`C_w zz++jccoIw$0jpOZO0)tMWe4X=WEe5sCoJMsvM)^Jx2u{UowZ>6P~D)b!CtCsHiswB zP+X~Vm(D_|JL-`L=Oof$kdIZN-962m)(Azzt6vaYV_{ZPgBMRAP`p${4K=I*yE^Tv z%t}&z)xndy#i+HEwJ-1O9%Q`G8esVr+a)&O1BvuUA%dDi&(2vQQK|M7r)$3=l*}X( zi&S-C<3UFtfBA?im6c(^buy2{vSLr#M5p$|Rq!HJWi0bpBfx@%-{Fa_SqB!hzDtFs zR)v}F!+m`<+FJETDB+V`-~zN)tEfVGkNl&zX)OgaR~IytR5a~U#@ag8PB^Iept8Kc z-}`)BaA9FzD2XPuFP-&db~snZ$zJ6$9tNv=_NS{d-YQOH$aY_XHY!Eg3$8UngCMwE zT`1Be?$pvUr0R>87B?a_#7EmIL>;l}4AKRuNw1PnhuR0+fz_&$~sX6@fJ;G>4hX7eYxb(>=CWn_Xly(F~PY9%`t% zWURHW4kbRMf65POMa;B<8#xi4s9WkI%~G&J1>XwJnj=`+^?0z}lb7|pXaM#t+Tlru zLGED}I3x4J84;)Q>`rvzTOF~oQz&&`HQ%UJtYK9IRyxgnVmjQ2b#=sAQH2uBx1Q*} zPb_F}PR*%SY5XJtTEB(r^3_m!+NJpCXH()GDwAW(tLvd8YVUW5jr(=}^mH9h@gY|D zaPGyi*nAp~(kpHsGQPR~FGmUA?b9Wbtym9FV%|6JKHtA}1=SUOp(G0JLUb>}O!4da zt`k;P<~>-^Y{p=TL%*_rL0({!I+_Gi+8%%M?Z5?ouS$`#I8eWuNO} zQ2ZR8l9B65cyh`__Jt>1Rc2IoPt23JJHCbfMPGHp%mQ7>=00_1yX3jA)t9;|+Pc;) z9i_6HW5sc_(lLDXlIWi!^jhDAu2ue_gW&kQf>*1CdHvE;pB#=R=J$G0FJ`#$v^*>t zcej<|q$GRID?Y!RA(X6D=N+WzzSNzAXw*u3-xW&g7xv%ZENw#N`}H|ye;(59Yttg@ zvm8+z$6qqf)A&KD&+2BZ3@DR4-LdC6#y8(}C3(}wora3kN^JPef_8Z;ZOgMCD5P#^uOfq zy`sSqPeWO=L$k%Au=88qBtF-IeekD+(nWkqO%1VnO2FS{2EDrOKpxtb(-(gd8J;Y2 zEWI6_)l|1YEPtRkdX)xFdgUXdltLOnwne&`kz%Ym|v~>KVLXxR2Z;XO6MnDhrH;K(UGJ!;b~NnW}zHz zEY9&Keoy_OH|1(0Dt6Q;qX(^1DR7QovfcQ5`hIC>@=-lxL7`PNABbKH|3OdbtPwu_ zj2$&(cp;tjxKlLR&sp|d_VDtL9@J1Ij&>6omYAAK{TyBL>L>lhGrJs#4Qw92+YCS z%!bR3Ir7^vU-YD6=td_yg%6uU9zpFERVoIp%FF-o$6quU+g^*LXv{fngY=a(8M8J_ zhP)QEy)P(Ud4mM5YZvz+_Ry$iSU;`Qi$DJUf)9F%1+}|u+`Jq=_|quvrhI68;=bj> z+JVMz+JoNIjfOwn?6Hf+9OFpiXVQ}wqq#|sC(FO=-X#{D9R92!tl1=f8WX{Z>ho*-ZG_p{`6_ZQeVndY=FoA%&x`0LB~W6k0L3id|&QjQ+l`E z+wGD>#`Jj&wiEARsQSU!S!>TWnH6T$rm3y2{j-gW*Ll4(BDL&H>ri3cJLq+6 zGKT{+-Oho9vFy&X8@pzEb7^DJi)QDMHQV0x+wdftmZ!{9db#(cXR}&8gxAuOOVA4q zW9Xq{$Z+uY^5-14Tr6v|3OySxpP(1b9sDJhrwwfFO?sNxTPH(*wj<|jQ`mZseejwL zK*z2h{2ldGHwk3bE4~*E$K6Z&($l(*OMmy6!Jie2hw{vA?NI(`BepSfub+N2==pyB z<@;Qk90aa=6j@ zw#K^Cc$$CEb6gM~a`t{ZHH>LHXGE3PM!Y)-5(Ltd*PWBYx^PPtS7YpA0i(fd-HSo7K*oqYFtvccqAY<mO0HKv0H?&wR`2Ms+4s8IdnTRC;rf`c9!sP=o5vVyP{ zxzm%`pxNqo4SM&nIB49&BOU5dqnTO!w)1nuTgL{M-qG%uWYf>2Cs&8+T~DQ_HcB@5 zkiU$&^GCa_ae}tG9|yf-J>9W4ymCj^nz7J)mE7S2M?X=0!v@n|>#eLfcmeQ&6sd`r?=)D{sIF^kFN8#FIR}2I)-27uSYC&H5XnEdN1dD zV7bhu&lgWIrU*-|HI#Xx;vTMQzPh`p8y;riai$-O2 zKHBkzzj)k<4O;KgS^oC8OL%HtiFSMa>H`dU@AElY)VPXYsxTewv3{HUt?{2hPnW!W z2k%+p%jr!|KH@62Zohw6WywDHbN457v+Qx#iMzJ{PkK-&HoeQ@zKQ+(L0oSi81&>T zI}bGEVTZn!D{;y%&~~im@Q1^n+q-q2Jj**`*=a}gAcrmiyPx%yxpgCFj`Wz_ogSg zdMx`S&!DG1n6`6#8#43f9;AX@tVI$re#omQ?%?yJA>JG!wiCdsizz_@cfGz0-b-A1=qz)h3fmVJ5B^|sJLebPuKRlKBv<;# zPdq_=s$cANTPv3gdQPOYCWzEU7J3*x`<@+uQTcZ3a?;B;cU^Daf9P+>_|oSGz3KZ7 zXFvJEgWk>OpL}4@d+F~_dOzk=!$z+!{bkHuzxbriW_%P&j(k49|010&88+WTUjFnq z=EM!@hzFVFbIoHu$$UW^BMe5Q54@VR4ta~}F@eH9w+RBg(X z`-pEwy3$(fz|(o(qz4Pp>l!c^AU<7rMQ`3W>CJg2J^RyEqU>?vfjRmTPMV8HPI~X= z*?JiEXw4VPZ~m7ryraj5pY$;3d4Le-oBu_xoy6Nbliucg(3{^+J;7djnDdb5Nk4Ds z?fD+QA6-7lwXeVTmwDf$H}yC9{>WeEeIL*Z$L4=8?-$UEKcgo3UtCb543Ywg$Zqb^VwpogB8F^!7Y&=)H{1MeoCy9Q0n!w`fc~d>E5& z=uKaodUzX?*G}x9w{8B=(};=5_q;ym*)cijeHfdcGtZzm^@NY7*!%>&SN5IsUdHC4 zx9?k@ryln8JAdzE^KYZ~J~p4|y^P7hU-M;f_}&*`&3D&#&u7qU<&}(m@0Yxz$1CLa zRSOJystD`1+54GtsUDtsE=v!U?dYHS0h7LTH?^Jfw!5}l_wgeb3dg*bKp%Ob#o*6a z-L!*7EF^E+3+d}>QXPs6{u|qfa?tY-uh^VpVR`HBd(7HNzUCkF zJ}YL!UlA;yVUWFv6{~~Zr(>3%bp;mb>i@Knzvp@Z=6t#bG4(*-$2^C9ixHXW?ziqc z=nX&j%*nF*kk=hN!Wu#E`*Y%E&ok+b`5Hw~U$^2h)vmX1TrZ><^bS6BHsY&lK{MC`=#}KUdXRYz{gGE} zIt|8??ZT0$uXM?(&})Wt7`?D&?adGVyp|T#*1KwtXsFl6>5hX}k{tVGhrB~i^{rFy z5C20W9aU1D`R$$F`K7vS+5nn)DG=>0)Ee^k)R&cFG(=~fL!EU1w8NA9=5--!SANjL zzZFK$uJ76Ha>1XoRatu7YDr^(~HJl@2t;W&C@fJ$#wJ9HYz{oBhK??TL+5<`}6AKdUT>E zG_T893!w&o^7g&HLc9A8LHc7)S{3N}Q4h5jl5e(tH?Mb|Ud(g&bMg7}=|%RQ>PZ#& zgwJ@+-_|Tat%KJ=W9pBOE*XaY4!l>h+<6`LXw2r+!lpgwu@N+}c90``Rwk6ta7BEI zL#M}eCndTfxx2tSp#kPfPWW3%s6qr4oTc#iFarwYX6p00Tr?}J|Ry>(FhrE9Es z&1ar9ne@iq%RxKWOFOpVBR#W}d}Qr%o4iq|ESi(m`@<-S19Qs7d{J#A zRu)3t==q*p;=bqdqdDg|8+*~BN)|q^>w_Mf_xT#JO#4nXg!`TY%5`y5+R^c%J?MFX zW4}i)QmfrupY_Z9?9|VR&oeeXkvpFYCy{JBb=DV~+y6c4XQx2T>W-;*Pttjbrk=_#y&F?@6pYygXbx4CGvArW`{d8zzjs{rdc;y9`fh7JUm5t< z;m@1rMFUS{nS6VKgAdH>+wQ|2jnh~P?Z#Uoga5t2T+c&}!T{N^V*)PJq7;ul`Ldany#>fsH4@AU3Pvp9aKhe7YRI|8^j^-l?mOnW^!_x@*7u+{=aZl5{g`LadpXabH|1hSSKiTU7eAFYtU2r5+BDhL z=f+;F+_;`~x}2NX^8)!be(*Q*=^;z>{+Y2i=x;|ta^gf(t(0k_#?DUzjH|W_3 zxXbl9w%L3SdT{ejuV*<(J$$(JajtCryrH+}Te_U{hy!aI^tv7h{;oRxlk{M~q)nGE zWJrEp-wt{+K19X~fBwkUgWimfceZ}1v!#>G_n>#kHR5#6v*Ui#n0UT)Ip{fM{x|4s z(jN5wW}Pj1TZTdJZ`RqOw{y^D{jv%VxfD6`)QvgoOXpWgo$TQ^pp zbDqABC-vf-Ftp z|7f3ac<3xzRL#$tzPJ?G<><~}{ITCy{*2Ase)?n9{oWxX*OgM_)lWR@AvQI3>asuM z4bflOV8_i`3%{|4m!NkqhXvL2>i$I1tU0$%2EDHDa^L>`F*gllg>zg-HU8Cp$@#oN zzGu_pzVHXl_I;0eGTy4NKPG%W?-$Kli*~OeSL_w5wfLM>u-!=4y*clEe$f6=YczUF zFWs93To<$GIWy!soIUC3WFPdRIhCInJNAL%bADiE>u1`-?pS!T#)s9`m-;|G(H1?l z!qoE#3NKy;z3RsIiCnxoS5|uCdizkZmS>Tk`a{H_PE}P=IBTC zC&%J{)>8QMlS!mIuJae;uO8QsxBC*lAH3>cmEOD_{(Ak=!=#rv`h9Fy{Y6rF3O0yw z?^A-p-gR}>fAGR-HBW&X+g?LFQp}=lKUsXpqwD(MPY0uO$MZ@rGP=*-j)`TB@uMN@ z`k<%NY3|Mc#v+kxx9{DU4Wg+C#9b3_|O9nH^xf-=ug(iNX>YOpu_O`cluB%-Dab4=GwNB!rGa!>xb^sWYa zVUKXnFMYfI4*n*-9KI6^@-ur(cih?6C%u6`JynpHH5LbagfGf?K5t$Iy*p22Q6JoS zI<8;540=vR^gdpgziij*i9MKB86!jATYcycipxRlr&iX2h}$4Ugpo=6aTtH8G3$@v(Hi+8$Q%V zt)JsZJiPIA$h&j=l53vdm^)O(_*lj1+3E-Fqo3G%NzM)al#eTSt$Es0M(@gz>w0Z@ z)@z9$-|YVMgN7<5G@LF!Y?kY4+jV`|qxh5Wtp|Ibyc3CLXTy6!Ya6|>Q(iiV-e-+g z8aM1J-(#M2s(wJXX92yFyuu8|9;RG7R^56)Y;Te_o z==&;?RVRkddJ-buYa{FVC;bh-MbA@NQUG5yjgbU z3^7|8m&TVyWtaBdGQaaQ%g+bBeP-ujufgT#*hZcHga?rkRr)*pR!qFfC4GMDh>xBf z31@75izj^`E2DQ9pqn@S>&)lJxs>70bDrWzYLdp#@XM2)@5Mx;JQy%f zNlg6}Q{Y7AUpO)3wMKoyizR!1oH==ZVw(Ec_>HZD-n+WT6Av(e3_2k%&k_xKQ&0Wr z+|l8=WAbnCIl2_fi`PMK^Zf9?H@<_jJFnZ8H+t-$k0##OpuO_&1ab7lpY%QG>3f-b z>fOFq*EX@H>fb!p1AFZ<=yeT~D5v-1{pdjgKB7{?B@OJp)}V)Tzuf|<)PL?UTc0si zV+V=U3VoOHfv4`aGDn+DE3Z5{JiL1b!6UunvtNe>Dg5>9WZzSgY(*~fy!3$~Z~G#d z&+{fvwp)Hg22ZI>8Fn9e&@1LdA}6K1g?aL~?YL;qHK=vx;(pLO@RT(Z<$Segp|d)s z4gCWg)5G$LL2v5A_pK+{AT!LE^ltbm`}w?@AJn|lfcN-o&d&_ygtk7P>(#B(rJJcs zZ+ySohPSs1gZpEDzn&7E_3n&%xo%l=;#<^hT~7UxBJ{lB9@Wp$W%q}UeuTT#-S7D8 zn9N*1O5ALp8vK3WTfvDBeQMBi{`3>RwRHBOPYrt0xBPPBlW#40ANtgw_n~hsdhdLS zUf172Z}R7P*(cw6$UA)CrOgICW5vfy-+HDuJazljptsk=>%PfrbEi5l{C&cw2EBK_ zWj*Z~adSed%C4446|=gHlU}}o8XwR|o|l{2u?&u_dndio!?Bu#_ueaU@E7d&gk7;e zd3k*v^yahlvU;C_i{^T_8Y5bKfzL<1>wS!Nj^Dx`#9yKY&@mVQd|H9vgJS}~1UIu^f=5Ac2LZ5!wdMwyr-{E}z zx96{NAAj+7mYz-_ooYCrXFlX*i^AYf{~irz)3+2$B0IJ3VrW0jJLnyH8osaBJJI$N zaWm+>jGx7s>z^4nH+t2?SRZ{(+*pyUd_Cw@qF~#OpQqUSFm47t{f+i6uJ~E>rjIy( zpl(nDJ;lwWH~by1-BIElzRllR!}8AUyKm_2_<7>bemwpTf4F!V^xpBb=YH7wx^I1c z88?I8>}lvvPPyy=iL2v!Ji$CmmxCS}^ea}5`>Z^YkL2PVV~bZZobOlp#hHx}q237N zJud8SuU};_W6#sZXMUT0;rA4*AP>Ed9P>jY6}hkW1NsbcG=A7%(0E6C=dYo^FUn&N zTW6j_#|Pd|d0E9;?~CGa@b|WUewD`-e{+7%HJt17m+|ZmuByoT^74T}ujkQxA7AZ#py?~mVO20iiCQz+4O`-x-C(cGRn zC%rBEr1vFpwRjaz?Qg^r&iI{iy61byIPkA=nwh(w0xw_DoA(V}>lqw4=Wcq4*I28a z{OKEhVr{#4?U?ZNGS?0L9WqAatO@(|HJvlg=1 z@tJ>JpY)=Y-gkY!WNhz*=h1OACr6{b-vu}6xg%p`!KbkgTSqQY=hUq+drxT4+t=28 z&6kn1zdsWV%o^etlW$kl4|>P<_{b<8+x2v0kZI<4V^+o;^qfBxvpty@EjrKIx+e4J zaL;|xy`CTRHbyLYzY9inA0b>if8Y3sRc3rNwvPOE^yVWMEPru5Tz(0Ee&OiOpYzI< zJ$&oOs*KkOmLc!d@3iS*k3?&`k@4jDWclh)40=brW$wmXK7Y_J4t_kv2c1PX+g=YJ z&h>UM2BvtoQFRi&mmUUx?vv@+tNZTg=~-pAr=H82bI(8MO@H|*_jT^joBkqlSw&6| z^-u4M^o)d9k3Q4^JJ&p9r`KecdA+s3QBQWyCMd(_%*xhe)VKCoJi&vWlRM5wh^u~Y zCl9to*S$V#h0CT7zB6XcKlC^GuUz6c(N%h*R_Hs`qJdqf4|=5$?Z2%R@-0g^BQyPB zQJD0?NB1+{)fKUsQ;+qB*iU!i^uI&i@bN*d5TELpSaJEz;P0R(Pegz749M2gKl@H* z-gWSxM=PSAE@uvRy_k`CroQ()gWhM=72#W*evH5Bi5tDiQ{QbgY~VMHS)w(4c>PG; zj*V}<>ve1yAG)N01OMzXsw;j@WZdhDo=pJdtNfGU)Zb>zg%7ZN7UUkNXmPs`42_ z&JmpWcjVvLU~&vYRi^rD_ClU)J^0%;UwnLyt><1QUt4nydfu4?JIbr99u3IbTTfeO ztsyRd9rUK(&f4w;ucA)8=kG`LM$aLp4#3l_H;(gg(e$?a;O}mKoUx-5BCeok9{YKA z)}HLEW{$Rw=Lav{ES=S6;c3plZ8`Xx{x@S{+iubG+yk2(@%aLuD@*vRl@nLTIoOd) z*zAe+A`1XL%Zh*(RLliqdj>2F7?Ucb<&e3;!nC# z_2JO_#F}WyL+Ud=?0bsM`W*io_MJYzWqjB@e6PC(f9wzAcRpQX=Y4m~XuMr|81$xJ z_&p_3Sarb>SLosJ7ur4YdFPH*$n}|PnC%Zs$AiBe(~s|Cl{^0R_Xy}UG8X?Xn+i_c~>i({f&Lb>tWx}?(e+utL-@AoMp}KOyq!*rOv3=L%or#N$!@=K^?2}$b@wOMT%V{XRm;FZ1 z6PENu#_7*f57VE2j(48@M0@abHpi;U;n=$|?Ij$~OCIMwlIuJ*PG|hGv(e1ZV$X6M zcu*h7sADb1PI8Gn5G2@p3d?I?-FmkDroUFjxvy_I38h)TKn~rCZ(&WiIPq$q(OmPX z@civ>n}^E}#vJm#8|yh#rzKjlZjMANo@}-Ot$m9=V(lneQTJeGzCKyHdd;iI}Um@$%oG6ueXd3{^s1xN}0Q3 zGuvI>L&t}_JhnB#i1pfo9dljevTxrjE4mN&9lwzmPhE{)x?c3&&KWJf zs_(4<`~Je{Pp_jr95^zhe!4#Rn|4I6c8veYo!gF2z9VNXc?P{t+p(F0?D3T857qP+ z(0lTW#otSR82lZ65wGSK;*ei>tG*{-x>ATXzKcE1{PxYvuo=}i&?Vx1Ry`c?Hu2!Z zziW;q%cSjHZC%0UZuF|NTKzG zJEdmc=SY?e)8gBfgI?_z999z?&wNBrKjzyR6Qs5edD_=}zVBNBf*SX{QqJNJ)(h&5 zWwXIw-?N@R{JZ%~e*;NTgzeLBzieU5q&w7H0!_RpQowVLL_bYOT?vlPz>)pt8 zx4Wk=RCeC4vQ~XV-aW_S$@{%kl07FZ@8qv15cE{~+>h%=e9XPhV{G^?g5|R}2=NiC zPyMjv6@x!k>-x@pSs7WId3(rru@--sF}Zzo(i^eqdwU1o83qZQzv@X$9)qAco-}0LCyeN%ZozkT%Dq1_C z@Dz5<`CUKjUC%~;A6#medek25L_{yl`LKbkw|TfY4{ z^T644I(pE1#}gYkN&Rk2^?Ks{8(*zn;}`Gfz4GVz8!<&VUX{Piwuzg29_`-zQD5=4 zVoGq>=c5J+m!0iZP96H2xvTMZ;}3e@vFpdg(88`k?=2tXwd0!4hyR^(eg?gn&u1?m zmoV~WJ`WBTi-w*$R%NAzh$podflS z$aSx;KJ@0~C7nT6CZANs(c_hD_f^!JWl@!-JwscZ4g5*-_xzN5EoHu#&q^)7yA z%`|Q1H$l($seWj?2Nn*$l&_y`Hu(F{c8lISoAuuRUE+7!?m0fl9z57K8}fc=y9d1y zzb|bz=uO+HR%G6{_36N|>hGxk%-5cpvGFgO+zD_P0>^Y7W;nDfor*xvnrCteL*$?3j6Z@;w$J2G9T3f-_d?zv)t%m| zWQTpdvsyhqpNX%$sm?m)4ZY>5gP!+4m)>38aNIF(=q>9HdNY1L#La~-jdA?}{(7u0 zdEVT2(rxZjtdZC6dVXTejlZrhulW`qhd;X>ZFpt^?PB}UFSaUsflFUfOW*iwbrwDj zjLMY{ac9u$8wgX?-F=JH(`GMmXV9B-zoYlAmiC)Gi^8C{YwBf#59r-$=}*vm@2d}6 zM~iek>$|Ou!QYg(_K#)lk@b#viY}WquhpGXYHQ4(_f_!r6S;cvCl|xW&JaYz%jzu+ zdcHUJ%$>&Gug{#id#RJ2`af%Y=T)o){7zNhEts6(ZAhIzIN`kQ*{{=|saBlF&_5Vm zgzmM*W;$0td_d2vPJ*ii?dp_*wC%*GD^~UU_vg|jBl6f9wT_60lzn@XlcS;Wqha2Bcf9c-n z(LeCy7LFF>=+-JcAvESK9pm9**Fb1^S)`DNu%#T zj#uw{hrI7-Ol#`H_gsEv?wb+q865uC`J(HipH2HbMHj}ESx-ib>wL@LPtDqT^3~kS z9)6d+J}eiX`kC~?0gpKJBzMx&n|b;hafdy+A1TkG?eiNN;-$rGqaHuTCRTcuD7@0K7(?&JSm^wHwI6~6?c?Gf286~un^c>{ zzRp$dSRV4qU7m{2YnT{NxhAjEUxLz$mqCvXp8Rw9NYCA=38K*{gL?KAf8wD0MP9o| z&QQCrI2NkYANKXhUuf75AiFF$Wp^Lhi-N(4#`p{S_S|ahMej4G{gP^+@f&~W_;~6% zKR5W(2Zw6>Y`?|ffqbFVvp>pJJe&^4#=%c}>y?c@Kw4nLas_tK{Ze?61^9(&h3Y{POd=O6TDTz$yLqCKAvg*a=5LC<{6+h6G0a^T{7 z(Az$~=AORoWK;e2jc@A}tT8uwpTOR&KYQQ&@(FV%y~y|p>|OMxZ#Of<`n#qZ^gQ3? z$z-cw*;Z$=-I>g3Rft~CTjcuMzaR8G=Z1f^n_fb%$B)E^b=a(l+iyMW0XIuy=>1sl zCr9g4Pn)TYPW#^Pqs!@+b8Xo5o9LnYgTG^am+#fmKaO6)q%rfCxAL98*WqM2-8lc` zbK@#}96Gydf=8_6+hxCLkHHhGK;Xj$*Sc!a@OvR<*t`yU#phs@n3!jj$=>x*xOq9x zpw~59q}cNNyG}gf?bmo1o^)P{V04p;(B5r(qCsgo?)(S7OkLN*=Gs=@ zD?0vZeAWZj>sURXA@A%9^UwB#*fBKPr^-C@8IjG)py!?Gv<1&dalE%n9t)Rq{r!sG ze7~%kKt_Cd-?Ec4T5!=hk%c9bKWl7r=P!?N+NxNCzeM+(M`WJ*+dQwiVKvzySaD*| zn=aTyG|f2SIu@@tH5DJ|=(FP2@WG3r}i~{X3R}KatjF7R1dZ(FL=Pd?XQOF_J!p~GA}Z6aFvF@I{S|@sY zO=%zXZtX#5@vYY8Vl3Au*1Vi^@HgkSH)ZaZ_buCaF2vIfwaw9w6-BUI|FW?+FhCs) zXMJ0*iG3IL5B{cK^o)Eg!F%P2qsHJ5Xa1V>VomW;{u3WtmL+5P3sREwNrpl1Ls=HR zDZ_qda9!Ur40=2l*;CRdfLgqMp3~fYuSL7hyeBWKyOwVc{w7{c zx!TtZXZ2ChdSSq#z284L=y~SnMV?3v#7DfrrM4dQWcahbhedtoOSs{YFo4}#GY6%A z3f_zBcD)XNCQDDrMk{xo#H{NxUvB*jc|DI0|KuRD7t7nu;_%ZmKb5CFF?{>*0vFx#iN_20`81!0w=X<*JSH#aNVoV%9 zT_5!3H$GdnTA%;Krcf|k^5J>cnrG0Pac?X;_F2fRWZZ2ATpIIAUi7*GAHJ#r)w3tN z9V+(a1M1I{KTmIZD=7QQ@cPe{i+6~($Zns{e#P4L9P)ZUp@?_4x7O-+l5756>O8My zt<-eBjLf0y+Lo<*W7gJvpi6_!e8e+ePGb5ub$tp{4sOW z=3`xdIsc%iXZ4wUJm!gZS$6yOpl1!ug3ddLz{v+1s;N!mK|AQZbUEm~lZBqt811_S zRS$Zi;K09k=PinGxnugUdHmgd?!g~B>hn2AN8Wj#{h6K%Ozio6_E+@ebM%_S6J6-h zyJ(Q9^%-f@-?djc_-j55G9S+ZC02Ypuj>Qo)bxzZfq(rC+@R;?f7y;T@jYv7Yn1j^ zuKY0gvnSZ^LzSLjW#5lU1M!Z#j+bW*ddmB4EDzNaTJI--ExG{6At{Z9aTk zZsK1uJdV%)i+Fqbe*2$a%iZ^_>nf0^>w`b%_3rfKaFjm$JLok-3@mqdGfJeM^weEP z=kf3tHh=nl$)#_2zy5Om!Jm9pyua{q(R+E{yX*g3(hE;~*xUX6omcLkpRNr4d_&_r z*{+Je^UD46zB1^!=I^xQyU$iQ9UuH#J2Hcwm{mKqjt_SEt#sK>AJTh&tc$%x&)Y9n z1{n09hWK^bMMmUjb|>r;=`r}dTW9dp-mBv==*a|57Rg7r^u9>FC%+qJ*8;+#-TjTj zpG#@fcDe%kg8ESXy@ZTWW!Yu3>VGRSjl=-FBIytqu%6Aq~=JqPa&LeL?v z-><^~l;Lgu`bAb4B7Vr}qT}_pfI-jseD<*B)ye)YQDXhkGXVO3LEgENI@b$7 zs1j4fdfwPCZ^1wIP=`9XAuF*&`wd5b&F`tUt7DCj8R)v_cT;I}XV7PrL9)S$%pot$ zv18v@sai>G)L;0G?}*0cbFmT)tY3K>^nOp(gsLb0MKn}pM>T}qn_pvJ_V8}&72Sj0 zcbTcbtQ#%rc=&BOIL8NcJnZ2?N3pUze9)86dA+mMEbas!T+}fa#WV`v)TgW39Q1S+ z;Nv<8`KSP*Ip_)JU~46fylew&7K#jd`oEB+y;L;|U-db5bYhXsXh1)Bb#4beJ(->Z ziyganAveT=a=vH$)yHtrYGVW3i(6dftt>)$M zC#(0Z&B2d#5@pb%Q}NjR96t0F*rT|enDp%0%<2mf2R&~#W)Cr@BJ)mfcuJ};KX zj(P^P?};GxXr2wP&Qq{o^YXzT)MXDnFuw#23D~jOEE^I_FZ^K3ZwOE&CLyg%v< z?*V4V=84oPGC6xRuLQ%}YNshw5;>5o_qrjvYHT z&xQ}WW{={1uFDKx#eU5X2R&!P>{m3ugpck{#7@me^pNbw9?f3|J@40}iRQoX;STob zIyUrlP1vvb^{|I?uyC$;A6aw}piJ{bP{w%>QP;e3)K@eIADfS2I~4<*>$)ZMx+fDK zZQeWTKfc=Mt>jC8g8|+3mS^*qr0}hHfAD7~uQNe<{N*p4YhGc~pd(ytK04|(@5pm9 zqIoQoocn-_&3oa`^ThD2`SPHr5`mA+v*AOGiI3uTuG4_7Qt|$v=X{BH?0O=6@KteG zybs@=q7ffmuN?HeKaQ2VZV4Z)G}tkJbwYHB#9{INu!nOg;-h&s{OOzP9yKrHFX$)^ zn_mxqu_q!Po1f!nKjAWWH_wKiSmrg&%Ljij@BiE0vo^Z5+}ZrNMLuSr{CSv({p6& z^7~nW$7fJ%hdwUT3hcvq1@E^5d*jZ0wh!;`$xeN50a?HI+ho^l%WQ|<-v|DnAsuG> zU@AC6;_rH5?ePAd{0`Uk*$%zm4&d<{u1a}-&;EsGvwiqDOV7Fb%bMl)VF5hu_hx(a zQIH|A^%Kv0TxLFyU9)}o_!_`tAIA3K<1^vGyk*8TV0n1I9mGqvQ1%qw-&34r-^%jvew*O&4N6~)qLsm0$auur4~_Nyo8Ym| zv9!FuCyae>1IK^j0Psq{V;yEW`uNQFkyO|(`Z!D2aF)gL^Km)IhxiBKj!Q<~b z^VKc348o7^qIqZoS>I?xa{Y=|0Wyb zf9I0@qWAaY>G{Nq{hRmO0X(0961Tj+Cp@@Un*E&j+XRn&8cW>!`ye0ZZ&6}D=i@Bl z$3D+XljP`Y9mE0lZ$7>T`vvY_WdG>nGjWCgy=e9jKKc=Ue20be1|OFL{CFkS2<8pz z4u9t^`$b>3WKAWz=B&u~PX_UW>muw0d2h}2V*hPYM5+IoR^IR4A$@Uwu&RV0o$a+L4mo8ZSbG2*L$ zCt-a0&%Qg0Y#Az&5*|lH!66CNcT>?@u4FQPat!<|;nCP&9!s38bu8i~w)OnB$Zf1F$7Lij<@EkgfxI&N=RAyo4971dy2ToY#)# z_59;gGmihEeEm*w0(AP!ZsPSNC+6EDs-E1TZF5N zROj3ZQM)3mb6=Qp)>M^07_Dt%DkzQ%7*5&T)!f=pmo~9A7r0ezimc&aUOE$(4W~Y? zG*x25#*A8-Hnv?`f+=Ig+r&Z}l_=gIwyCMhm|It?%(yIuR7KzsYpZSMzi7l->oRVR zZZn&ioDUhQ)TUMLzs@i%n!17mPywUJ3ZpAF+}0LJTXS+#=^}4xKK73@73U4Np%tkr ziUv|60i)HbO)ZDh%Bo6PKE_W?;S$9mA!~{{R(wov^Fn1Y6dnZ(ofKsmb7)N)mAZ_} zO_@kx zBrafNIUwKgaky=4p)4oA+SoX?eB7NBwoVlvapxctrNTp;rm|%o`&Q7_sv_nMLlT>; z19-BgeBseWMu`;fP<75FN zX^XaO_$#~es;IK2`(kUr$oi`ZMNuS{3;5n#LI)jNQclFVu56MhP61qN^H}k5ZyB4o z%K2zl6{avb9Onu=>ejR_^GCUrscgo_wq>Qtrskts)hgB29PaBv)w+TtSHN(wa&^UN zPT3Y(flv`ARTY3e9~9LwXmi6ytF9>0ya5+0V0hFhgvCwK6fti}!6fn&R14v?Ns%bU z$D&1}iaLj*Pyr)0D%Lq4gI0;ET3{;816ehhFGS}?*_w|wcn#TT{Si>8#sy-c(ewrqT%E;vnDBG4nQebMIQ4pqfSku6eq3V z5lpIJ<1Aog+O|69!>!cXs?K?fq`~%@jLS^G+@j6+A4|y6q6VKCY_QU-aJJ^-KW&S$ zs`wI$)rA5{Q{c=pl_i!BJknI9U@}3`Mr)(l{9rx*o;$%1|o*b;P_1N14QlGn#*KK4HB&R zAPl6b>WYuXn$niK;w@-in>4jhU>7hFXEIPF(g{-V}}ZN)aiU(8nTc(}$5c++JS+KVs@KIBp6@YExVAjX1V)#yKF2=9M5Z$D2^lUR60LF$#Wob`kzM zwsD>E@kmX5#2zOaxGsQ(-lzM^6^6&7p?*-B`sM|)W-2~Lt~2A zr2c53DL`xZI3dZ4)+YXI8$oUkFqANwMm1&Wo2ZO3S;;9h1c@XrxQv zE(wYnf~N)uRff0!i7{EO`D$0*m=wG``RWFoN857g-sDz+D-8U40#UGbT&mBFb=q-R z-lt>48`l(Rn{Yv|%nPkkD76bbln?62^SV)>om^UXMxpr-{$&CgW$ByyymOK;>fE%M z<`TJsh+S%57B^sghKp{>Gn>{)Y*INWbqhRPZgWs$+B}twZCuM`U1hAXEtj!<$RplB z5}COK3N!*nQCVwJ-Xh1X)m7@t(y?(dByYHO3-U<{E;|>kQDq6GW&tCvOqrEju*7^L z*L;<_Z52dcUq&ue0U?I;G)9MPpm9mSsM;d0!MJF>sz?9?7cW6M+LlYeF=UfX%Vl5h zRstVnO9h_Jak12?tV+3@lh)uRQ!XTGkV;Z;$riFL6+_x1@yP0;&Pp!*qz;@%$>mt> zY+PtA+F8gCbIs*eaNywepu8t&NlRO$hRdtE2BIAom#i}e(qzi%veG0?%Oz8AxOv+` zc~rpgBBYXAqm6D7E{EnoNezJ!`IKZP(mG1oTAiRmV-DRXBx_r0*~Al734AGlM`LEiSgH{GX>VkrN<_P#NBbZG1m&RV%Q1` z7_gs7Tw7Us1Ut8{{`~6spJtbT{P!2Ib<5*KJ$iKa5`Mgb6peyI(_BCL_L+Y|OKS~J zF8vc?AU~NU{uw(!9MwUh@Q$N?=;o0lr6=F}S?r!+%%exmLT@(F<=21u%iY_xw(f`3 z`kh;!2ETo!H}32yk#TZzLVx@B(RQ_3MD1#g5TaEZy}EPD*KhvRkEI_VWr$|8`EtIU z%}zIN0ovZIZf|$Xd84TbFWjtIEw^sDeG*ys(+oC3>LT`wM)29}?f|VZo=+kK zcXr-GKcfX{0=zf}pu;*qy!^EvIdA(Vql=3uVM-AOesFE@l=p7sbKr>xs-FK~_EDXe#aYX%Q*-DabKwC%?` zcOjA4JIZ|Ay3GZl*}o?)1$uN&Bm=2Hnn(X!H`|?FbibZGqUogfw|d*$c)qONX14&= zG&in!Hyg17RAs)IFE?AgY~1NEU4lQA_B+GH#0kLTcBVM zAR5pDtS?8{M86lfPEo^ohtb2gh~jcUF=Xc+G;vPPpsU+2m)FrhfjjBtc(uIVj|NTb zX?(NZxn8sImHe2s)9*q~;%o0hJfrrn;)x~j0sQ@3IIL>(!$PX>n2Tp(u*e%+0^XDePH`XEfoBPc=B8?n%zQ!##qiTvlhxf0LGgn_&(7EUf8$A)2 zePMqUeG#4h_@rZA{}M#p%fDN{14sa7TWzNFAX7a{Mg(<}e>F!ectJ!+B_H}l2|>bW z-eE+n=?4hK^9I!u6KF1>j&b8H#6I-m?Q z1I|ijYyBQ(@5vBwO_6e;pup#fS@TVV=!8&l7-D|DSvYrhs?JqBHI9M4=rwI>(2S2M<1(WB?h zsH1K$B1&JGbKZ&&qab6yz@2HgdxS_%N-^8a|I>kKfyoZ!ZC6{p010=j9@G}n+4UCQ z3|k6F+))=M+p}|YdGHc=*a+K!l>YE=c=h~4Q}8XIXI}~wMp2yg z@XHH{WdJ`kFZ8_h8e=h;3gx%AcJ}QhnTt?g04N z4sT{R`X@&_+HkAhBNFVO5f7@WJc+Q!3FCCQ7VxfL4xA~LQ1*w*p7(oqRwFO!8P0PK ziTC9Z@%HS0n0)(bpD*Czp#uK)Wyn<_+cbRBGyCU|?YA#cr2k9A`f` z8B)lR6?cgMAwjx0Sn(;)mOjH0yYB~mjz2#uz;DD;105iRZVj>AZ+OFuk@5NZBiABt z?brf8Q(z;gEW0um3F3(BM?L5W;z72L()Qj-jrpxUJO>uTF&Qv81jY^!iiL-G+bPw3 zJ`MTlb30-!>>`CWeI{2467EcqpM%!R$3*6I1KZwlh6VD&dENbAwheEgYsg#ejLIh|_ee?T4sD*Oiljt6P3vz~K9?R)S z4{X4v1wC2M8&3%3wdd^tk;#!lYQ*w8*jU8?_#SGm)Kfgq9vI$F#B=KVCgQZGA|l^` zm$>CaNKCY-e}fOl`6?rKR&t*lcc?=DSs;SW89?6>H|h%*zL6aDW6!k!1qAe8# z^}%n%2YCdd3=MGn>VWn2!vy70mjLMh4~Kb->3@e_^B76@yUwGt$$w%ocAxW2L2-^k zpvnJm!M)3wc+OwM1$R+uvRdz_p+eK+^!Mzixys%`o7v5*`CIq)9orZvfJ1)^{~Y8q z5xGan|2U{kINrk=TskfzBGR;21{-r&nLvGVP~=VOG$ih?mGEd*fj;J$`4WzT+ZDw; zaEAU@I{p<~=g-{PKa_F7@_@~7*m41G=^!^p2mVL)?r_s2gmknr(p$}eT^1H50@OV> z+YR=9Fjw(pK`<1J@?Tb#TH~NsvtI!l(dJ9Nov)V9tOZIo7^**DT7;i|9J!G1S5SY! z_rv2gG*-@*Ki$rD6}(8p7q6C!kNjeoakpMUm*(xhSDT%=bPcpqj_1J1M+ME=?c4DS zz&D=Z!UKGGluRF`qep=8s%_y=BA5$LUm!u3c>W`SLjUjX?exjB2Klz<`M}AZAp~MS z;IBbc1f(B~sT1~12B4{tlJ>5?c16ZJEmE--3@RspvFGq@PTh0gyxK#a>>E8M2PUH; z^0{lba8E{{qdxQ7b&B{MaIeEb8tf6k(u9u;Wurbm2+aKWATay`gYHqf-aCBO)ZT?Wd^S0W z&z#22=yNBt$NJ3K=+-`SD*C=*YS*Y1Xxs4Ghr{6QkY7O4JvHdR*YlsN{OA`X-!#dR zxtitf+i~d9)O$HFMS+uK&PSo#B(l6wK7zl_wyPNwN+B?y zMDYo1C5I~}LoM#HuXl=CmY6^22S+F|3IioKPVrJ_Vf(-j-+K>-(i5m3Pp6nd@Kl^e z2gM-Y%eCCy0%g#Gb#vZ0==0;~_}hWL0q@6=agE+VV}g#%V%5BhFc{-y6eJV+y7-Dh zq_@y{1zNt^ZJ=Ak-SvUC*{#&S?@M}GFseS{`JR+m5#0wnfxdZhGW*AFjp=-gaR9Xz(*Qu~&Bp^HcL zaK8@T>#UI1bVyB<4i*najEz@h^S?X_AqLQMH;4U`Td!B$#Up>+M_}@JFv}evdOqLa z6}8h~#2{cA(kxaRCmXE@23$yr-qYncbSbxb{VvkzNT{(3?l!EJCtJAi0vJVl`4Pey zVAZR|!$i_)!{Z1;5x6z1MLdaCyY1a>%U*4}ikih7yjH)2s8^heo{vLH|Kj!QSFe2^ z7VCA#yB^|HO{fq76pzJCi_D{7{=zgO~>iQ}kg$r2vv>Ssnpqut2sm@gb|DBwHireV)A|-LK*WQaN1rn`6M5O^k{YbRAJ|poO{^EY9QTPXXo#nra)GKGvc`_O zU`GMtiKc0ljp21JXOCecyvNbfL2H`E8@cnwMR#DCbZZwB4k9l8mXkZ&^hDBfL3`;r zL?ziV+aWs2<#IKWD?#F5+udjFSLtBTeWTMWypRJo+VGMKLZurwCvE#Q{O_c*#iu7{ z*JsoGVh`%bx4x?#D286jt5GYn@bv0@RA&Xsf4(MNT>NMw=QPh66|_O|uz#0m9d}ZX z1Rzt8AiAGi!oDQJ?GD_;?yd~C8j5^Yc)4C!#{}JPJ@yCy-reYT(Bc9bC$1r&{DBgl zd5GptN$~IeHXq0i!t^1Oq2DrGs%#8g}R}MH2F8L4G1$rerC_1-4%}ql6npo+m*L6%1vf?mV z->)6C4Y>$cUBlI0xG{`b(bRN%iV@xf2b_MIq$-1rUWo4f%agYl*7jd9FlF<2QO_hy zB_FijR|A{R6f Date: Tue, 6 Sep 2022 13:12:26 +0800 Subject: [PATCH 05/44] fix:1.optimized the problem which is getting ins401 configuration parameters messages timeout 2.update the delay for jumping to the bootloader during the upgraded firmware 3.save more device information to the log file in multiple upgraded firmware tests --- src/aceinna/devices/decorator.py | 4 ++++ src/aceinna/devices/ins401/ethernet_provider_base.py | 6 +----- .../devices/upgrade_workers/jump_bootloader_worker.py | 2 +- tests/test_ins401_upgrade.py | 7 ++++--- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/aceinna/devices/decorator.py b/src/aceinna/devices/decorator.py index f68e13c..13cd1e4 100644 --- a/src/aceinna/devices/decorator.py +++ b/src/aceinna/devices/decorator.py @@ -1,4 +1,5 @@ import functools +import time from .message_center import (DeviceMessage) @@ -17,6 +18,7 @@ def wrapper(*args, **kwargs): def check_result(): global generator_result while not generator_result: + time.sleep(0.05) continue if generator_result: @@ -25,12 +27,14 @@ def check_result(): generator_result = None next_device_message.on('finished', on_resolve) next_device_message.send() + return check_result() else: return next_device_message def on_resolve(*args, **kwargs): global generator_result + generator_result = { 'packet_type': kwargs['packet_type'], 'data': kwargs['data'], diff --git a/src/aceinna/devices/ins401/ethernet_provider_base.py b/src/aceinna/devices/ins401/ethernet_provider_base.py index 98dc9cb..cb80916 100644 --- a/src/aceinna/devices/ins401/ethernet_provider_base.py +++ b/src/aceinna/devices/ins401/ethernet_provider_base.py @@ -559,7 +559,7 @@ def do_reshake(self): if result: break else: - time.sleep(0.5) + time.sleep(1) def before_write_content(self, core, content_len, ack_enable): command_CS = [0x04, 0xaa] @@ -1142,7 +1142,6 @@ def get_params(self, *args): # pylint: disable=unused-argument break parameter_values.append(result['data']) - time.sleep(0.3) if not has_error: self.parameters = parameter_values @@ -1201,7 +1200,6 @@ def set_params(self, params, *args): # pylint: disable=unused-argument if data['error'] > 0: yield {'packetType': 'error', 'data': {'error': data}} break - time.sleep(0.1) yield {'packetType': 'success', 'data': {'error': 0}} @@ -1236,8 +1234,6 @@ def save_config(self, *args): # pylint: disable=unused-argument self.communicator.get_dst_mac(), self.communicator.get_src_mac(), sC) - # self.communicator.write(command_line) - # result = self.get_input_result('sC', timeout=2) result = yield self._message_center.build(command=command_line.actual_command, timeout=2) diff --git a/src/aceinna/devices/upgrade_workers/jump_bootloader_worker.py b/src/aceinna/devices/upgrade_workers/jump_bootloader_worker.py index 147827a..f25d002 100644 --- a/src/aceinna/devices/upgrade_workers/jump_bootloader_worker.py +++ b/src/aceinna/devices/upgrade_workers/jump_bootloader_worker.py @@ -67,7 +67,7 @@ def work(self): self._communicator.write(actual_command) time.sleep(0.5) response = helper.read_untils_have_data( - self._communicator, self._listen_packet, 100, 2000, payload_length_format) + self._communicator, self._listen_packet, 100, 1000, payload_length_format) if response is not None: break diff --git a/tests/test_ins401_upgrade.py b/tests/test_ins401_upgrade.py index 6bf5ff7..0967913 100644 --- a/tests/test_ins401_upgrade.py +++ b/tests/test_ins401_upgrade.py @@ -59,12 +59,13 @@ def loop_upgrade(EhternetProvider): if EhternetProvider.is_upgrading == False: time.sleep(10) loop_upgrade_cnt += 1 - print('loop_upgrade_cnt: %d' % loop_upgrade_cnt) + print('\nloop_upgrade_cnt: %d\n' % loop_upgrade_cnt) print(upgrade_cmd_str) - print('loop_upgrade_cnt: %d' % loop_upgrade_cnt, file = upgrade_log_file, flush = True) + print('\nloop_upgrade_cnt: %d\n' % loop_upgrade_cnt, file = upgrade_log_file, flush = True) + device_info = EhternetProvider._device_info_string.replace('\n', '') + print('{0}\n'.format(device_info), file = upgrade_log_file, flush = True) print(upgrade_cmd_str, file = upgrade_log_file, flush = True) - print(EhternetProvider._device_info_string, file = upgrade_log_file, flush = True) print("Upgrade INS401 firmware started at:[{0}].".format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')), file = upgrade_log_file, flush = True) EhternetProvider.upgrade_framework(upgrade_cmd_list) From 1d814a999ec985f8502ebd71f17749627c407063 Mon Sep 17 00:00:00 2001 From: lihaiyong Date: Fri, 9 Sep 2022 10:55:06 +0800 Subject: [PATCH 06/44] fix: After Failed to send the IMU "JI" command occasionally, add system reset, Ethernet reconnection, and IMU "JI" command resend functions --- .../devices/ins401/ethernet_provider_base.py | 12 +++-- .../upgrade_workers/jump_bootloader_worker.py | 48 ++++++++++++++++--- 2 files changed, 50 insertions(+), 10 deletions(-) diff --git a/src/aceinna/devices/ins401/ethernet_provider_base.py b/src/aceinna/devices/ins401/ethernet_provider_base.py index cb80916..ac05218 100644 --- a/src/aceinna/devices/ins401/ethernet_provider_base.py +++ b/src/aceinna/devices/ins401/ethernet_provider_base.py @@ -856,7 +856,9 @@ def get_upgrade_workers(self, firmware_content): ethernet_ack_enable, command=self.ins_jump_bootloader_command_generator, listen_packet=[0x01, 0xaa], - wait_timeout_after_command=ins_wait_timeout) + wait_timeout_after_command=ins_wait_timeout, + ethernet_reshake=None, + system_reset=None) ins_jump_bootloader_worker.group = UPGRADE_GROUP.FIRMWARE ins_jump_bootloader_worker.on( UPGRADE_EVENT.BEFORE_COMMAND, self.do_reshake) @@ -894,7 +896,9 @@ def get_upgrade_workers(self, firmware_content): ethernet_ack_enable, command=self.imu_jump_bootloader_command_generator, listen_packet=[0x4a, 0x49], - wait_timeout_after_command=15) + wait_timeout_after_command=15, + ethernet_reshake=self.do_reshake, + system_reset=self.send_system_reset_command) imu_boot_jump_bootloader_worker.on( UPGRADE_EVENT.BEFORE_COMMAND, self.do_reshake) imu_boot_jump_bootloader_worker.on( @@ -929,7 +933,9 @@ def get_upgrade_workers(self, firmware_content): ethernet_ack_enable, command=self.imu_jump_bootloader_command_generator, listen_packet=[0x4a, 0x49], - wait_timeout_after_command=15) + wait_timeout_after_command=15, + ethernet_reshake=self.do_reshake, + system_reset=self.send_system_reset_command) imu_jump_bootloader_worker.on( UPGRADE_EVENT.BEFORE_COMMAND, self.do_reshake) imu_jump_bootloader_worker.on( diff --git a/src/aceinna/devices/upgrade_workers/jump_bootloader_worker.py b/src/aceinna/devices/upgrade_workers/jump_bootloader_worker.py index f25d002..aa0ee44 100644 --- a/src/aceinna/devices/upgrade_workers/jump_bootloader_worker.py +++ b/src/aceinna/devices/upgrade_workers/jump_bootloader_worker.py @@ -7,6 +7,7 @@ from ...framework.command import Command from . import (UPGRADE_EVENT, UPGRADE_GROUP) +IMU_JI_CMD = [0x4a, 0x49] class JumpBootloaderWorker(UpgradeWorkerBase): '''Firmware upgrade worker @@ -32,12 +33,42 @@ def __init__(self, communicator, ack_enable, *args, **kwargs): if kwargs.get('wait_timeout_after_command'): self._wait_timeout_after_command = kwargs.get( 'wait_timeout_after_command') + + if kwargs.get('ethernet_reshake'): + self._ethernet_reshake = kwargs.get('ethernet_reshake') + if kwargs.get('system_reset'): + self._system_reset = kwargs.get('system_reset') + def stop(self): self._is_stopped = True def get_upgrade_content_size(self): return self.total + + def imu_jump_iap_command(self, actual_command, payload_length_format): + response = None + retry_cnt = int((self._wait_timeout_after_command+4)/5) + + for i in range(retry_cnt): + for i in range(5): + self._communicator.write(actual_command) + time.sleep(0.5) + response = helper.read_untils_have_data( + self._communicator, self._listen_packet, 100, 500, payload_length_format) + if response is not None: + break + + if response is None: + if self._system_reset and callable(self._system_reset): + self._system_reset() + + if self._ethernet_reshake and callable(self._ethernet_reshake): + self._ethernet_reshake() + else: + break + + return response def work(self): '''Send JI command @@ -63,13 +94,16 @@ def work(self): self._communicator.reset_buffer() if self.ack_enable: - for i in range(self._wait_timeout_after_command): - self._communicator.write(actual_command) - time.sleep(0.5) - response = helper.read_untils_have_data( - self._communicator, self._listen_packet, 100, 1000, payload_length_format) - if response is not None: - break + if self._listen_packet == IMU_JI_CMD: + response = self.imu_jump_iap_command(actual_command, payload_length_format) + else: + for i in range(self._wait_timeout_after_command): + self._communicator.write(actual_command) + time.sleep(0.5) + response = helper.read_untils_have_data( + self._communicator, self._listen_packet, 100, 1000, payload_length_format) + if response is not None: + break if(response is None): self.emit(UPGRADE_EVENT.ERROR, self._key, From fdf8fc0ebfa88ff2537f8696637b5683b5fcb34d Mon Sep 17 00:00:00 2001 From: lihaiyong Date: Fri, 9 Sep 2022 17:57:58 +0800 Subject: [PATCH 07/44] fix:1.Supports the CANFD version of STA9100 upgrade 2.The STA9100 does not work after the upgrade 3.Remove incorrect printing information --- .../devices/configs/ins401_predefine.py | 2 +- .../ethernet_sdk_9100_worker.py | Bin 159316 -> 156024 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/aceinna/devices/configs/ins401_predefine.py b/src/aceinna/devices/configs/ins401_predefine.py index f6e22a2..4f6f22c 100644 --- a/src/aceinna/devices/configs/ins401_predefine.py +++ b/src/aceinna/devices/configs/ins401_predefine.py @@ -26,4 +26,4 @@ def get_ins402_configuratin_file_mapping(): 'INS402':'ins402.json' } -APP_STR = ['RAWDATA', 'RTK', 'RTK_INS'] +APP_STR = ['RAWDATA', 'RTK', 'RTK_INS', 'RTK_INS_CANFD'] diff --git a/src/aceinna/devices/upgrade_workers/ethernet_sdk_9100_worker.py b/src/aceinna/devices/upgrade_workers/ethernet_sdk_9100_worker.py index 53766d5ffffb06f7abd8f972619f882be197d423..49abfa21e1dd4f264c844a85361a10bc2e8ff11a 100644 GIT binary patch literal 156024 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 O`t1SIcB8mFc<|p=kW$S6 literal 159316 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%0Aj{X&pph$V5uBL*#{~bFS3)N+po8s)d}1Yz!wx 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 dIUPPS^8+=zpZ)2(KRx;NU0GcxAs{SUiMmOcOg From 2c5aa30fad2100a2d755b09d9304e148999d18ee Mon Sep 17 00:00:00 2001 From: 805660485 <805660485@qq.com> Date: Tue, 13 Sep 2022 15:59:34 +0800 Subject: [PATCH 08/44] fix: modify %1 to %2 in run_with_bat.bat file to solve the issue : can not set lever arm by runing command --- run_with_bat.bat | Bin 116 -> 1144 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/run_with_bat.bat b/run_with_bat.bat index 305bc37b55fcc076ae4f5fb7e02c623e78a9ea01..7e4c7bb682a2373c57d089d25293c0510f5b3829 100644 GIT binary patch literal 1144 zcmb1;W|k5akgVa72?p{~b;p;6ny>>zWA=T{3THfwFGjCcxWJrDb#?SDO z#s;ql1}*jlU6b;I^vfKS429$Ys-dQ)5i1PY%gz1>Q+8s^2qON)PYg~ zmn-F4R-a3#+w(@aT$ClQ?4!m1sI+T4C+_N!3N>FG?{wGPUf5ltd*l((`zJD~OZ+poi-kLT`g;gi_Nz7QM%(+)->Z6@sbNqy^uKA%+ za_-XlG`V}J_z0parwOE>C0Zn*GC@BxUc&1OaD5#;%l4A)IHhT+jdOdvoY2ucFix#BWq-jocy1ZB)dlR~s8^8DC}>Fh~gBV_+4#Xdjw_1^!lM`V+vMZea51j&}1 aJTjgA>(Bpt_kM*c6t(<+=cHw9Y%Bo2@#$9p literal 116 zcmYMqu?mDR3;@u*Uy-Hbr8tXlZcggp;#kt01~p1s6#w2uxHrGV8TxT(y0))}ros|k zisU@8sCpOp6yoGA2@~g3+W)o29Cw~~h0TlNal=P|y#4~%!k919yu%{v3U3QhPL7E9 E0JpCuA^-pY From d7898fd13d248711348cf8c94fa03cee79e0b308 Mon Sep 17 00:00:00 2001 From: 805660485 <805660485@qq.com> Date: Tue, 13 Sep 2022 16:09:05 +0800 Subject: [PATCH 09/44] commit after run make.exe --- run_with_bat.bat | Bin 1144 -> 1144 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/run_with_bat.bat b/run_with_bat.bat index 7e4c7bb682a2373c57d089d25293c0510f5b3829..966da1f41b4a8ce8f6b149dc95368ffaf0c7a97c 100644 GIT binary patch delta 395 zcmV;60d)TO2>1w)pnr_4c=M$OQFL=E>HK!9;-oxmSCWtIF&;_NUbGOo7^l&MKbuR` zi4)s5N5kYmX^69~-r8%_LsDloIM2J1KYVp(;rdo0W6Nz{Ay=)tA6tksWDzo3S%^H0 zi8v&bJ)DBl@Jo~Y*;2Oz8hrcvK&t!`e$vAhX+T)=#C6x<34eH&BB*{oxCXZ6=*6Y; z1w)pnqiEX}hj^h)qitmwlj*!X;~yDoaNUnb|qv0A=OuPBFqLuu50} zDhHs7(w%Rb9D&9eupv8G`XmZiXAeb$ux&Mg&-OjjwqlDT$TZ?k^;*Dn5Jc2>w5!fw ze!T1xcNGL)cJVm>T4vU{k-CZ+RX3wwLdxpRnr2*r!-GL*+J7v&^XLUfUBMJW_9ZU< zbG3#C*(C+<;*^fJbfOJ>hB+Xr$-Wqvt|JM(B9-E~^=wWO)vWj^bk5SRV`ET}a!&){ zn2f3%@pq2Hs{rs3+f+pJwB_lI zLF>fgnB2TKIs=k}(6gZdUjlgg$*A>)B$d2tw}!Ztys=$OU99>!#H<~}$^T+v9jq0} z-2cSM`mA366<^7y`b>R>B$d2tw}!ZtynV~m%hcz_sFw#~^;jMMVqNFP_1^#W#2sQA m74?1b%hb!%bjie*2le^?y}kA4#;BJEV)Yd{|J=zrU0q%E1kZi| From f13cef9449ee788d4632ca1055f7839502972854 Mon Sep 17 00:00:00 2001 From: 805660485 <805660485@qq.com> Date: Tue, 13 Sep 2022 16:16:42 +0800 Subject: [PATCH 10/44] fix: modify 1% to 2% in run_with_bat.bat, to solve issue that can not set arm lever using command --- run_with_bat.bat | Bin 1144 -> 116 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/run_with_bat.bat b/run_with_bat.bat index 966da1f41b4a8ce8f6b149dc95368ffaf0c7a97c..cdf9b7a2fff794f897eb89d5750e6aa968a8b875 100644 GIT binary patch literal 116 zcmYMqu?mDR3;@u*Uy-HbrQj;UxjCtWi(^T18q_FlQT%%s;okfbXXwYF>Ds;?nhHyF zDU$QVqUv4XQ;3thBut!BY5&(6bKH5}6*e!5#|<9=^7;#43uC@a^A3xwE4(d4IXNQY E1Gmj4BLDyZ literal 1144 zcmb1;W|k5akgVa7L@@=w|7M@wvS!YB2=HI(zb9JfVar^ND$ zE%vj$uXGCEHg`Y##38d|^SXPtvadJ?rJGuu-#y8`rZoNGuP~+L)4B1A;cIuxM|T*f z2pUC4cG&cETBuC1ozrybgZJb=H-ombNY(uQ?Xc>PaNVWDVwnyRpN^DXf5=%eO=(4) z-43>GPhT8e`uS<>)W5--H-@Iq5?NP#$brLgWzpkz`sWW_GEw!lo378qC$;>m#@3oP zfqiLK-?9sLDIL7K+ShEV;oi541@o41c+c5?xK{Mj$%%TO-cQuxThS=Ym0-fUH8Q$& zF+NB8S9cN<4F3rLhVsO`^rF?KX7grp$T%$*0=_A& Date: Tue, 13 Sep 2022 15:59:34 +0800 Subject: [PATCH 11/44] fix: modify %1 to %2 in run_with_bat.bat file to solve the issue : can not set lever arm by runing command --- run_with_bat.bat | Bin 116 -> 1144 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/run_with_bat.bat b/run_with_bat.bat index 305bc37b55fcc076ae4f5fb7e02c623e78a9ea01..7e4c7bb682a2373c57d089d25293c0510f5b3829 100644 GIT binary patch literal 1144 zcmb1;W|k5akgVa72?p{~b;p;6ny>>zWA=T{3THfwFGjCcxWJrDb#?SDO z#s;ql1}*jlU6b;I^vfKS429$Ys-dQ)5i1PY%gz1>Q+8s^2qON)PYg~ zmn-F4R-a3#+w(@aT$ClQ?4!m1sI+T4C+_N!3N>FG?{wGPUf5ltd*l((`zJD~OZ+poi-kLT`g;gi_Nz7QM%(+)->Z6@sbNqy^uKA%+ za_-XlG`V}J_z0parwOE>C0Zn*GC@BxUc&1OaD5#;%l4A)IHhT+jdOdvoY2ucFix#BWq-jocy1ZB)dlR~s8^8DC}>Fh~gBV_+4#Xdjw_1^!lM`V+vMZea51j&}1 aJTjgA>(Bpt_kM*c6t(<+=cHw9Y%Bo2@#$9p literal 116 zcmYMqu?mDR3;@u*Uy-Hbr8tXlZcggp;#kt01~p1s6#w2uxHrGV8TxT(y0))}ros|k zisU@8sCpOp6yoGA2@~g3+W)o29Cw~~h0TlNal=P|y#4~%!k919yu%{v3U3QhPL7E9 E0JpCuA^-pY From 17ef11242d6a41b2d52b2b55db1ef51e8ff7663a Mon Sep 17 00:00:00 2001 From: lihaiyong Date: Thu, 15 Sep 2022 12:25:09 +0800 Subject: [PATCH 12/44] fix:Supports multiple Spaces and TAB keys to separate firmware upgrade commands --- src/aceinna/bootstrap/cli.py | 6 +++--- tests/test_ins401_upgrade.py | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/aceinna/bootstrap/cli.py b/src/aceinna/bootstrap/cli.py index 1c83311..a6dcc9c 100644 --- a/src/aceinna/bootstrap/cli.py +++ b/src/aceinna/bootstrap/cli.py @@ -7,6 +7,7 @@ import threading from os import getpid import psutil +import re # from .web import Webserver from ..models import WebserverArgs @@ -149,9 +150,8 @@ def setup_command_handler(self): token = input(">>") else: token = input("") - - self.input_string = token.split(" ") - + + self.input_string = re.split(r'\s+', token) if token.strip() == 'exit': break diff --git a/tests/test_ins401_upgrade.py b/tests/test_ins401_upgrade.py index 0967913..6c1454f 100644 --- a/tests/test_ins401_upgrade.py +++ b/tests/test_ins401_upgrade.py @@ -57,7 +57,7 @@ def loop_upgrade(EhternetProvider): while True: if EhternetProvider.is_upgrading == False: - time.sleep(10) + time.sleep(1) loop_upgrade_cnt += 1 print('\nloop_upgrade_cnt: %d\n' % loop_upgrade_cnt) print(upgrade_cmd_str) @@ -87,10 +87,10 @@ def handle_discovered(EhternetProvider): while True: if EhternetProvider.is_upgrading == False: if loop_upgrade_thread: - loop_upgrade_thread.join(1.0) + loop_upgrade_thread.join(0.5) else: if ntrip_client_thread: - ntrip_client_thread.join(1.0) + ntrip_client_thread.join(0.5) def kill_app(signal_int, call_back): From d26381e4ed9965dd864b5f2fdf7bfd379e957733 Mon Sep 17 00:00:00 2001 From: lihaiyong Date: Thu, 15 Sep 2022 17:01:36 +0800 Subject: [PATCH 13/44] fix: For the firmware upgrade loop test, multiple Spaces and TAB keys are supported to separate upgrade commands --- tests/test_ins401_upgrade.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/tests/test_ins401_upgrade.py b/tests/test_ins401_upgrade.py index 6c1454f..9364c06 100644 --- a/tests/test_ins401_upgrade.py +++ b/tests/test_ins401_upgrade.py @@ -5,6 +5,7 @@ import struct import threading import datetime +import re try: from aceinna.core.driver import (Driver, DriverEvents) @@ -47,13 +48,13 @@ def loop_upgrade(EhternetProvider): upgrade_log_file = open(r'.\upgrade_log.txt', 'w+') - # 'upgrade ./INS401_v28.04.20_RTK.bin sdk imu' - # 'upgrade ./INS401_v28.04.20_RTK.bin rtk ins' - # 'upgrade ./INS401_v28.04.20_RTK.bin rtk ins sdk imu' - # 'upgrade ./INS401_v28.04.20_RTK.bin' - upgrade_cmd_str = 'upgrade ./INS401_v28.04.20_RTK.bin sdk imu' + # 'upgrade ./INS401_v28.04.20.bin sdk imu' + # 'upgrade ./INS401_v28.04.20.bin rtk ins' + # 'upgrade ./INS401_v28.04.20.bin rtk ins sdk imu' + # 'upgrade ./INS401_v28.04.20.bin' + upgrade_cmd_str = 'upgrade ./INS401_28.04.20_test.bin imu' - upgrade_cmd_list = upgrade_cmd_str.split(' ') + upgrade_cmd_list = re.split(r'\s+', upgrade_cmd_str) while True: if EhternetProvider.is_upgrading == False: @@ -70,7 +71,7 @@ def loop_upgrade(EhternetProvider): EhternetProvider.upgrade_framework(upgrade_cmd_list) - if loop_upgrade_cnt == 300: + if loop_upgrade_cnt == 500: os._exit(1) time.sleep(5) From b72d224b6dac9c72d0ef7ffe53f31206614cfbea Mon Sep 17 00:00:00 2001 From: daichenghe <15052278082@163.com> Date: Fri, 16 Sep 2022 15:45:32 +0800 Subject: [PATCH 14/44] fix canfd set lever issue --- src/aceinna/bootstrap/canfd_driver.py | Bin 45082 -> 47054 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/aceinna/bootstrap/canfd_driver.py b/src/aceinna/bootstrap/canfd_driver.py index 42fde431437bee945cf4a5fcdcd564d4d551e976..6af5c1d98de592b7fff5e5e889acb45255d2880d 100644 GIT binary patch literal 47054 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 literal 45082 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 From ff62d1c35093d3bb47ce8dfef576df3e61cfb938 Mon Sep 17 00:00:00 2001 From: 805660485 <805660485@qq.com> Date: Wed, 21 Sep 2022 10:11:51 +0800 Subject: [PATCH 15/44] modify ins401.json file: change offset of INS_PitchAngle INS_RollAngle INS_HeadingAngle to -360 from -250 --- src/aceinna/setting/INS401/RTK_INS/ins401.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/aceinna/setting/INS401/RTK_INS/ins401.json b/src/aceinna/setting/INS401/RTK_INS/ins401.json index 50367dc..9a10ab1 100644 --- a/src/aceinna/setting/INS401/RTK_INS/ins401.json +++ b/src/aceinna/setting/INS401/RTK_INS/ins401.json @@ -1230,7 +1230,7 @@ "is_float": true, "is_signed": false, "name": "INS_PitchAngle", - "offset": "-250", + "offset": "-360", "start_bit": 104, "type": "uint16", "format": "11.4f", @@ -1243,7 +1243,7 @@ "is_float": true, "is_signed": false, "name": "INS_RollAngle", - "offset": "-250", + "offset": "-360", "start_bit": 120, "type": "uint16", "format": "11.4f", @@ -1256,7 +1256,7 @@ "is_float": true, "is_signed": false, "name": "INS_HeadingAngle", - "offset": "-250", + "offset": "-360", "start_bit": 136, "type": "uint16", "format": "11.4f", From 7ef4d2e250665b7d6c00c83462cb29b9ade22bc9 Mon Sep 17 00:00:00 2001 From: daichenghe <15052278082@163.com> Date: Wed, 21 Sep 2022 10:30:27 +0800 Subject: [PATCH 16/44] canfd run bat --- run_with_bat.bat | Bin 1144 -> 116 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/run_with_bat.bat b/run_with_bat.bat index 7e4c7bb682a2373c57d089d25293c0510f5b3829..cdf9b7a2fff794f897eb89d5750e6aa968a8b875 100644 GIT binary patch literal 116 zcmYMqu?mDR3;@u*Uy-HbrQj;UxjCtWi(^T18q_FlQT%%s;okfbXXwYF>Ds;?nhHyF zDU$QVqUv4XQ;3thBut!BY5&(6bKH5}6*e!5#|<9=^7;#43uC@a^A3xwE4(d4IXNQY E1Gmj4BLDyZ literal 1144 zcmb1;W|k5akgVa72?p{~b;p;6ny>>zWA=T{3THfwFGjCcxWJrDb#?SDO z#s;ql1}*jlU6b;I^vfKS429$Ys-dQ)5i1PY%gz1>Q+8s^2qON)PYg~ zmn-F4R-a3#+w(@aT$ClQ?4!m1sI+T4C+_N!3N>FG?{wGPUf5ltd*l((`zJD~OZ+poi-kLT`g;gi_Nz7QM%(+)->Z6@sbNqy^uKA%+ za_-XlG`V}J_z0parwOE>C0Zn*GC@BxUc&1OaD5#;%l4A)IHhT+jdOdvoY2ucFix#BWq-jocy1ZB)dlR~s8^8DC}>Fh~gBV_+4#Xdjw_1^!lM`V+vMZea51j&}1 aJTjgA>(Bpt_kM*c6t(<+=cHw9Y%Bo2@#$9p From d4968bd59ccfdedd9055cd9ab09d35835f856497 Mon Sep 17 00:00:00 2001 From: daichenghe <15052278082@163.com> Date: Thu, 22 Sep 2022 17:23:12 +0800 Subject: [PATCH 17/44] fix canfd python env issue --- run_with_bat.bat | 1 + 1 file changed, 1 insertion(+) diff --git a/run_with_bat.bat b/run_with_bat.bat index cdf9b7a..904bad4 100644 --- a/run_with_bat.bat +++ b/run_with_bat.bat @@ -1,4 +1,5 @@ set PYTHONPATH=.;./src/aceinna/devices/widgets;%PYTHONPATH% +set PATH=./src/aceinna/devices/widgets/can/interfaces/bmcan;%PATH% python main.py -i canfd %2 From 8aa12d7f980ddac7eb62943945be9fb80128c03f Mon Sep 17 00:00:00 2001 From: lihaiyong Date: Fri, 23 Sep 2022 14:32:36 +0800 Subject: [PATCH 18/44] fix: 1.support ins402 firmware fully upgrade, contains a default list of the modules which are rtk, ins, sdk and sdk_2. 2.support the firmware upgrade of a single optional module 3.Add ins402 NHC switch parameter configuration 4.Optimized the sta9100 firmware upgrade 5.Add ins402 loop firmware upgrade test code --- .../devices/ins401/ethernet_provider_base.py | 42 +++++- .../ins401/ethernet_provider_ins402.py | 12 +- .../ethernet_sdk_9100_worker.py | 20 +-- .../communicators/ethernet_100base_t1.py | 2 + .../setting/INS402/RTK_INS/ins402.json | 18 ++- tests/test_ins402_upgrade.py | 122 ++++++++++++++++++ 6 files changed, 192 insertions(+), 24 deletions(-) create mode 100644 tests/test_ins402_upgrade.py diff --git a/src/aceinna/devices/ins401/ethernet_provider_base.py b/src/aceinna/devices/ins401/ethernet_provider_base.py index ac05218..2278b90 100644 --- a/src/aceinna/devices/ins401/ethernet_provider_base.py +++ b/src/aceinna/devices/ins401/ethernet_provider_base.py @@ -31,6 +31,9 @@ GNZDA_DATA_LEN = 39 +SDK_UPGRADE_CHIP_FIRST = 1 +SDK_UPGRADE_CHIP_SECOND = 2 + class Provider_base(OpenDeviceBase): ''' INS401 Ethernet 100base-t1 provider @@ -74,13 +77,14 @@ def __init__(self, communicator, *args): self.rtk_upgrade_flag = False self.ins_upgrade_flag = False self.sdk_upgrade_flag = False + self.sdk_2_upgrade_flag = False self.imu_upgrade_flag = False self.imu_boot_upgrade_flag = False self.unit_sn = None self.bootloader_version = None self.rtk_crc = [] self.ins_crc = [] - self.sdk_upgrade_chip_type = 1 + def prepare_folders(self): ''' @@ -753,11 +757,23 @@ def build_worker(self, rule, content): sdk_upgrade_worker = EthernetSDK9100UpgradeWorker( self.communicator, lambda: helper.format_firmware_content(content), - self.sdk_upgrade_chip_type + SDK_UPGRADE_CHIP_FIRST ) sdk_upgrade_worker.group = UPGRADE_GROUP.FIRMWARE + return sdk_upgrade_worker + if rule == 'sdk_2' and self.sdk_2_upgrade_flag: + sdk2_upgrade_worker = EthernetSDK9100UpgradeWorker( + self.communicator, + lambda: helper.format_firmware_content(content), + SDK_UPGRADE_CHIP_SECOND + ) + sdk2_upgrade_worker.group = UPGRADE_GROUP.FIRMWARE + + return sdk2_upgrade_worker + + if self.imu_boot_upgrade_flag: if rule == 'imu_boot': ethernet_ack_enable = True @@ -830,12 +846,26 @@ def get_upgrade_workers(self, firmware_content): if rule == 'ins': ins_len = len(content) & 0xFFFF self.ins_crc = helper.calc_crc(content[0:ins_len]) + - worker = self.build_worker(rule, content) - if not worker: - continue + if rule == 'sdk': + if self.sdk_upgrade_flag: + worker = self.build_worker(rule, content) + if worker: + workers.append(worker) + + if self.sdk_2_upgrade_flag: + worker = self.build_worker('sdk_2', content) + if worker: + workers.append(worker) + + else: + worker = self.build_worker(rule, content) + if not worker: + continue - workers.append(worker) + workers.append(worker) + # wrap rtk and ins start_index = -1 diff --git a/src/aceinna/devices/ins401/ethernet_provider_ins402.py b/src/aceinna/devices/ins401/ethernet_provider_ins402.py index 87465f5..c41c67a 100644 --- a/src/aceinna/devices/ins401/ethernet_provider_ins402.py +++ b/src/aceinna/devices/ins401/ethernet_provider_ins402.py @@ -251,6 +251,7 @@ def upgrade_framework(self, params, *args): # pylint: disable=unused-argument self.rtk_upgrade_flag = False self.ins_upgrade_flag = False self.sdk_upgrade_flag = False + self.sdk_2_upgrade_flag = False self.imu_upgrade_flag = False self.imu_boot_upgrade_flag = False @@ -264,12 +265,10 @@ def upgrade_framework(self, params, *args): # pylint: disable=unused-argument self.ins_upgrade_flag = True if param == 'sdk': - self.sdk_upgrade_flag = True - self.sdk_upgrade_chip_type = 1 + self.sdk_upgrade_flag = True if param == 'sdk_2': - self.sdk_upgrade_flag = True - self.sdk_upgrade_chip_type = 2 + self.sdk_2_upgrade_flag = True if param == 'imu_boot': self.imu_boot_upgrade_flag = True @@ -283,8 +282,9 @@ def upgrade_framework(self, params, *args): # pylint: disable=unused-argument self.rtk_upgrade_flag = True self.ins_upgrade_flag = True self.sdk_upgrade_flag = True - self.imu_upgrade_flag = True - self.imu_boot_upgrade_flag = True + self.sdk_2_upgrade_flag = True + self.imu_upgrade_flag = False + self.imu_boot_upgrade_flag = False # start a thread to do upgrade if not self.is_upgrading: diff --git a/src/aceinna/devices/upgrade_workers/ethernet_sdk_9100_worker.py b/src/aceinna/devices/upgrade_workers/ethernet_sdk_9100_worker.py index 49abfa2..ac4b79c 100644 --- a/src/aceinna/devices/upgrade_workers/ethernet_sdk_9100_worker.py +++ b/src/aceinna/devices/upgrade_workers/ethernet_sdk_9100_worker.py @@ -1826,6 +1826,7 @@ def __init__(self, communicator, file_content, dev_9100=1): self.wait_erase_factor = 60000 self.erase_factors = 4 self.wait_erase_all = self.wait_erase_factor * self.erase_factors + self.wait_nvm_erase = 2000 self.wait_crc = 30000 self.passthrough_time = 15 @@ -1990,13 +1991,13 @@ def send_sync(self): return False sync = [0xfd, 0xc6, 0x49, 0x28] - retry_times = 20 + retry_times = self.sync_repeat_count is_matched = False for i in range(retry_times): self.send_packet(sync) time.sleep(0.05) - is_matched = self.read_until([0x3A, 0x54, 0x2C, 0xA6], self.wait_read_driver) + is_matched = self.read_until([0x3A, 0x54, 0x2C, 0xA6], self.wait_sync) if is_matched: break @@ -2259,7 +2260,7 @@ def erase_wait(self): def erase_nvm_wait(self): if self._is_stopped: return False - return self.read_until(0xCC, 1000) + return self.read_until(0xCC, self.wait_nvm_erase) def flash_write_pre(self, bin_data): data_to_sdk = bin_data[0:BLOCK_SIZE] @@ -2358,11 +2359,11 @@ def work(self): # need a device ping command, ping 5 times self._communicator.reset_buffer() - for i in range(50): + for i in range(100): self.write_wrapper( bytes([int(x, 16) for x in 'ff:ff:ff:ff:ff:ff'.split(':')]), self._communicator.get_src_mac(), pG, []) - time.sleep(0.2) + time.sleep(1) response = helper.read_untils_have_data( self._communicator, pG, 10, 1000) if response: @@ -2371,12 +2372,13 @@ def work(self): if not self.send_sdk_cmd_JS(): return self._raise_error('Send sdk JS command failed') - for i in range(50): + time.sleep(2) + for i in range(100): result = self._communicator.reshake_hand() if result: break else: - time.sleep(0.5) + time.sleep(1) for i in range(10): self.write_wrapper( @@ -2404,7 +2406,7 @@ def work(self): if not self.is_host_ready(): return self._raise_error('Host is not ready.') - if self.new_boot_enable: + if self.new_boot_enable: if not self.send_new_boot(): return self._raise_error('SDK boot failed') else: @@ -2437,7 +2439,7 @@ def work(self): return self._raise_error('CRC check fail') else: break - + if not self.send_sdk_cmd_JG(): return self._raise_error('Send sdk command JG fail') else: diff --git a/src/aceinna/framework/communicators/ethernet_100base_t1.py b/src/aceinna/framework/communicators/ethernet_100base_t1.py index b9952d2..80519a5 100644 --- a/src/aceinna/framework/communicators/ethernet_100base_t1.py +++ b/src/aceinna/framework/communicators/ethernet_100base_t1.py @@ -1,5 +1,6 @@ import time import collections +import os from scapy.all import sendp, conf, AsyncSniffer from ..constants import (BAUDRATE_LIST, INTERFACES) from ..utils.print import (print_red) @@ -97,6 +98,7 @@ def find_device(self, callback, retries=0, not_found_handler=None): if self.iface_confirmed is False: print_red('No available Ethernet card was found.') + os._exit(1) return None else: for i in range(100): diff --git a/src/aceinna/setting/INS402/RTK_INS/ins402.json b/src/aceinna/setting/INS402/RTK_INS/ins402.json index 20b68c9..e4372d7 100644 --- a/src/aceinna/setting/INS402/RTK_INS/ins402.json +++ b/src/aceinna/setting/INS402/RTK_INS/ins402.json @@ -1,7 +1,7 @@ { - "appVersion": "INS401 28.00.01", - "type": "INS401", - "description": "6-axis INS401 with INS application", + "appVersion": "INS401 31.00.01", + "type": "INS402", + "description": "6-axis INS402 with INS application", "initial":{ "userParameters": [ { @@ -93,6 +93,11 @@ "paramId": 18, "name": "rotation alignz", "value": 0.0 + }, + { + "paramId": 19, + "name": "NHC switch", + "value": 1 } ], "ntrip":[ @@ -269,6 +274,13 @@ "type": "float", "name": "rotation alignz", "value_accuracy": 4 + }, + { + "paramId": 19, + "category": "INS", + "paramType": "input", + "type": "uint32", + "name": "NHC switch" } ], "userMessages": { diff --git a/tests/test_ins402_upgrade.py b/tests/test_ins402_upgrade.py new file mode 100644 index 0000000..d0d4759 --- /dev/null +++ b/tests/test_ins402_upgrade.py @@ -0,0 +1,122 @@ +import sys +import time +import os +import signal +import struct +import threading +import datetime +import re + +try: + from aceinna.core.driver import (Driver, DriverEvents) + from aceinna.models.args import WebserverArgs + from aceinna.framework.utils import (helper) + from aceinna.framework.decorator import handle_application_exception + from aceinna.devices.ins401.ethernet_provider_ins402 import Provider as EhternetProvider + from aceinna.framework.constants import INTERFACES +except: # pylint: disable=bare-except + print('load package from local') + sys.path.append('./src') + from aceinna.core.driver import (Driver, DriverEvents) + from aceinna.models.args import WebserverArgs + from aceinna.framework.utils import (helper) + from aceinna.framework.decorator import handle_application_exception + from aceinna.devices.ins401.ethernet_provider_ins402 import Provider as EhternetProvider + from aceinna.framework.constants import INTERFACES + +# Only loop firmware upgrade +# def handle_discovered(device_provider): +# loop_upgrade_cnt = 0 + +# upgrade_log_file = open(r'.\upgrade_log.txt', 'w+') + +# while True: +# if device_provider.is_upgrading == False: +# loop_upgrade_cnt += 1 +# print('loop_upgrade_cnt: %d' % loop_upgrade_cnt) +# print('loop_upgrade_cnt: %d' % loop_upgrade_cnt, file = upgrade_log_file, flush = True) + +# device_provider.upgrade_framework(['upgrade', './INS401_28.03a.bin']) +# if loop_upgrade_cnt == 200: +# os._exit(1) + +# time.sleep(5) + +# loop firmware upgrade and log +def loop_upgrade(EhternetProvider): + loop_upgrade_cnt = 0 + + upgrade_log_file = open(r'.\upgrade_log.txt', 'w+') + + # 'upgrade ./INS402_31.00.01_test.bin sdk imu' + # 'upgrade ./INS402_31.00.01_test.bin rtk ins' + # 'upgrade ./INS402_31.00.01_test.bin rtk ins sdk imu' + # 'upgrade ./INS402_31.00.01_test.bin' + upgrade_cmd_str = 'upgrade ./INS402_31.00.01_test.bin' + + upgrade_cmd_list = re.split(r'\s+', upgrade_cmd_str) + + while True: + if EhternetProvider.is_upgrading == False: + time.sleep(1) + loop_upgrade_cnt += 1 + print('\nloop_upgrade_cnt: %d\n' % loop_upgrade_cnt) + print(upgrade_cmd_str) + + print('\nloop_upgrade_cnt: %d\n' % loop_upgrade_cnt, file = upgrade_log_file, flush = True) + device_info = EhternetProvider._device_info_string.replace('\n', '') + print('{0}\n'.format(device_info), file = upgrade_log_file, flush = True) + print(upgrade_cmd_str, file = upgrade_log_file, flush = True) + print("Upgrade INS401 firmware started at:[{0}].".format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')), file = upgrade_log_file, flush = True) + + EhternetProvider.upgrade_framework(upgrade_cmd_list) + + if loop_upgrade_cnt == 500: + os._exit(1) + + time.sleep(5) + +def handle_discovered(EhternetProvider): + ntrip_client_thread = None + loop_upgrade_thread = None + + loop_upgrade_thread = threading.Thread(target=loop_upgrade, args = (EhternetProvider,)) + ntrip_client_thread = threading.Thread(target=EhternetProvider.ntrip_client_thread) + loop_upgrade_thread.start() + ntrip_client_thread.start() + + while True: + if EhternetProvider.is_upgrading == False: + if loop_upgrade_thread: + loop_upgrade_thread.join(0.5) + else: + if ntrip_client_thread: + ntrip_client_thread.join(0.5) + + +def kill_app(signal_int, call_back): + '''Kill main thread + ''' + os.kill(os.getpid(), signal.SIGTERM) + sys.exit() + +@handle_application_exception +def simple_start(): + driver = Driver(WebserverArgs( + interface = INTERFACES.ETH_100BASE_T1, + device_type = 'INS402', + use_cli = True + )) + driver.on(DriverEvents.Discovered, handle_discovered) + driver.detect() + + +if __name__ == '__main__': + simple_start() + + while True: + signal.signal(signal.SIGINT, kill_app) + + + + From e055b04fe563663137ffdd45caee115aa19091ce Mon Sep 17 00:00:00 2001 From: lihaiyong Date: Fri, 23 Sep 2022 15:32:07 +0800 Subject: [PATCH 19/44] fix: Add the instructions of ins402 command line in the readme file --- README.md | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6184743..938c109 100644 --- a/README.md +++ b/README.md @@ -53,13 +53,16 @@ If user changed the GNSS/INS user settings in the "ins401.json" file, and wants ## Firmware Upgrade +# 1.INS401 Firmware Upgrade + INS401 supports In-Application Programming (IAP) firmware upgrade through the Ethernet interface, run the executable with the CLI option, and prompt for user input ```shell ./acenav -i 100base-t1 --cli # console display with connection information # prompt for user input, type in command and file path after the arrow symbol -# firmware is fully upgraded by default +# firmware is fully upgraded by default, contains a list of the modules which are +# rtk, ins and sdk >>upgrade # one or more firmware parts(rtk, ins, sdk, imu_boot(if firmware is merged), imu(if firmware is merged)) @@ -75,7 +78,34 @@ or After successful FW upgrade, the INS401 system restarts and starts logging data automatically. -## canfd app +# 2.INS402 Firmware Upgrade + +INS402 supports In-Application Programming (IAP) firmware upgrade through the Ethernet interface, run the executable with the CLI option, and prompt for user input + +```shell +./acenav -i 100base-t1 --device-type INS402 --cli +# console display with connection information +# prompt for user input, type in command and file path after the arrow symbol +# firmware is fully upgraded by default, contains a list of the modules which are +# rtk, ins, sdk and sdk_2 +>>upgrade + +# one or more firmware parts(rtk, ins, sdk, sdk_2, imu_boot(if firmware is merged), imu(if firmware is merged)) +# are optionally upgraded +>>upgrade rtk ins +or +>>upgrade sdk sdk_2 +or +>>upgrade sdk_2 +or +>>upgrade imu +or +>>upgrade imu_boot +``` + +After successful FW upgrade, the INS402 system restarts and starts logging data automatically. + +# 2 canfd app ### run please run $Env:PYTHONPATH="./src/aceinna/devices/widgets;"+$Env:PYTHONPATH in powershell From 8485b7c8d29959c06f4ef7bbdfee07f4ecedb8fc Mon Sep 17 00:00:00 2001 From: lihaiyong Date: Fri, 23 Sep 2022 15:52:00 +0800 Subject: [PATCH 20/44] fix:remove encryption --- src/aceinna/bootstrap/canfd_driver.py | Bin 47054 -> 45083 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/aceinna/bootstrap/canfd_driver.py b/src/aceinna/bootstrap/canfd_driver.py index 6af5c1d98de592b7fff5e5e889acb45255d2880d..4abe1c04abbf68a93b5f5c15e629fea6627be748 100644 GIT binary patch literal 45083 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 literal 47054 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 From d5a29e45653fc96e0b62a00b9d76068200d069c5 Mon Sep 17 00:00:00 2001 From: lihaiyong Date: Fri, 23 Sep 2022 16:33:26 +0800 Subject: [PATCH 21/44] fix: add change log --- HISTORY.md | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/HISTORY.md b/HISTORY.md index 0d15514..a5ee61f 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,7 +1,7 @@ # CHANGELOG --- -## 2.6.6, 08/25/2022 +## 2.6.6, 09/23/2022 - [INS401] The reply message 0xcc01 can't be received after the "JS" command is executed. - [INS401] GPZDA messages are saved to log, compatible with Sta9100 and Mosaic. @@ -15,6 +15,24 @@ - [INS401] After imu boot upgradation, the IMU fails to switch to boot because the baud rate of the IMU serial port is changed. - [INS401] The default firmware upgrades include RTK, INS, and STA9100 SDK. +- [INS401] The sta9100 upgrade improve +- [INS401] optimized the problem which is getting ins401 configuration parameters messages timeout +- [INS401] update the delay for jumping to the bootloader during the upgraded firmware +- [INS401C] canfd python env issue and canfd set lever issue +- [BEIDOU] modify beidou config file, add binary commands +- [BEIDOU] log unico raw data and update beidou.json +- [INS401] Ethernet cache queue increases +- [INS401] Updated the function of obtaining the botloader version number +- [INS401] optimized the problem which is getting ins401 configuration parameters messages timeout +- [INS401] update the delay for jumping to the bootloader during the upgraded firmware +- [INS401] After Failed to send the IMU "JI" command occasionally, add system reset, Ethernet reconnection, and IMU "JI" command resend functions +- [INS401] Supports multiple Spaces and TAB keys to separate firmware upgrade commands +- [INS401] modify ins401.json file: change offset of INS_PitchAngle INS_RollAngle INS_HeadingAngle to -360 from -250 +- [INS402] support ins402 firmware fully upgrade, contains a default list of the modules which are rtk, ins, sdk and sdk_2. +- [INS402] support the firmware upgrade of a single optional module +- [INS402] Add ins402 NHC switch parameter configuration +- [INS402] Optimized the sta9100 firmware upgrade +- [INS401] fix other bugs ## 2.6.5, 04/11/2022 From c01f46631afc3cf3335700eb44f48a6878cfd695 Mon Sep 17 00:00:00 2001 From: lihaiyong Date: Sun, 25 Sep 2022 07:06:55 +0800 Subject: [PATCH 22/44] fix: 1.Add ins402 parse command 2.update README file --- README.md | 27 +- src/aceinna/bootstrap/log_parser.py | 2 +- src/aceinna/framework/decorator.py | 2 +- .../setting/INS402/RTK_INS/ins402.json | 1104 ++++++++--------- 4 files changed, 578 insertions(+), 557 deletions(-) diff --git a/README.md b/README.md index 938c109..84ac23f 100644 --- a/README.md +++ b/README.md @@ -27,30 +27,51 @@ Run the CLI software and connect with the INS401 system for the first time, ther #### Log data -Run the following command to log all data output from Ethernet port to binary files, and streaming GNSS RTK correction data through Ethernet port to INS401 (e.g. on Ubuntu) +Run the following command to log all data output from Ethernet port to binary files, and streaming GNSS RTK correction data through Ethernet port to the unit (e.g. on Ubuntu) +## INS401 ```shell ./acenav -i 100base-t1 ``` +## INS402 +```shell +./acenav -i 100base-t1 --device-type INS402 +``` + A “data” subfolder will be created for the first time, and every session of data logging will be stored in a subfolder inside the “data” folder. #### Parse Data Run the following command to parse the logged data into text or csv files, +## ins401 + ```shell ./acenav parse -t ins401 -p ``` +## ins402 + +```shell +./acenav parse -t ins402 -p +``` + #### Save Settings -If user changed the GNSS/INS user settings in the "ins401.json" file, and wants to make it effective, run the data logging command with "-s" option like below, and the changed user settings will be saved into flash +If user changed the GNSS/INS user settings in the "ins401.json" or "ins402.json" file, and wants to make it effective, run the data logging command with "-s" option like below, and the changed user settings will be saved into flash + +## ins401 ```shell ./acenav -i 100base-t1 -s ``` +## ins402 + +```shell +./acenav -i 100base-t1 --device-type INS402 -s +``` ## Firmware Upgrade # 1.INS401 Firmware Upgrade @@ -105,7 +126,7 @@ or After successful FW upgrade, the INS402 system restarts and starts logging data automatically. -# 2 canfd app +# canfd app ### run please run $Env:PYTHONPATH="./src/aceinna/devices/widgets;"+$Env:PYTHONPATH in powershell diff --git a/src/aceinna/bootstrap/log_parser.py b/src/aceinna/bootstrap/log_parser.py index aa88654..78b6584 100644 --- a/src/aceinna/bootstrap/log_parser.py +++ b/src/aceinna/bootstrap/log_parser.py @@ -50,7 +50,7 @@ def do_parse(log_type, folder_path, kml_rate, dr_parse): lib.decode_openrtk_inceptio(bytes(file_path, encoding='utf8')) elif log_type == 'beidou': lib.decode_beidou(bytes(file_path, encoding='utf8'), kml_rate) - elif log_type == 'ins401': + elif log_type == 'ins401' or log_type == 'ins402': lib.decode_ins401(bytes(file_path, encoding='utf8'), bytes(dr_parse, encoding='utf8'), kml_rate) elif log_type == 'ins401c': lib.decode_ins401c(bytes(file_path, encoding='utf8')) diff --git a/src/aceinna/framework/decorator.py b/src/aceinna/framework/decorator.py index 7c99584..46e2035 100644 --- a/src/aceinna/framework/decorator.py +++ b/src/aceinna/framework/decorator.py @@ -15,7 +15,7 @@ INTERFACE_LIST = INTERFACES.list() MODES = ['default', 'cli', 'receiver'] -TYPES_OF_LOG = ['rtkl', 'ins401', 'beidou', 'ins401c'] +TYPES_OF_LOG = ['rtkl', 'ins401', 'beidou', 'ins401c', 'ins402'] KML_RATES = [1, 2, 5, 10] diff --git a/src/aceinna/setting/INS402/RTK_INS/ins402.json b/src/aceinna/setting/INS402/RTK_INS/ins402.json index e4372d7..0c5b536 100644 --- a/src/aceinna/setting/INS402/RTK_INS/ins402.json +++ b/src/aceinna/setting/INS402/RTK_INS/ins402.json @@ -99,17 +99,17 @@ "name": "NHC switch", "value": 1 } - ], - "ntrip":[ - { + ], + "ntrip":[ + { "name": "ip", "value": "58.215.20.43" }, { "name": "port", "value": 2201 - }, - { + }, + { "name": "mountPoint", "value": "WX02" }, @@ -121,217 +121,217 @@ "name": "password", "value": "888999" } - ] + ] }, - "userConfiguration": [ - { - "paramId": 0, - "category": "General", - "paramType": "disabled", - "type": "uint16", - "name": "Data CRC" - }, - { - "paramId": 1, - "category": "INS", - "paramType": "input", - "type": "float", - "name": "gnss lever arm x", - "value_accuracy": 4 - }, - { - "paramId": 2, - "category": "INS", - "paramType": "input", - "type": "float", - "name": "gnss lever arm y", - "value_accuracy": 4 - }, - { - "paramId": 3, - "category": "INS", - "paramType": "input", - "type": "float", - "name": "gnss lever arm z", - "value_accuracy": 4 - }, + "userConfiguration": [ + { + "paramId": 0, + "category": "General", + "paramType": "disabled", + "type": "uint16", + "name": "Data CRC" + }, + { + "paramId": 1, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "gnss lever arm x", + "value_accuracy": 4 + }, + { + "paramId": 2, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "gnss lever arm y", + "value_accuracy": 4 + }, + { + "paramId": 3, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "gnss lever arm z", + "value_accuracy": 4 + }, + { + "paramId": 4, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "vrp lever arm x", + "value_accuracy": 4 + }, + { + "paramId": 5, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "vrp lever arm y", + "value_accuracy": 4 + }, + { + "paramId": 6, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "vrp lever arm z", + "value_accuracy": 4 + }, + { + "paramId": 7, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "user lever arm x", + "value_accuracy": 4 + }, + { + "paramId": 8, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "user lever arm y", + "value_accuracy": 4 + }, + { + "paramId": 9, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "user lever arm z", + "value_accuracy": 4 + }, + { + "paramId": 10, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "rotation rbvx", + "value_accuracy": 4 + }, + { + "paramId": 11, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "rotation rbvy", + "value_accuracy": 4 + }, + { + "paramId": 12, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "rotation rbvz", + "value_accuracy": 4 + }, + { + "paramId": 13, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "sec lever arm x", + "value_accuracy": 4 + }, + { + "paramId": 14, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "sec lever arm y", + "value_accuracy": 4 + }, { - "paramId": 4, - "category": "INS", - "paramType": "input", - "type": "float", - "name": "vrp lever arm x", - "value_accuracy": 4 - }, - { - "paramId": 5, - "category": "INS", - "paramType": "input", - "type": "float", - "name": "vrp lever arm y", - "value_accuracy": 4 - }, - { - "paramId": 6, - "category": "INS", - "paramType": "input", - "type": "float", - "name": "vrp lever arm z", - "value_accuracy": 4 - }, + "paramId": 15, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "sec lever arm z", + "value_accuracy": 4 + }, { - "paramId": 7, - "category": "INS", - "paramType": "input", - "type": "float", - "name": "user lever arm x", - "value_accuracy": 4 - }, - { - "paramId": 8, - "category": "INS", - "paramType": "input", - "type": "float", - "name": "user lever arm y", - "value_accuracy": 4 - }, - { - "paramId": 9, - "category": "INS", - "paramType": "input", - "type": "float", - "name": "user lever arm z", - "value_accuracy": 4 - }, + "paramId": 16, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "rotation alignx", + "value_accuracy": 4 + }, { - "paramId": 10, - "category": "INS", - "paramType": "input", - "type": "float", - "name": "rotation rbvx", - "value_accuracy": 4 - }, - { - "paramId": 11, - "category": "INS", - "paramType": "input", - "type": "float", - "name": "rotation rbvy", - "value_accuracy": 4 - }, - { - "paramId": 12, - "category": "INS", - "paramType": "input", - "type": "float", - "name": "rotation rbvz", - "value_accuracy": 4 - }, - { - "paramId": 13, - "category": "INS", - "paramType": "input", - "type": "float", - "name": "sec lever arm x", - "value_accuracy": 4 - }, - { - "paramId": 14, - "category": "INS", - "paramType": "input", - "type": "float", - "name": "sec lever arm y", - "value_accuracy": 4 - }, - { - "paramId": 15, - "category": "INS", - "paramType": "input", - "type": "float", - "name": "sec lever arm z", - "value_accuracy": 4 - }, + "paramId": 17, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "rotation aligny", + "value_accuracy": 4 + }, { - "paramId": 16, - "category": "INS", - "paramType": "input", - "type": "float", - "name": "rotation alignx", - "value_accuracy": 4 - }, - { - "paramId": 17, - "category": "INS", - "paramType": "input", - "type": "float", - "name": "rotation aligny", - "value_accuracy": 4 - }, - { - "paramId": 18, - "category": "INS", - "paramType": "input", - "type": "float", - "name": "rotation alignz", - "value_accuracy": 4 - }, - { - "paramId": 19, - "category": "INS", - "paramType": "input", - "type": "uint32", - "name": "NHC switch" - } - ], - "userMessages": { - "inputPackets": [ - { - "name": "pG", - "description": "Get device serial number & factory ID", - "inputPayload": {}, - "responsePayload": { - "type": "string", - "name": "Device ID and SN" - } - }, - { - "name": "gV", - "description": "Get user app version", - "inputPayload": {}, - "responsePayload": { - "type": "string", - "name": "User Version" - } - }, - { - "name": "gA", - "description": "Get All Configuration Parameters", - "inputPayload": {}, - "responsePayload": { - "type": "userConfiguration", - "name": "Full Current Configuration" - } + "paramId": 18, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "rotation alignz", + "value_accuracy": 4 + }, + { + "paramId": 19, + "category": "INS", + "paramType": "input", + "type": "uint32", + "name": "NHC switch" + } + ], + "userMessages": { + "inputPackets": [ + { + "name": "pG", + "description": "Get device serial number & factory ID", + "inputPayload": {}, + "responsePayload": { + "type": "string", + "name": "Device ID and SN" + } + }, + { + "name": "gV", + "description": "Get user app version", + "inputPayload": {}, + "responsePayload": { + "type": "string", + "name": "User Version" + } }, { - "name": "sC", - "description": "Save Conifguration Parameters to Flash", - "inputPayload": {}, - "responsePayload": {} - }, - { - "name": "uP", - "description": "Update Configuration Parameter", - "inputPayload": { - "type": "userParameter", - "name": "Parameter to be Updated" - }, - "responsePayload": { - "type": "paramId", - "name": "ID of the Updated Parameter" - } - } - ], - "outputPackets": [ + "name": "gA", + "description": "Get All Configuration Parameters", + "inputPayload": {}, + "responsePayload": { + "type": "userConfiguration", + "name": "Full Current Configuration" + } + }, + { + "name": "sC", + "description": "Save Conifguration Parameters to Flash", + "inputPayload": {}, + "responsePayload": {} + }, + { + "name": "uP", + "description": "Update Configuration Parameter", + "inputPayload": { + "type": "userParameter", + "name": "Parameter to be Updated" + }, + "responsePayload": { + "type": "paramId", + "name": "ID of the Updated Parameter" + } + } + ], + "outputPackets": [ { "name": "s1", "isList": 0, @@ -377,363 +377,363 @@ "unit": "deg/s" } ], - "graphs": [ - { - "name": "Acceleration", - "units": "m/s^2", - "xAxis": {"name":"GPS_TimeofWeek", "unit":"sec"}, - "yAxes": [ - "x_accel", - "y_accel", - "z_accel" - ], - "colors": [ - "#FF0000", - "#00FF00", - "#0000FF" - ], - "yMax": 20 - }, - { - "name": "Angular-Rate", - "units": "deg/s", - "xAxis": {"name":"GPS_TimeofWeek", "unit":"sec"}, - "yAxes": [ - "x_rate", - "y_rate", - "z_rate" - ], - "colors": [ - "#FF0000", - "#00FF00", - "#0000FF" - ], - "yMax": 200 - } - ] + "graphs": [ + { + "name": "Acceleration", + "units": "m/s^2", + "xAxis": {"name":"GPS_TimeofWeek", "unit":"sec"}, + "yAxes": [ + "x_accel", + "y_accel", + "z_accel" + ], + "colors": [ + "#FF0000", + "#00FF00", + "#0000FF" + ], + "yMax": 20 + }, + { + "name": "Angular-Rate", + "units": "deg/s", + "xAxis": {"name":"GPS_TimeofWeek", "unit":"sec"}, + "yAxes": [ + "x_rate", + "y_rate", + "z_rate" + ], + "colors": [ + "#FF0000", + "#00FF00", + "#0000FF" + ], + "yMax": 200 + } + ] }, { - "name": "iN", + "name": "iN", "isList": 0, - "payload": [ - { - "type": "uint32", - "name": "GPS_Week", - "unit": "" - }, - { - "type": "double", - "name": "GPS_TimeofWeek", - "unit": "sec" - }, - { - "type": "uint8", - "name": "insStatus", - "unit": "" - }, - { - "type": "uint8", - "name": "insPositionType", - "unit": "" - }, - { - "type": "int32", - "name": "latitude", - "unit": "deg" - }, - { - "type": "int32", - "name": "longitude", - "unit": "deg" - }, - { - "type": "float", - "name": "height", - "unit": "m" - }, - { - "type": "int16", - "name": "velocityNorth", - "unit": "m/s" - }, - { - "type": "int16", - "name": "velocityEast", - "unit": "m/s" - }, - { - "type": "int16", - "name": "velocityUp", - "unit": "m/s" - }, - { - "type": "int16", - "name": "roll", - "unit": "m/s" - }, - { - "type": "int16", - "name": "pitch", - "unit": "m/s" - }, - { - "type": "int16", - "name": "heading", - "unit": "m/s" + "payload": [ + { + "type": "uint32", + "name": "GPS_Week", + "unit": "" + }, + { + "type": "double", + "name": "GPS_TimeofWeek", + "unit": "sec" + }, + { + "type": "uint8", + "name": "insStatus", + "unit": "" + }, + { + "type": "uint8", + "name": "insPositionType", + "unit": "" + }, + { + "type": "int32", + "name": "latitude", + "unit": "deg" + }, + { + "type": "int32", + "name": "longitude", + "unit": "deg" + }, + { + "type": "float", + "name": "height", + "unit": "m" + }, + { + "type": "int16", + "name": "velocityNorth", + "unit": "m/s" + }, + { + "type": "int16", + "name": "velocityEast", + "unit": "m/s" + }, + { + "type": "int16", + "name": "velocityUp", + "unit": "m/s" + }, + { + "type": "int16", + "name": "roll", + "unit": "m/s" + }, + { + "type": "int16", + "name": "pitch", + "unit": "m/s" + }, + { + "type": "int16", + "name": "heading", + "unit": "m/s" } - ], - "graphs": [] + ], + "graphs": [] }, { - "name": "d1", - "isList": 0, - "payload": [ - { - "type": "uint32", - "name": "GPS_Week", - "unit": "" - }, - { - "type": "double", - "name": "GPS_TimeofWeek", - "unit": "sec" - }, - { - "type": "int16", - "name": "latitude_std", - "unit": "" - }, - { - "type": "int16", - "name": "longitude_std", - "unit": "" - }, - { - "type": "int16", - "name": "height_std", - "unit": "" - }, - { - "type": "int16", - "name": "north_vel_std", - "unit": "" - }, - { - "type": "int16", - "name": "east_vel_std", - "unit": "" - }, - { - "type": "int16", - "name": "up_vel_std", - "unit": "" - }, - { - "type": "int16", - "name": "roll_std", - "unit": "" - }, - { - "type": "int16", - "name": "pitch_std", - "unit": "" - }, - { - "type": "int16", - "name": "heading_std", - "unit": "" - } - ], - "graphs": [] + "name": "d1", + "isList": 0, + "payload": [ + { + "type": "uint32", + "name": "GPS_Week", + "unit": "" + }, + { + "type": "double", + "name": "GPS_TimeofWeek", + "unit": "sec" + }, + { + "type": "int16", + "name": "latitude_std", + "unit": "" + }, + { + "type": "int16", + "name": "longitude_std", + "unit": "" + }, + { + "type": "int16", + "name": "height_std", + "unit": "" + }, + { + "type": "int16", + "name": "north_vel_std", + "unit": "" + }, + { + "type": "int16", + "name": "east_vel_std", + "unit": "" + }, + { + "type": "int16", + "name": "up_vel_std", + "unit": "" + }, + { + "type": "int16", + "name": "roll_std", + "unit": "" + }, + { + "type": "int16", + "name": "pitch_std", + "unit": "" + }, + { + "type": "int16", + "name": "heading_std", + "unit": "" + } + ], + "graphs": [] }, { - "name": "gN", - "isList": 0, - "payload": [ - { - "type": "uint32", - "name": "GPS_Week", - "unit": "" - }, - { - "type": "double", - "name": "GPS_TimeofWeek", - "unit": "sec" - }, - { - "type": "uint8", - "name": "positionMode", - "unit": "" - }, - { - "type": "int32", - "name": "latitude", - "unit": "deg" - }, - { - "type": "int32", - "name": "longitude", - "unit": "deg" - }, - { - "type": "float", - "name": "height", - "unit": "m" + "name": "gN", + "isList": 0, + "payload": [ + { + "type": "uint32", + "name": "GPS_Week", + "unit": "" + }, + { + "type": "double", + "name": "GPS_TimeofWeek", + "unit": "sec" }, { "type": "uint8", - "name": "numberOfSVs", - "unit": "" - }, - { - "type": "float", - "name": "hdop", - "unit": "" - }, - { - "type": "uint16", - "name": "diffage", - "unit": "" - }, - { - "type": "int16", - "name": "velocityNorth", - "unit": "m/s" - }, - { - "type": "int16", - "name": "velocityEast", - "unit": "m/s" - }, - { - "type": "int16", - "name": "velocityUp", - "unit": "m/s" - } - ], - "graphs": [] - }, + "name": "positionMode", + "unit": "" + }, + { + "type": "int32", + "name": "latitude", + "unit": "deg" + }, + { + "type": "int32", + "name": "longitude", + "unit": "deg" + }, + { + "type": "float", + "name": "height", + "unit": "m" + }, + { + "type": "uint8", + "name": "numberOfSVs", + "unit": "" + }, + { + "type": "float", + "name": "hdop", + "unit": "" + }, + { + "type": "uint16", + "name": "diffage", + "unit": "" + }, + { + "type": "int16", + "name": "velocityNorth", + "unit": "m/s" + }, + { + "type": "int16", + "name": "velocityEast", + "unit": "m/s" + }, + { + "type": "int16", + "name": "velocityUp", + "unit": "m/s" + } + ], + "graphs": [] + }, { - "name": "sT", - "isList": 0, - "payload": [ - { - "type": "uint32", - "name": "GPS_Week", - "unit": "" - }, - { - "type": "double", - "name": "GPS_TimeofWeek", - "unit": "sec" - }, - { - "type": "uint16", - "name": "year", - "unit": "" - }, - { - "type": "uint8", - "name": "mouth", - "unit": "" - }, - { - "type": "uint8", - "name": "day", - "unit": "" - }, - { - "type": "uint8", - "name": "hour", - "unit": "" - }, - { - "type": "uint8", - "name": "min", - "unit": "" - }, - { - "type": "uint8", - "name": "sec", - "unit": "" - }, + "name": "sT", + "isList": 0, + "payload": [ + { + "type": "uint32", + "name": "GPS_Week", + "unit": "" + }, + { + "type": "double", + "name": "GPS_TimeofWeek", + "unit": "sec" + }, + { + "type": "uint16", + "name": "year", + "unit": "" + }, + { + "type": "uint8", + "name": "mouth", + "unit": "" + }, + { + "type": "uint8", + "name": "day", + "unit": "" + }, + { + "type": "uint8", + "name": "hour", + "unit": "" + }, + { + "type": "uint8", + "name": "min", + "unit": "" + }, + { + "type": "uint8", + "name": "sec", + "unit": "" + }, - { - "type": "uint32", - "name": "imu_status", - "unit": "" - }, - { - "type": "float", - "name": "imu_temperature", - "unit": "sec" - }, - { - "type": "float", - "name": "mcu_temperature", - "unit": "" - } - ], - "graphs": [] - } - ] - }, + { + "type": "uint32", + "name": "imu_status", + "unit": "" + }, + { + "type": "float", + "name": "imu_temperature", + "unit": "sec" + }, + { + "type": "float", + "name": "mcu_temperature", + "unit": "" + } + ], + "graphs": [] + } + ] + }, "CLICommands": [{ - "name": "help", - "description": "CLI help menu", - "function": "help_handler" - }, - { - "name": "exit", - "description": "exit CLI", - "function": "" - }, - { - "name": "run", - "description": "Operations defined by users", - "function": "run_handler" - }, - { - "name": "save", - "description": "Save the configuration into EEPROM", - "function": "save_handler" - }, - { - "name": "connect", - "description": "Find OpenIMU device", - "function": "connect_handler" - }, - { - "name": "upgrade", - "description": "Upgrade firmware", - "function": "upgrade_handler" - }, - { - "name": "record", - "description": "Record output data of OpenIMU on local machine", - "function": "record_handler" - }, - { - "name": "stop", - "description": "stop recording outputs on local machine", - "function": "stop_handler" - }, - { - "name": "server_start", - "description": "start server thread and must use exit command to quit", - "function": "server_start_handler" - }, - { - "name": "get", - "description": "Read the current configuration and output data", - "function": "get_handler" - }, - { - "name": "set", - "description": "Write parameters to OpenIMU", - "function": "set_handler" - } - ], + "name": "help", + "description": "CLI help menu", + "function": "help_handler" + }, + { + "name": "exit", + "description": "exit CLI", + "function": "" + }, + { + "name": "run", + "description": "Operations defined by users", + "function": "run_handler" + }, + { + "name": "save", + "description": "Save the configuration into EEPROM", + "function": "save_handler" + }, + { + "name": "connect", + "description": "Find OpenIMU device", + "function": "connect_handler" + }, + { + "name": "upgrade", + "description": "Upgrade firmware", + "function": "upgrade_handler" + }, + { + "name": "record", + "description": "Record output data of OpenIMU on local machine", + "function": "record_handler" + }, + { + "name": "stop", + "description": "stop recording outputs on local machine", + "function": "stop_handler" + }, + { + "name": "server_start", + "description": "start server thread and must use exit command to quit", + "function": "server_start_handler" + }, + { + "name": "get", + "description": "Read the current configuration and output data", + "function": "get_handler" + }, + { + "name": "set", + "description": "Write parameters to OpenIMU", + "function": "set_handler" + } + ], "canfd_settings": { "canfd_type": "canfd", From f4985de5f9193bc2a4a7279c84855d087d0540de Mon Sep 17 00:00:00 2001 From: lihaiyong Date: Mon, 26 Sep 2022 09:01:55 +0800 Subject: [PATCH 23/44] fix: update README file --- README.md | 37 ++++++++++++++----------------------- 1 file changed, 14 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 84ac23f..b1f6f9a 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ If user changed the GNSS/INS user settings in the "ins401.json" or "ins402.json" ``` ## Firmware Upgrade -# 1.INS401 Firmware Upgrade +# INS401 Firmware Upgrade INS401 supports In-Application Programming (IAP) firmware upgrade through the Ethernet interface, run the executable with the CLI option, and prompt for user input @@ -82,24 +82,21 @@ INS401 supports In-Application Programming (IAP) firmware upgrade through the Et ./acenav -i 100base-t1 --cli # console display with connection information # prompt for user input, type in command and file path after the arrow symbol -# firmware is fully upgraded by default, contains a list of the modules which are +# firmware is fully upgraded by default, contains a list of the components which are # rtk, ins and sdk >>upgrade -# one or more firmware parts(rtk, ins, sdk, imu_boot(if firmware is merged), imu(if firmware is merged)) +# one or more firmware components (rtk, ins, sdk, imu_boot(if firmware is merged), imu(if firmware is merged)) # are optionally upgraded ->>upgrade rtk ins -or ->>upgrade sdk -or ->>upgrade imu -or ->>upgrade imu_boot +>>upgrade + +eg: +>>upgrade rtk ins sdk imu_boot imu ``` After successful FW upgrade, the INS401 system restarts and starts logging data automatically. -# 2.INS402 Firmware Upgrade +# INS402 Firmware Upgrade INS402 supports In-Application Programming (IAP) firmware upgrade through the Ethernet interface, run the executable with the CLI option, and prompt for user input @@ -107,21 +104,15 @@ INS402 supports In-Application Programming (IAP) firmware upgrade through the Et ./acenav -i 100base-t1 --device-type INS402 --cli # console display with connection information # prompt for user input, type in command and file path after the arrow symbol -# firmware is fully upgraded by default, contains a list of the modules which are +# firmware is fully upgraded by default, contains a list of the components which are # rtk, ins, sdk and sdk_2 >>upgrade -# one or more firmware parts(rtk, ins, sdk, sdk_2, imu_boot(if firmware is merged), imu(if firmware is merged)) -# are optionally upgraded ->>upgrade rtk ins -or ->>upgrade sdk sdk_2 -or ->>upgrade sdk_2 -or ->>upgrade imu -or ->>upgrade imu_boot +# one or more firmware components(rtk, ins, sdk, sdk_2, imu_boot(if firmware is merged), imu(if firmware is merged)) are optionally upgraded +>>upgrade + +eg: +>>upgrade rtk ins sdk sdk_2 imu_boot imu ``` After successful FW upgrade, the INS402 system restarts and starts logging data automatically. From 9562ab14e7bb7d070828377555555b058e2b8508 Mon Sep 17 00:00:00 2001 From: lihaiyong Date: Tue, 27 Sep 2022 09:11:07 +0800 Subject: [PATCH 24/44] fix:Add parameter configuration type to be filtered to resolve timeout issue --- README.md | 4 ++-- .../framework/communicators/ethernet_100base_t1.py | 9 ++++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index b1f6f9a..73a0066 100644 --- a/README.md +++ b/README.md @@ -91,7 +91,7 @@ INS401 supports In-Application Programming (IAP) firmware upgrade through the Et >>upgrade eg: ->>upgrade rtk ins sdk imu_boot imu +>>upgrade rtk ins sdk imu_boot imu ``` After successful FW upgrade, the INS401 system restarts and starts logging data automatically. @@ -132,4 +132,4 @@ set "canfd_type": "canfd", set "canfd_type": "can" #### Parse -***python main.py parse -t ins401c -p *** +./acenav parse -t ins401c -p diff --git a/src/aceinna/framework/communicators/ethernet_100base_t1.py b/src/aceinna/framework/communicators/ethernet_100base_t1.py index 80519a5..ff5a5e3 100644 --- a/src/aceinna/framework/communicators/ethernet_100base_t1.py +++ b/src/aceinna/framework/communicators/ethernet_100base_t1.py @@ -7,9 +7,11 @@ from ..utils import helper from ..communicator import Communicator -UPGRADE_PACKETS = [b'\x01\xcc', b'\x01\xaa', b'\x02\xaa', b'\x03\xaa', b'\x04\xaa', - b'\x05\xaa', b'\x06\xaa', b'\x07\xaa', b'\x08\xaa', b'\x4a\x49', b'\x4a\x41', b'\x57\x41', b'\x0a\xaa'] +# Add parameter configuration type to resove timeout issues +OTHER_FILTER_PACKETS = [b'\x02\xcc', b'\x03\xcc', b'\x03\xcc', b'\x04\xcc', b'\x05\xcc', b'\x06\xcc'] +UPGRADE_PACKETS = [b'\x01\xcc', b'\x01\xaa', b'\x02\xaa', b'\x03\xaa', b'\x04\xaa',b'\x05\xaa', + b'\x06\xaa', b'\x07\xaa', b'\x08\xaa', b'\x4a\x49', b'\x4a\x41', b'\x57\x41', b'\x0a\xaa'] class Ethernet(Communicator): '''Ethernet''' @@ -198,7 +200,8 @@ def handle_recive_packet(self, packet): self.use_length_as_protocol = False if self.upgrading_flag: - if UPGRADE_PACKETS.__contains__(packet_type): + if UPGRADE_PACKETS.__contains__(packet_type)\ + or OTHER_FILTER_PACKETS.__contains__(packet_type): self.receive_cache.append(packet_raw[2:]) else: self.receive_cache.append(packet_raw[2:]) From c2111f757cf759d4e7da9a6ce9475d8d916864f7 Mon Sep 17 00:00:00 2001 From: lihaiyong Date: Tue, 27 Sep 2022 09:26:06 +0800 Subject: [PATCH 25/44] fix: Remove duplicate parameter configuration type and modify comments --- src/aceinna/framework/communicators/ethernet_100base_t1.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/aceinna/framework/communicators/ethernet_100base_t1.py b/src/aceinna/framework/communicators/ethernet_100base_t1.py index ff5a5e3..4b649f8 100644 --- a/src/aceinna/framework/communicators/ethernet_100base_t1.py +++ b/src/aceinna/framework/communicators/ethernet_100base_t1.py @@ -7,8 +7,8 @@ from ..utils import helper from ..communicator import Communicator -# Add parameter configuration type to resove timeout issues -OTHER_FILTER_PACKETS = [b'\x02\xcc', b'\x03\xcc', b'\x03\xcc', b'\x04\xcc', b'\x05\xcc', b'\x06\xcc'] +# Add parameter configuration type to be filtered to resolve timeout issue +OTHER_FILTER_PACKETS = [b'\x02\xcc', b'\x03\xcc', b'\x04\xcc', b'\x05\xcc', b'\x06\xcc'] UPGRADE_PACKETS = [b'\x01\xcc', b'\x01\xaa', b'\x02\xaa', b'\x03\xaa', b'\x04\xaa',b'\x05\xaa', b'\x06\xaa', b'\x07\xaa', b'\x08\xaa', b'\x4a\x49', b'\x4a\x41', b'\x57\x41', b'\x0a\xaa'] From a1a8f5a30ef89f48f470060c60c9876d43c5eec4 Mon Sep 17 00:00:00 2001 From: lihaiyong Date: Tue, 27 Sep 2022 16:18:56 +0800 Subject: [PATCH 26/44] fix: In the process of INS401 and INS402 loop firmware upgrade, the log file is saved from C disk to the current project directory.In addition the problem of setting parameters timeout is fixed. --- .../devices/ins401/ethernet_provider_base.py | 2 ++ .../ins401/ethernet_provider_ins401.py | 1 + .../ins401/ethernet_provider_ins402.py | 1 + tests/test_ins401_upgrade.py | 27 +++++------------ tests/test_ins402_upgrade.py | 29 ++++++------------- 5 files changed, 21 insertions(+), 39 deletions(-) diff --git a/src/aceinna/devices/ins401/ethernet_provider_base.py b/src/aceinna/devices/ins401/ethernet_provider_base.py index 2278b90..3336169 100644 --- a/src/aceinna/devices/ins401/ethernet_provider_base.py +++ b/src/aceinna/devices/ins401/ethernet_provider_base.py @@ -84,6 +84,7 @@ def __init__(self, communicator, *args): self.bootloader_version = None self.rtk_crc = [] self.ins_crc = [] + self.loop_upgrade_flag = False def prepare_folders(self): @@ -1098,6 +1099,7 @@ def after_upgrade_completed(self): and not self.is_in_bootloader: threading.Thread(target=self.ntrip_client_thread).start() + self.loop_upgrade_flag = False pass # command list diff --git a/src/aceinna/devices/ins401/ethernet_provider_ins401.py b/src/aceinna/devices/ins401/ethernet_provider_ins401.py index bfbe5c1..9e0b8f4 100644 --- a/src/aceinna/devices/ins401/ethernet_provider_ins401.py +++ b/src/aceinna/devices/ins401/ethernet_provider_ins401.py @@ -291,6 +291,7 @@ def upgrade_framework(self, params, *args): # pylint: disable=unused-argument if not self.is_upgrading: self.is_upgrading = True self._message_center.pause() + self.loop_upgrade_flag = True if self._logger is not None: self._logger.stop_user_log() diff --git a/src/aceinna/devices/ins401/ethernet_provider_ins402.py b/src/aceinna/devices/ins401/ethernet_provider_ins402.py index c41c67a..19b2b1e 100644 --- a/src/aceinna/devices/ins401/ethernet_provider_ins402.py +++ b/src/aceinna/devices/ins401/ethernet_provider_ins402.py @@ -290,6 +290,7 @@ def upgrade_framework(self, params, *args): # pylint: disable=unused-argument if not self.is_upgrading: self.is_upgrading = True self._message_center.pause() + self.loop_upgrade_flag = True if self._logger is not None: self._logger.stop_user_log() diff --git a/tests/test_ins401_upgrade.py b/tests/test_ins401_upgrade.py index 9364c06..e85e8fb 100644 --- a/tests/test_ins401_upgrade.py +++ b/tests/test_ins401_upgrade.py @@ -24,23 +24,7 @@ from aceinna.devices.ins401.ethernet_provider_ins401 import Provider as EhternetProvider from aceinna.framework.constants import INTERFACES -# Only loop firmware upgrade -# def handle_discovered(device_provider): -# loop_upgrade_cnt = 0 - -# upgrade_log_file = open(r'.\upgrade_log.txt', 'w+') - -# while True: -# if device_provider.is_upgrading == False: -# loop_upgrade_cnt += 1 -# print('loop_upgrade_cnt: %d' % loop_upgrade_cnt) -# print('loop_upgrade_cnt: %d' % loop_upgrade_cnt, file = upgrade_log_file, flush = True) - -# device_provider.upgrade_framework(['upgrade', './INS401_28.03a.bin']) -# if loop_upgrade_cnt == 200: -# os._exit(1) - -# time.sleep(5) +setattr(sys, '__dev__', True) # loop firmware upgrade and log def loop_upgrade(EhternetProvider): @@ -52,11 +36,15 @@ def loop_upgrade(EhternetProvider): # 'upgrade ./INS401_v28.04.20.bin rtk ins' # 'upgrade ./INS401_v28.04.20.bin rtk ins sdk imu' # 'upgrade ./INS401_v28.04.20.bin' - upgrade_cmd_str = 'upgrade ./INS401_28.04.20_test.bin imu' + upgrade_cmd_str = 'upgrade ./INS401_v28.05.bin rtk ins' upgrade_cmd_list = re.split(r'\s+', upgrade_cmd_str) while True: + if EhternetProvider.loop_upgrade_flag: + time.sleep(1) + continue + if EhternetProvider.is_upgrading == False: time.sleep(1) loop_upgrade_cnt += 1 @@ -86,7 +74,8 @@ def handle_discovered(EhternetProvider): ntrip_client_thread.start() while True: - if EhternetProvider.is_upgrading == False: + if (EhternetProvider.is_upgrading == False)\ + and (EhternetProvider.loop_upgrade_flag == False): if loop_upgrade_thread: loop_upgrade_thread.join(0.5) else: diff --git a/tests/test_ins402_upgrade.py b/tests/test_ins402_upgrade.py index d0d4759..ef8ec14 100644 --- a/tests/test_ins402_upgrade.py +++ b/tests/test_ins402_upgrade.py @@ -23,24 +23,8 @@ from aceinna.framework.decorator import handle_application_exception from aceinna.devices.ins401.ethernet_provider_ins402 import Provider as EhternetProvider from aceinna.framework.constants import INTERFACES - -# Only loop firmware upgrade -# def handle_discovered(device_provider): -# loop_upgrade_cnt = 0 - -# upgrade_log_file = open(r'.\upgrade_log.txt', 'w+') - -# while True: -# if device_provider.is_upgrading == False: -# loop_upgrade_cnt += 1 -# print('loop_upgrade_cnt: %d' % loop_upgrade_cnt) -# print('loop_upgrade_cnt: %d' % loop_upgrade_cnt, file = upgrade_log_file, flush = True) - -# device_provider.upgrade_framework(['upgrade', './INS401_28.03a.bin']) -# if loop_upgrade_cnt == 200: -# os._exit(1) - -# time.sleep(5) + +setattr(sys, '__dev__', True) # loop firmware upgrade and log def loop_upgrade(EhternetProvider): @@ -52,11 +36,15 @@ def loop_upgrade(EhternetProvider): # 'upgrade ./INS402_31.00.01_test.bin rtk ins' # 'upgrade ./INS402_31.00.01_test.bin rtk ins sdk imu' # 'upgrade ./INS402_31.00.01_test.bin' - upgrade_cmd_str = 'upgrade ./INS402_31.00.01_test.bin' + upgrade_cmd_str = 'upgrade ./INS402_31.00.01_test.bin rtk ins' upgrade_cmd_list = re.split(r'\s+', upgrade_cmd_str) while True: + if EhternetProvider.loop_upgrade_flag: + time.sleep(1) + continue + if EhternetProvider.is_upgrading == False: time.sleep(1) loop_upgrade_cnt += 1 @@ -86,7 +74,8 @@ def handle_discovered(EhternetProvider): ntrip_client_thread.start() while True: - if EhternetProvider.is_upgrading == False: + if (EhternetProvider.is_upgrading == False)\ + and EhternetProvider.loop_upgrade_flag == False: if loop_upgrade_thread: loop_upgrade_thread.join(0.5) else: From 695ae0a7e4b496fcfe1a660ce142d2252d6b034f Mon Sep 17 00:00:00 2001 From: 805660485 <805660485@qq.com> Date: Mon, 10 Oct 2022 13:30:08 +0800 Subject: [PATCH 27/44] modify canfd setings, add can_id 0x181 0x282 --- src/aceinna/setting/INS401/RTK_INS/ins401.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/aceinna/setting/INS401/RTK_INS/ins401.json b/src/aceinna/setting/INS401/RTK_INS/ins401.json index 9a10ab1..5ee4a7d 100644 --- a/src/aceinna/setting/INS401/RTK_INS/ins401.json +++ b/src/aceinna/setting/INS401/RTK_INS/ins401.json @@ -648,7 +648,7 @@ { "canfd_type": "canfd", "is_parse": true, - "canfd_id": [384, 640, 641, 1412], + "canfd_id": [384, 640, 641, 1412, 385, 642], "canfd_remote_id":[1408, 1409, 1410, 1411], "can_id": [384, 385, 386, 387, 388, 389, 390, 391, 392, 640], "can_config":{ From 9f122b62f81a4ab5a9d55b9779b03d81182a5b74 Mon Sep 17 00:00:00 2001 From: daichenghe <15052278082@163.com> Date: Mon, 10 Oct 2022 15:23:49 +0800 Subject: [PATCH 28/44] add canfd gnss&&dia decoder --- src/aceinna/libs/UserDecoderLib.dll | Bin 152576 -> 166400 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/aceinna/libs/UserDecoderLib.dll b/src/aceinna/libs/UserDecoderLib.dll index 91b05318cef4c83b9daaa341e22170abf0967258..0be3888c28212ae870a57d5fdbb89f197338f735 100644 GIT binary patch literal 166400 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 F|Gy%1qALIZ literal 152576 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%0AWMTDiF^w?QrDC^+u|yZ=QwahSCB87D|Maxb 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 ArT_o{ From ec0374ec8ef52c36acddfd1814307e5183b323e8 Mon Sep 17 00:00:00 2001 From: lihaiyong Date: Wed, 12 Oct 2022 09:57:37 +0800 Subject: [PATCH 29/44] fix:update user decoder lib --- src/aceinna/libs/UserDecoderLib.dll | Bin 166400 -> 167424 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/aceinna/libs/UserDecoderLib.dll b/src/aceinna/libs/UserDecoderLib.dll index 0be3888c28212ae870a57d5fdbb89f197338f735..4976ab4b2bfe7952928b40ccc654388215f63516 100644 GIT binary patch delta 62713 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 z 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

ybzR{Cg>ua7IDCOw-7B1aiXd2oazO za}dm+3GFlVggr0fNda=g0SKwj>sCRG1G5tm@xbE<2SGc|ztdd3;X^EJK~7i~p#(Hx zeT2uLO~7|A>U43y z#2e^zkS77JA{2ox28Mo$wDG7$;A{laPXd0W=n|m&Eh#qvFMfu82K{1S``c&&N^1r2 z?H4kl3|RjwbUI7`n}CG~si2F2?e0lKj+4fYlgc#V9B0Fd2J{KNOVNQr6COe^PSFKk z1sx39J_l^28Dz%^Vwxztd4l^9LuABr0 zZKcWL?;4^S!4N(~7zCQ|SA;~+j#IxhU0mN6cfODl`XcNFO&Ew!0NMnMM4(g74E)>= zH}YtX65zBZprMlld=$j+EIbVvG-cYTU}Oe59(WMbt+}8brdh@GYfsFsmP1bXJVIT} zeB!%=+E=Ymm7q(2d)vs&@_?5kF;@?HF)*VGRuMpF18Jr-7j#@tYt);A-LTKP1toD4AVsjIAa2C>I9DLHrs0i6VN+Yg;2*auqM9z;pOR6Y0N zKHw13_8ewf%XzxMFF;#BmjHh{%Cs?{tDbXp@%$V39;zO4!j1@MK%0TfkHc}$sle?g z-~{L#;9@+`{XGxke;EkRljxcAb%`wMz?g?_J|zh1w_{tw1jL%;w4 From 3f5d8cc6a7e1db21562552f8002473a9723dbb31 Mon Sep 17 00:00:00 2001 From: daichenghe <15052278082@163.com> Date: Thu, 13 Oct 2022 18:31:43 +0800 Subject: [PATCH 30/44] log corrimu data --- src/aceinna/devices/ins401/ethernet_provider_ins402.py | 2 +- src/aceinna/devices/parsers/ins401_message_parser.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/aceinna/devices/ins401/ethernet_provider_ins402.py b/src/aceinna/devices/ins401/ethernet_provider_ins402.py index 19b2b1e..fa2558d 100644 --- a/src/aceinna/devices/ins401/ethernet_provider_ins402.py +++ b/src/aceinna/devices/ins401/ethernet_provider_ins402.py @@ -212,7 +212,7 @@ def on_receive_output_packet(self, packet_type, data, *args, **kwargs): if packet_type == b'\x06\n': if self.rtcm_rover_logf: self.rtcm_rover_logf.write(bytes(data)) - elif packet_type == b'\x08\n': + elif packet_type == b'\x0c\x0a': if self.rtcm_rover2_logf: self.rtcm_rover2_logf.write(bytes(data)) else: diff --git a/src/aceinna/devices/parsers/ins401_message_parser.py b/src/aceinna/devices/parsers/ins401_message_parser.py index 7319298..abefdae 100644 --- a/src/aceinna/devices/parsers/ins401_message_parser.py +++ b/src/aceinna/devices/parsers/ins401_message_parser.py @@ -16,7 +16,7 @@ INPUT_PACKETS = [b'\x01\xcc', b'\x02\xcc', b'\x03\xcc', b'\x04\xcc', b'\x05\xcc',b'\x06\xcc', b'\x01\x0b', b'\x02\x0b', b'\x09\x0a', b'\x09\xaa', b'\x01\xfc'] -OTHER_OUTPUT_PACKETS = [b'\x01\n', b'\x02\n', b'\x03\n', b'\x04\n', b'\x05\n', b'\x06\n', b'\x08\n',b'\x09\x0a', b'\x0a\x0a', b'\x0b\x0a', +OTHER_OUTPUT_PACKETS = [b'\x01\n', b'\x02\n', b'\x03\n', b'\x04\n', b'\x05\n', b'\x06\n', b'\x08\n',b'\x09\x0a', b'\x0a\x0a', b'\x0b\x0a', b'\x0c\x0a', b'\x07\n', b'\x09\xaa', b'\x44\x4D', b'\x49\x67', b'\x64\x66'] From 21337aed448e50609f5a203560406f1b36dba92a Mon Sep 17 00:00:00 2001 From: daichenghe <15052278082@163.com> Date: Mon, 17 Oct 2022 15:11:40 +0800 Subject: [PATCH 31/44] fix set lever format issue --- src/aceinna/bootstrap/canfd_driver.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/aceinna/bootstrap/canfd_driver.py b/src/aceinna/bootstrap/canfd_driver.py index 4abe1c0..651d191 100644 --- a/src/aceinna/bootstrap/canfd_driver.py +++ b/src/aceinna/bootstrap/canfd_driver.py @@ -192,7 +192,10 @@ def prepare_can_setting(self): for inode in self.canfd_setting['canfd_remote_messages']: if(inode['valid_len'] > 0): length = 0 - pack_fmt = '<' + if inode['name'] == 'LEVER_ARM_GET': + pack_fmt = '>' + else: + pack_fmt = '<' self.id_name[inode["id"]] = inode["name"] for value in inode['signals']: if value['type'] == 'float': From 442cb6732358045439ac138139ca29728468205e Mon Sep 17 00:00:00 2001 From: daichenghe <15052278082@163.com> Date: Mon, 17 Oct 2022 15:41:56 +0800 Subject: [PATCH 32/44] print ins401c serial number --- src/aceinna/bootstrap/canfd_driver.py | Bin 45209 -> 47194 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/aceinna/bootstrap/canfd_driver.py b/src/aceinna/bootstrap/canfd_driver.py index 651d19186d098c9da96ad32fbce2ed03170eb471..7f15d01201a0eeb5507436cb7fc7b31c2f3cc6bd 100644 GIT binary patch literal 47194 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 Yyc=B>?n>iN^Hri=I|YX{Nc6w|0siG&!vFvP literal 45209 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 Cfd}6J From 6dc5e480d4a28cb6ebefa9d95414b0ce753b7696 Mon Sep 17 00:00:00 2001 From: lihaiyong Date: Fri, 21 Oct 2022 15:10:16 +0800 Subject: [PATCH 33/44] fix: Add FreeRTOS of ins firmware, after upgrade sta9100 SDK firmware, GPGGA fixed type is RTK_FLOAT --- src/aceinna/devices/upgrade_workers/ethernet_sdk_9100_worker.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/aceinna/devices/upgrade_workers/ethernet_sdk_9100_worker.py b/src/aceinna/devices/upgrade_workers/ethernet_sdk_9100_worker.py index ac4b79c..7e8861a 100644 --- a/src/aceinna/devices/upgrade_workers/ethernet_sdk_9100_worker.py +++ b/src/aceinna/devices/upgrade_workers/ethernet_sdk_9100_worker.py @@ -1826,7 +1826,7 @@ def __init__(self, communicator, file_content, dev_9100=1): self.wait_erase_factor = 60000 self.erase_factors = 4 self.wait_erase_all = self.wait_erase_factor * self.erase_factors - self.wait_nvm_erase = 2000 + self.wait_nvm_erase = 5000 self.wait_crc = 30000 self.passthrough_time = 15 From cfb22fbe9b6b53f86e7e17fc8badd4647cf36397 Mon Sep 17 00:00:00 2001 From: daichenghe <15052278082@163.com> Date: Mon, 7 Nov 2022 15:01:21 +0800 Subject: [PATCH 34/44] print ins and gnss lib version --- .../devices/ins401/ethernet_provider_base.py | 60 +++++++++++-------- 1 file changed, 34 insertions(+), 26 deletions(-) diff --git a/src/aceinna/devices/ins401/ethernet_provider_base.py b/src/aceinna/devices/ins401/ethernet_provider_base.py index 3336169..6df8fd0 100644 --- a/src/aceinna/devices/ins401/ethernet_provider_base.py +++ b/src/aceinna/devices/ins401/ethernet_provider_base.py @@ -126,33 +126,41 @@ def _build_compile_info(self, text): ''' Build compile info ''' - split_text = text.split(',') - self.compile_info = { - 'ins_lib':{ - 'version': split_text[0], - 'time': split_text[1], - 'author': split_text[2], - 'commit':split_text[3] - }, - 'ins_app':{ - 'version': split_text[4], - 'time': split_text[5], - 'author': split_text[6], - 'commit':split_text[7] - }, - 'rtk_lib':{ - 'version': split_text[8], - 'time': split_text[9], - 'author': split_text[10], - 'commit':split_text[11] - }, - 'rtk_app':{ - 'version': split_text[12], - 'time': split_text[13], - 'author': split_text[14], - 'commit':split_text[15] + split_text = text.replace(" ", "").split(',') + if len(split_text) > 2: + self.compile_info = { + 'ins_lib':{ + 'version': split_text[0], + 'time': split_text[1], + 'author': split_text[2], + 'commit':split_text[3] + }, + 'ins_app':{ + 'version': split_text[4], + 'time': split_text[5], + 'author': split_text[6], + 'commit':split_text[7] + }, + 'rtk_lib':{ + 'version': split_text[8], + 'time': split_text[9], + 'author': split_text[10], + 'commit':split_text[11] + }, + 'rtk_app':{ + 'version': split_text[12], + 'time': split_text[13], + 'author': split_text[14], + 'commit':split_text[15] + } + } + else: + self.compile_info = { + 'lib_version':{ + 'ins': split_text[0], + 'gnss': split_text[1] + } } - } print(self.compile_info) def _build_device_info(self, text): ''' From 00edeedb68811434d70c2b92c0eb63b5cfcabc20 Mon Sep 17 00:00:00 2001 From: 805660485 <805660485@qq.com> Date: Thu, 17 Nov 2022 16:16:37 +0800 Subject: [PATCH 35/44] modify .json file: modify canfd and can factor and unit of sigal GYRO_X GYRO_Y GYRO_Z, 0.0076293 to 0.00762951, unit s to deg/s --- .../setting/INS401/RTK_INS/ins401.json | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/aceinna/setting/INS401/RTK_INS/ins401.json b/src/aceinna/setting/INS401/RTK_INS/ins401.json index 5ee4a7d..7fed28e 100644 --- a/src/aceinna/setting/INS401/RTK_INS/ins401.json +++ b/src/aceinna/setting/INS401/RTK_INS/ins401.json @@ -726,7 +726,7 @@ "signals": [ { "bit_length": 16, - "factor": "0.0076293", + "factor": "0.00762951", "is_big_endian": true, "is_float": true, "is_signed": false, @@ -735,11 +735,11 @@ "start_bit": 8, "type": "uint16", "format": "11.4f", - "unit": "s" + "unit": "deg/s" }, { "bit_length": 16, - "factor": "0.0076293", + "factor": "0.00762951", "is_big_endian": true, "is_float": true, "is_signed": false, @@ -748,11 +748,11 @@ "start_bit": 24, "type": "uint16", "format": "11.4f", - "unit": "s" + "unit": "deg/s" }, { "bit_length": 16, - "factor": "0.0076293", + "factor": "0.00762951", "is_big_endian": true, "is_float": true, "is_signed": false, @@ -761,7 +761,7 @@ "start_bit": 40, "type": "uint16", "format": "11.4f", - "unit": "s" + "unit": "deg/s" } ] }, @@ -1186,7 +1186,7 @@ }, { "bit_length": 16, - "factor": "0.0076293", + "factor": "0.00762951", "is_big_endian": true, "is_float": true, "is_signed": false, @@ -1195,11 +1195,11 @@ "start_bit": 56, "type": "uint16", "format": "11.4f", - "unit": "s" + "unit": "deg/s" }, { "bit_length": 16, - "factor": "0.0076293", + "factor": "0.00762951", "is_big_endian": true, "is_float": true, "is_signed": false, @@ -1208,11 +1208,11 @@ "start_bit": 72, "type": "uint16", "format": "11.4f", - "unit": "s" + "unit": "deg/s" }, { "bit_length": 16, - "factor": "0.0076293", + "factor": "0.00762951", "is_big_endian": true, "is_float": true, "is_signed": false, @@ -1221,7 +1221,7 @@ "start_bit": 88, "type": "uint16", "format": "11.4f", - "unit": "s" + "unit": "deg/s" }, { "bit_length": 16, From 431be878a692eb6b5108bc0945498f6814521a05 Mon Sep 17 00:00:00 2001 From: daichenghe <15052278082@163.com> Date: Thu, 17 Nov 2022 17:00:46 +0800 Subject: [PATCH 36/44] modify ins401c gyro unit from renjiewang --- .../setting/INS401/RTK_INS/ins401.json | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/aceinna/setting/INS401/RTK_INS/ins401.json b/src/aceinna/setting/INS401/RTK_INS/ins401.json index 5ee4a7d..7fed28e 100644 --- a/src/aceinna/setting/INS401/RTK_INS/ins401.json +++ b/src/aceinna/setting/INS401/RTK_INS/ins401.json @@ -726,7 +726,7 @@ "signals": [ { "bit_length": 16, - "factor": "0.0076293", + "factor": "0.00762951", "is_big_endian": true, "is_float": true, "is_signed": false, @@ -735,11 +735,11 @@ "start_bit": 8, "type": "uint16", "format": "11.4f", - "unit": "s" + "unit": "deg/s" }, { "bit_length": 16, - "factor": "0.0076293", + "factor": "0.00762951", "is_big_endian": true, "is_float": true, "is_signed": false, @@ -748,11 +748,11 @@ "start_bit": 24, "type": "uint16", "format": "11.4f", - "unit": "s" + "unit": "deg/s" }, { "bit_length": 16, - "factor": "0.0076293", + "factor": "0.00762951", "is_big_endian": true, "is_float": true, "is_signed": false, @@ -761,7 +761,7 @@ "start_bit": 40, "type": "uint16", "format": "11.4f", - "unit": "s" + "unit": "deg/s" } ] }, @@ -1186,7 +1186,7 @@ }, { "bit_length": 16, - "factor": "0.0076293", + "factor": "0.00762951", "is_big_endian": true, "is_float": true, "is_signed": false, @@ -1195,11 +1195,11 @@ "start_bit": 56, "type": "uint16", "format": "11.4f", - "unit": "s" + "unit": "deg/s" }, { "bit_length": 16, - "factor": "0.0076293", + "factor": "0.00762951", "is_big_endian": true, "is_float": true, "is_signed": false, @@ -1208,11 +1208,11 @@ "start_bit": 72, "type": "uint16", "format": "11.4f", - "unit": "s" + "unit": "deg/s" }, { "bit_length": 16, - "factor": "0.0076293", + "factor": "0.00762951", "is_big_endian": true, "is_float": true, "is_signed": false, @@ -1221,7 +1221,7 @@ "start_bit": 88, "type": "uint16", "format": "11.4f", - "unit": "s" + "unit": "deg/s" }, { "bit_length": 16, From 9baef4ce1124de90807459d43309f8249e932d82 Mon Sep 17 00:00:00 2001 From: lihaiyong Date: Mon, 28 Nov 2022 14:20:08 +0800 Subject: [PATCH 37/44] fix:add antenna switch enable(default value: 0) for INS402 8100 double antenna version --- src/aceinna/setting/INS402/RTK_INS/ins402.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/aceinna/setting/INS402/RTK_INS/ins402.json b/src/aceinna/setting/INS402/RTK_INS/ins402.json index 0c5b536..40e59ac 100644 --- a/src/aceinna/setting/INS402/RTK_INS/ins402.json +++ b/src/aceinna/setting/INS402/RTK_INS/ins402.json @@ -98,6 +98,11 @@ "paramId": 19, "name": "NHC switch", "value": 1 + }, + { + "paramId": 20, + "name": "antenna switch", + "value": 0 } ], "ntrip":[ @@ -281,6 +286,13 @@ "paramType": "input", "type": "uint32", "name": "NHC switch" + }, + { + "paramId": 20, + "category": "INS", + "paramType": "input", + "type": "uint32", + "name": "antenna switch" } ], "userMessages": { From 0a88b905d4cfe418e275fe751bd39f552ec489f4 Mon Sep 17 00:00:00 2001 From: daichenghe <15052278082@163.com> Date: Mon, 28 Nov 2022 16:24:17 +0800 Subject: [PATCH 38/44] add dual ant cali config --- .../setting/INS402/RTK_INS/ins402.json | 42 +++++++++++++++---- 1 file changed, 34 insertions(+), 8 deletions(-) diff --git a/src/aceinna/setting/INS402/RTK_INS/ins402.json b/src/aceinna/setting/INS402/RTK_INS/ins402.json index 40e59ac..be00153 100644 --- a/src/aceinna/setting/INS402/RTK_INS/ins402.json +++ b/src/aceinna/setting/INS402/RTK_INS/ins402.json @@ -100,8 +100,18 @@ "value": 1 }, { - "paramId": 20, - "name": "antenna switch", + "paramId": 22, + "name": "dual ant switch", + "value": 1 + }, + { + "paramId": 23, + "name": "dual ant baseline length", + "value": 6.7 + }, + { + "paramId": 24, + "name": "dual ant heading cali", "value": 0 } ], @@ -288,12 +298,28 @@ "name": "NHC switch" }, { - "paramId": 20, - "category": "INS", - "paramType": "input", - "type": "uint32", - "name": "antenna switch" - } + "paramId": 22, + "category": "GNSS", + "paramType": "input", + "type": "uint32", + "name": "dual ant switch" + }, + { + "paramId": 23, + "category": "GNSS", + "paramType": "input", + "type": "float", + "name": "dual ant baseline length", + "value_accuracy": 4 + }, + { + "paramId": 24, + "category": "GNSS", + "paramType": "input", + "type": "float", + "name": "dual ant heading cali", + "value_accuracy": 4 + } ], "userMessages": { "inputPackets": [ From 2553b92def38dbbe1d93125a65290746dde0d8db Mon Sep 17 00:00:00 2001 From: daichenghe <15052278082@163.com> Date: Mon, 30 Jan 2023 17:52:23 +0800 Subject: [PATCH 39/44] update canfd protocol --- src/aceinna/bootstrap/canfd_driver.py | Bin 47194 -> 47202 bytes .../setting/INS402/RTK_INS/ins402c.json | 2161 +++++++++++++++++ 2 files changed, 2161 insertions(+) create mode 100644 src/aceinna/setting/INS402/RTK_INS/ins402c.json diff --git a/src/aceinna/bootstrap/canfd_driver.py b/src/aceinna/bootstrap/canfd_driver.py index 7f15d01201a0eeb5507436cb7fc7b31c2f3cc6bd..ab8c4aaff5f91625259bde1428b49002066d939c 100644 GIT binary patch literal 47202 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 rhPj%62vJS0;M#j)vsQ^;?@_x@@HOl_ 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 Yyc=B>?n>iN^Hri=I|YX{Nc6w|0siG&!vFvP diff --git a/src/aceinna/setting/INS402/RTK_INS/ins402c.json b/src/aceinna/setting/INS402/RTK_INS/ins402c.json new file mode 100644 index 0000000..1432967 --- /dev/null +++ b/src/aceinna/setting/INS402/RTK_INS/ins402c.json @@ -0,0 +1,2161 @@ +{ + "appVersion": "INS401 31.00.01", + "type": "INS402", + "description": "6-axis INS402 with INS application", + "initial":{ + "userParameters": [ + { + "paramId": 1, + "name": "gnss lever arm x", + "value": 0.7 + }, + { + "paramId": 2, + "name": "gnss lever arm y", + "value": 0.02 + }, + { + "paramId": 3, + "name": "gnss lever arm z", + "value": -1.06 + }, + { + "paramId": 4, + "name": "vrp lever arm x", + "value": 0.38 + }, + { + "paramId": 5, + "name": "vrp lever arm y", + "value": 0.01 + }, + { + "paramId": 6, + "name": "vrp lever arm z", + "value": 0.21 + }, + { + "paramId": 7, + "name": "user lever arm x", + "value": 0.7 + }, + { + "paramId": 8, + "name": "user lever arm y", + "value": 0.02 + }, + { + "paramId": 9, + "name": "user lever arm z", + "value": -1.06 + }, + { + "paramId": 10, + "name": "rotation rbvx", + "value": 0.0 + }, + { + "paramId": 11, + "name": "rotation rbvy", + "value": 0.0 + }, + { + "paramId": 12, + "name": "rotation rbvz", + "value": 180.0 + }, + { + "paramId": 13, + "name": "sec lever arm x", + "value": 1.75 + }, + { + "paramId": 14, + "name": "sec lever arm y", + "value": 0.02 + }, + { + "paramId": 15, + "name": "sec lever arm z", + "value": -1.06 + }, + { + "paramId": 16, + "name": "dual ant switch", + "value": 1 + }, + { + "paramId": 17, + "name": "dual ant baseline length", + "value": 6.7 + }, + { + "paramId": 18, + "name": "dual ant heading cali", + "value": 0 + } + ], + "ntrip":[ + { + "name": "ip", + "value": "58.215.20.43" + }, + { + "name": "port", + "value": 2201 + }, + { + "name": "mountPoint", + "value": "WX02" + }, + { + "name": "username", + "value": "daich" + }, + { + "name": "password", + "value": "888999" + } + ] + }, + "userConfiguration": [ + { + "paramId": 0, + "category": "General", + "paramType": "disabled", + "type": "uint16", + "name": "Data CRC" + }, + { + "paramId": 1, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "gnss lever arm x", + "value_accuracy": 4 + }, + { + "paramId": 2, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "gnss lever arm y", + "value_accuracy": 4 + }, + { + "paramId": 3, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "gnss lever arm z", + "value_accuracy": 4 + }, + { + "paramId": 4, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "vrp lever arm x", + "value_accuracy": 4 + }, + { + "paramId": 5, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "vrp lever arm y", + "value_accuracy": 4 + }, + { + "paramId": 6, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "vrp lever arm z", + "value_accuracy": 4 + }, + { + "paramId": 7, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "user lever arm x", + "value_accuracy": 4 + }, + { + "paramId": 8, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "user lever arm y", + "value_accuracy": 4 + }, + { + "paramId": 9, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "user lever arm z", + "value_accuracy": 4 + }, + { + "paramId": 10, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "rotation rbvx", + "value_accuracy": 4 + }, + { + "paramId": 11, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "rotation rbvy", + "value_accuracy": 4 + }, + { + "paramId": 12, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "rotation rbvz", + "value_accuracy": 4 + }, + { + "paramId": 13, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "sec lever arm x", + "value_accuracy": 4 + }, + { + "paramId": 14, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "sec lever arm y", + "value_accuracy": 4 + }, + { + "paramId": 15, + "category": "INS", + "paramType": "input", + "type": "float", + "name": "sec lever arm z", + "value_accuracy": 4 + }, + { + "paramId": 16, + "category": "GNSS", + "paramType": "input", + "type": "uint32", + "name": "dual ant switch" + }, + { + "paramId": 17, + "category": "GNSS", + "paramType": "input", + "type": "float", + "name": "dual ant baseline length", + "value_accuracy": 4 + }, + { + "paramId": 18, + "category": "GNSS", + "paramType": "input", + "type": "float", + "name": "dual ant heading cali", + "value_accuracy": 4 + } + ], + "userMessages": { + "inputPackets": [ + { + "name": "pG", + "description": "Get device serial number & factory ID", + "inputPayload": {}, + "responsePayload": { + "type": "string", + "name": "Device ID and SN" + } + }, + { + "name": "gV", + "description": "Get user app version", + "inputPayload": {}, + "responsePayload": { + "type": "string", + "name": "User Version" + } + }, + { + "name": "gA", + "description": "Get All Configuration Parameters", + "inputPayload": {}, + "responsePayload": { + "type": "userConfiguration", + "name": "Full Current Configuration" + } + }, + { + "name": "sC", + "description": "Save Conifguration Parameters to Flash", + "inputPayload": {}, + "responsePayload": {} + }, + { + "name": "uP", + "description": "Update Configuration Parameter", + "inputPayload": { + "type": "userParameter", + "name": "Parameter to be Updated" + }, + "responsePayload": { + "type": "paramId", + "name": "ID of the Updated Parameter" + } + } + ], + "outputPackets": [ + { + "name": "s1", + "isList": 0, + "payload": [ + { + "type": "uint32", + "name": "GPS_Week", + "unit": "" + }, + { + "type": "double", + "name": "GPS_TimeofWeek", + "unit": "sec" + }, + { + "type": "float", + "name": "x_accel", + "unit": "m/s^2" + }, + { + "type": "float", + "name": "y_accel", + "unit": "m/s^2" + }, + { + "type": "float", + "name": "z_accel", + "unit": "m/s^2" + }, + { + "type": "float", + "name": "x_rate", + "unit": "deg/s" + }, + { + "type": "float", + "name": "y_rate", + "unit": "deg/s" + }, + { + "type": "float", + "name": "z_rate", + "unit": "deg/s" + } + ], + "graphs": [ + { + "name": "Acceleration", + "units": "m/s^2", + "xAxis": {"name":"GPS_TimeofWeek", "unit":"sec"}, + "yAxes": [ + "x_accel", + "y_accel", + "z_accel" + ], + "colors": [ + "#FF0000", + "#00FF00", + "#0000FF" + ], + "yMax": 20 + }, + { + "name": "Angular-Rate", + "units": "deg/s", + "xAxis": {"name":"GPS_TimeofWeek", "unit":"sec"}, + "yAxes": [ + "x_rate", + "y_rate", + "z_rate" + ], + "colors": [ + "#FF0000", + "#00FF00", + "#0000FF" + ], + "yMax": 200 + } + ] + }, + { + "name": "iN", + "isList": 0, + "payload": [ + { + "type": "uint32", + "name": "GPS_Week", + "unit": "" + }, + { + "type": "double", + "name": "GPS_TimeofWeek", + "unit": "sec" + }, + { + "type": "uint8", + "name": "insStatus", + "unit": "" + }, + { + "type": "uint8", + "name": "insPositionType", + "unit": "" + }, + { + "type": "int32", + "name": "latitude", + "unit": "deg" + }, + { + "type": "int32", + "name": "longitude", + "unit": "deg" + }, + { + "type": "float", + "name": "height", + "unit": "m" + }, + { + "type": "int16", + "name": "velocityNorth", + "unit": "m/s" + }, + { + "type": "int16", + "name": "velocityEast", + "unit": "m/s" + }, + { + "type": "int16", + "name": "velocityUp", + "unit": "m/s" + }, + { + "type": "int16", + "name": "roll", + "unit": "m/s" + }, + { + "type": "int16", + "name": "pitch", + "unit": "m/s" + }, + { + "type": "int16", + "name": "heading", + "unit": "m/s" + } + ], + "graphs": [] + }, + { + "name": "d1", + "isList": 0, + "payload": [ + { + "type": "uint32", + "name": "GPS_Week", + "unit": "" + }, + { + "type": "double", + "name": "GPS_TimeofWeek", + "unit": "sec" + }, + { + "type": "int16", + "name": "latitude_std", + "unit": "" + }, + { + "type": "int16", + "name": "longitude_std", + "unit": "" + }, + { + "type": "int16", + "name": "height_std", + "unit": "" + }, + { + "type": "int16", + "name": "north_vel_std", + "unit": "" + }, + { + "type": "int16", + "name": "east_vel_std", + "unit": "" + }, + { + "type": "int16", + "name": "up_vel_std", + "unit": "" + }, + { + "type": "int16", + "name": "roll_std", + "unit": "" + }, + { + "type": "int16", + "name": "pitch_std", + "unit": "" + }, + { + "type": "int16", + "name": "heading_std", + "unit": "" + } + ], + "graphs": [] + }, + { + "name": "gN", + "isList": 0, + "payload": [ + { + "type": "uint32", + "name": "GPS_Week", + "unit": "" + }, + { + "type": "double", + "name": "GPS_TimeofWeek", + "unit": "sec" + }, + { + "type": "uint8", + "name": "positionMode", + "unit": "" + }, + { + "type": "int32", + "name": "latitude", + "unit": "deg" + }, + { + "type": "int32", + "name": "longitude", + "unit": "deg" + }, + { + "type": "float", + "name": "height", + "unit": "m" + }, + { + "type": "uint8", + "name": "numberOfSVs", + "unit": "" + }, + { + "type": "float", + "name": "hdop", + "unit": "" + }, + { + "type": "uint16", + "name": "diffage", + "unit": "" + }, + { + "type": "int16", + "name": "velocityNorth", + "unit": "m/s" + }, + { + "type": "int16", + "name": "velocityEast", + "unit": "m/s" + }, + { + "type": "int16", + "name": "velocityUp", + "unit": "m/s" + } + ], + "graphs": [] + }, + { + "name": "sT", + "isList": 0, + "payload": [ + { + "type": "uint32", + "name": "GPS_Week", + "unit": "" + }, + { + "type": "double", + "name": "GPS_TimeofWeek", + "unit": "sec" + }, + { + "type": "uint16", + "name": "year", + "unit": "" + }, + { + "type": "uint8", + "name": "mouth", + "unit": "" + }, + { + "type": "uint8", + "name": "day", + "unit": "" + }, + { + "type": "uint8", + "name": "hour", + "unit": "" + }, + { + "type": "uint8", + "name": "min", + "unit": "" + }, + { + "type": "uint8", + "name": "sec", + "unit": "" + }, + + { + "type": "uint32", + "name": "imu_status", + "unit": "" + }, + { + "type": "float", + "name": "imu_temperature", + "unit": "sec" + }, + { + "type": "float", + "name": "mcu_temperature", + "unit": "" + } + ], + "graphs": [] + } + ] + }, + "CLICommands": [{ + "name": "help", + "description": "CLI help menu", + "function": "help_handler" + }, + { + "name": "exit", + "description": "exit CLI", + "function": "" + }, + { + "name": "run", + "description": "Operations defined by users", + "function": "run_handler" + }, + { + "name": "save", + "description": "Save the configuration into EEPROM", + "function": "save_handler" + }, + { + "name": "connect", + "description": "Find OpenIMU device", + "function": "connect_handler" + }, + { + "name": "upgrade", + "description": "Upgrade firmware", + "function": "upgrade_handler" + }, + { + "name": "record", + "description": "Record output data of OpenIMU on local machine", + "function": "record_handler" + }, + { + "name": "stop", + "description": "stop recording outputs on local machine", + "function": "stop_handler" + }, + { + "name": "server_start", + "description": "start server thread and must use exit command to quit", + "function": "server_start_handler" + }, + { + "name": "get", + "description": "Read the current configuration and output data", + "function": "get_handler" + }, + { + "name": "set", + "description": "Write parameters to OpenIMU", + "function": "set_handler" + } + ], + "canfd_settings": + { + "canfd_type": "canfd", + "is_parse": false, + "canfd_id": [384, 640, 641, 1412], + "canfd_remote_id":[1408, 1409, 1410, 1411], + "can_id": [384, 385, 386, 387, 388, 389, 390, 391, 392, 640], + "can_config":{ + "bus_type": "bmcan", + "channel": 0, + "bitrate": 500000, + "data_bitrate": 2000000 + }, + "imu_log_config": + { + "title": "GPS_Week(),GPS_TimeofWeek(s),x_accel(m/s^2),y_accel(m/s^2),z_accel(m/s^2),x_rate(deg/s),y_rate(deg/s),z_rate(deg/s)\n", + "index":0 + + }, + "ins_log_config": + { + "title": "GPS_Week(),GPS_TimeofWeek(s),insCarStatus(),insPositionType(),latitude(deg),longitude(deg),height(m),velocityNorth(m/s),velocityEast(m/s),velocityUp(m/s),roll(deg),pitch(deg),heading(deg),latitude_std(m),longitude_std(m),height_std(m)\n", + "index":0 + }, + "can_messages": [ + { + "id": 384, + "is_extended_frame": false, + "is_fd": false, + "name": "INS_ACC", + "valid_len": 6, + "signals": [ + { + "bit_length": 16, + "factor": "0.0001220703125", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "ACC_X", + "offset": "-4", + "start_bit": 8, + "type": "uint16", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.0001220703125", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "ACC_Y", + "offset": "-4", + "start_bit": 24, + "type": "uint16", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.0001220703125", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "ACC_Z", + "offset": "-4", + "start_bit": 40, + "type": "uint16", + "format": "11.4f", + "unit": "s" + } + ] + }, + { + "id": 385, + "is_extended_frame": false, + "is_fd": false, + "name": "INS_GYRO", + "valid_len": 6, + "signals": [ + { + "bit_length": 16, + "factor": "0.0076293", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "GYRO_X", + "offset": "-250", + "start_bit": 8, + "type": "uint16", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.0076293", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "GYRO_Y", + "offset": "-250", + "start_bit": 24, + "type": "uint16", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.0076293", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "GYRO_Z", + "offset": "-250", + "start_bit": 40, + "type": "uint16", + "format": "11.4f", + "unit": "s" + } + ] + }, + { + "id": 386, + "is_extended_frame": false, + "is_fd": false, + "name": "INS_HeadingPitchRoll", + "valid_len": 6, + "signals": [ + { + "bit_length": 16, + "factor": "0.010986", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "INS_PitchAngle", + "offset": "-250", + "start_bit": 8, + "type": "uint16", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.010986", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "INS_RollAngle", + "offset": "-250", + "start_bit": 24, + "type": "uint16", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.010986", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "INS_HeadingAngle", + "offset": "-250", + "start_bit": 40, + "type": "uint16", + "format": "11.4f", + "unit": "s" + } + ] + }, + { + "id": 387, + "is_extended_frame": false, + "is_fd": false, + "name": "INS_HeightAndIMUStatus", + "valid_len": 8, + "signals": [ + { + "bit_length": 32, + "factor": "0.001", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "INS_LocatHeight", + "offset": "-10000", + "start_bit": 24, + "type": "uint32", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 32, + "factor": "1", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "IMU_Status", + "offset": "0", + "start_bit": 56, + "type": "uint32", + "format": "", + "unit": "s" + } + ] + }, + { + "id": 388, + "is_extended_frame": false, + "is_fd": false, + "name": "INS_LatitudeLongitude", + "valid_len": 8, + "signals": [ + { + "bit_length": 32, + "factor": "0.0000001", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "INS_Latitude", + "offset": "-180", + "start_bit": 24, + "type": "uint32", + "format": "11.7f", + "unit": "s" + }, + { + "bit_length": 32, + "factor": "0.0000001", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "INS_Longitude", + "offset": "-180", + "start_bit": 56, + "type": "uint32", + "format": "11.7f", + "unit": "s" + } + ] + }, + { + "id": 389, + "is_extended_frame": false, + "is_fd": false, + "name": "INS_Speed", + "valid_len": 6, + "signals": [ + { + "bit_length": 16, + "factor": "0.0030517", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "INS_NorthSpd", + "offset": "-100", + "start_bit": 8, + "type": "uint16", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.0030517", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "INS_EastSpd", + "offset": "-100", + "start_bit": 24, + "type": "uint16", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.0030517", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "INS_ToGroundSpd", + "offset": "-100", + "start_bit": 40, + "type": "uint16", + "format": "11.4f", + "unit": "s" + } + ] + }, + { + "id": 390, + "is_extended_frame": false, + "is_fd": false, + "name": "INS_DataInfo", + "valid_len": 6, + "signals": [ + { + "bit_length": 8, + "factor": "1", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "INS_GpsFlag_Pos", + "offset": "0", + "start_bit": 0, + "type": "uint8", + "format": "2", + "unit": "s" + }, + { + "bit_length": 8, + "factor": "1", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "INS_NumSV", + "offset": "0", + "start_bit": 8, + "type": "uint8", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 8, + "factor": "1", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "INS_GpsFlag_Heading", + "offset": "0", + "start_bit": 16, + "type": "uint8", + "format": "2", + "unit": "s" + }, + { + "bit_length": 8, + "factor": "1", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "INS_Gps_Age", + "offset": "0", + "start_bit": 24, + "type": "uint8", + "format": "3f", + "unit": "s" + }, + { + "bit_length": 8, + "factor": "1", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "INS_Car_Status", + "offset": "0", + "start_bit": 32, + "type": "uint8", + "format": "2", + "unit": "s" + }, + { + "bit_length": 8, + "factor": "1", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "INS_Status", + "offset": "0", + "start_bit": 40, + "type": "uint8", + "format": "2", + "unit": "s" + } + ] + }, + { + "id": 391, + "is_extended_frame": false, + "is_fd": false, + "name": "INS_Std", + "valid_len": 8, + "signals": [ + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "INS_Std_Lat", + "offset": "0", + "start_bit": 8, + "type": "uint16", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "INS_Std_Lon", + "offset": "0", + "start_bit": 24, + "type": "uint16", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "INS_Std_LocatHeight", + "offset": "0", + "start_bit": 40, + "type": "uint16", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "INS_Std_Heading", + "offset": "0", + "start_bit": 56, + "type": "uint16", + "format": "11.4f", + "unit": "s" + } + ] + }, + { + "id": 392, + "is_extended_frame": false, + "is_fd": false, + "name": "INS_Time", + "valid_len": 6, + "signals": [ + { + "bit_length": 16, + "factor": "1", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "Week", + "offset": "0", + "start_bit": 8, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 32, + "factor": "1", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "TimeOfWeek", + "offset": "0", + "start_bit": 24, + "type": "uint32", + "format": "11.4f", + "unit": "s" + } + ] + }, + { + "id": 640, + "is_extended_frame": false, + "is_fd": false, + "name": "BASE_RTCM", + "valid_len": 6, + "signals": [ + { + "bit_length": 8, + "factor": "0", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "BASE", + "offset": "0", + "start_bit": 0, + "type": "", + "format": "", + "unit": "s" + } + ] + } + ], + "canfd_messages": [ + { + "id": 384, + "is_extended_frame": false, + "is_fd": true, + "name": "INSPVAX", + "valid_len": 60, + "signals": [ + { + "bit_length": 16, + "factor": "0.0001220703125", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "ACC_X", + "offset": "-4", + "start_bit": 8, + "type": "uint16", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.0001220703125", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "ACC_Y", + "offset": "-4", + "start_bit": 24, + "type": "uint16", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.0001220703125", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "ACC_Z", + "offset": "-4", + "start_bit": 40, + "type": "uint16", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.0076293", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "GYRO_X", + "offset": "-250", + "start_bit": 56, + "type": "uint16", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.0076293", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "GYRO_Y", + "offset": "-250", + "start_bit": 72, + "type": "uint16", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.0076293", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "GYRO_Z", + "offset": "-250", + "start_bit": 88, + "type": "uint16", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.010986", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "INS_PitchAngle", + "offset": "-250", + "start_bit": 104, + "type": "uint16", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.010986", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "INS_RollAngle", + "offset": "-250", + "start_bit": 120, + "type": "uint16", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.010986", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "INS_HeadingAngle", + "offset": "-250", + "start_bit": 136, + "type": "uint16", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 32, + "factor": "0.001", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "INS_LocatHeight", + "offset": "-10000", + "start_bit": 168, + "type": "uint32", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 32, + "factor": "1", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "IMU_Status", + "offset": "0", + "start_bit": 200, + "type": "uint32", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 32, + "factor": "0.0000001", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "INS_Latitude", + "offset": "-180", + "start_bit": 232, + "type": "uint32", + "format": "11.7f", + "unit": "s" + }, + { + "bit_length": 32, + "factor": "0.0000001", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "INS_Longitude", + "offset": "-180", + "start_bit": 264, + "type": "uint32", + "format": "11.7f", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.0030517", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "INS_NorthSpd", + "offset": "-100", + "start_bit": 280, + "type": "uint16", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.0030517", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "INS_EastSpd", + "offset": "-100", + "start_bit": 296, + "type": "uint16", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.0030517", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "INS_ToGroundSpd", + "offset": "-100", + "start_bit": 312, + "type": "uint16", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 8, + "factor": "1", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "INS_GpsFlag_Pos", + "offset": "0", + "start_bit": 320, + "type": "uint8", + "format": "2", + "unit": "s" + }, + { + "bit_length": 8, + "factor": "1", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "INS_NumSV", + "offset": "0", + "start_bit": 328, + "type": "uint8", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 8, + "factor": "1", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "INS_GpsFlag_Heading", + "offset": "0", + "start_bit": 336, + "type": "uint8", + "format": "2", + "unit": "s" + }, + { + "bit_length": 8, + "factor": "1", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "INS_Gps_Age", + "offset": "0", + "start_bit": 344, + "type": "uint8", + "format": "3f", + "unit": "s" + }, + { + "bit_length": 8, + "factor": "1", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "INS_Car_Status", + "offset": "0", + "start_bit": 352, + "type": "uint8", + "format": "2", + "unit": "s" + }, + { + "bit_length": 8, + "factor": "1", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "INS_Status", + "offset": "0", + "start_bit": 360, + "type": "uint8", + "format": "2", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "INS_Std_Lat", + "offset": "0", + "start_bit": 376, + "type": "uint16", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "INS_Std_Lon", + "offset": "0", + "start_bit": 392, + "type": "uint16", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "INS_Std_LocatHeight", + "offset": "0", + "start_bit": 408, + "type": "uint16", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "INS_Std_Heading", + "offset": "0", + "start_bit": 424, + "type": "uint16", + "format": "11.4f", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "1", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "Week", + "offset": "0", + "start_bit": 440, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 32, + "factor": "1", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "TimeOfWeek", + "offset": "0", + "start_bit": 456, + "type": "uint32", + "format": "11.4f", + "unit": "s" + } + ] + }, + { + "id": 640, + "is_extended_frame": false, + "is_fd": false, + "name": "BASE_RTCM", + "valid_len": 62, + "signals": [ + { + "bit_length": 512, + "factor": "0", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "BASE", + "offset": "0", + "start_bit": 0, + "type": "", + "format": "", + "unit": "s" + } + ] + }, + { + "id": 641, + "is_extended_frame": false, + "is_fd": false, + "name": "ROVER_RTCM", + "valid_len": 63, + "signals": [ + { + "bit_length": 512, + "factor": "0", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "BASE", + "offset": "0", + "start_bit": 0, + "type": "", + "format": "", + "unit": "s" + } + ] + }, + { + "id": 1412, + "is_extended_frame": false, + "is_fd": true, + "name": "LEVER_ARM_SET", + "valid_len": 36, + "signals": [ + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "GNSS_LEVER_ARM_X", + "offset": "-30", + "start_bit": 8, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "GNSS_LEVER_ARM_Y", + "offset": "-30", + "start_bit": 24, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "GNSS_LEVER_ARM_Z", + "offset": "-30", + "start_bit": 40, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "VRP_LEVER_ARM_X", + "offset": "-30", + "start_bit": 56, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "VRP_LEVER_ARM_Y", + "offset": "-30", + "start_bit": 72, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "VRP_LEVER_ARM_Z", + "offset": "-30", + "start_bit": 88, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "USER_LEVER_ARM_X", + "offset": "-30", + "start_bit": 104, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "USER_LEVER_ARM_Y", + "offset": "-30", + "start_bit": 120, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "USER_LEVER_ARM_Z", + "offset": "-30", + "start_bit": 136, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.01", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "ROTATION_RBVX", + "offset": "-180", + "start_bit": 152, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.01", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "ROTATION_RBVY", + "offset": "-180", + "start_bit": 168, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.01", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "ROTATION_RBVZ", + "offset": "-180", + "start_bit": 184, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "SEC_LEVER_ARM_X", + "offset": "-30", + "start_bit": 200, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "SEC_LEVER_ARM_Y", + "offset": "-30", + "start_bit": 216, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "SEC_LEVER_ARM_Z", + "offset": "-30", + "start_bit": 232, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "1", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "DUAL_ANT_SWITCH", + "offset": "0", + "start_bit": 248, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "BASELINE_LENGTH", + "offset": "-30", + "start_bit": 264, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.01", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "HEADING_CALI", + "offset": "-180", + "start_bit": 280, + "type": "uint16", + "format": "", + "unit": "s" + } + ] + } + ], + "canfd_remote_messages": [ + { + "id": 1408, + "is_extended_frame": false, + "is_fd": true, + "name": "INS_VERSION", + "valid_len": 0, + "signals": [ + { + "name": "INS_VERSION" + } + ] + }, + { + "id": 1409, + "is_extended_frame": false, + "is_fd": true, + "name": "SDK_VERSION", + "valid_len": 0, + "signals": [ + { + "name": "SDK_VERSION" + } + ] + }, + { + "id": 1410, + "is_extended_frame": false, + "is_fd": true, + "name": "IMU_VERSION", + "valid_len": 0, + "signals": [ + { + "name": "IMU_VERSION" + } + ] + }, + { + "id": 1411, + "is_extended_frame": false, + "is_fd": true, + "name": "LEVER_ARM_GET", + "valid_len": 36, + "signals": [ + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "GNSS_LEVER_ARM_X", + "offset": "-30", + "start_bit": 8, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "GNSS_LEVER_ARM_Y", + "offset": "-30", + "start_bit": 24, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "GNSS_LEVER_ARM_Z", + "offset": "-30", + "start_bit": 40, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "VRP_LEVER_ARM_X", + "offset": "-30", + "start_bit": 56, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "VRP_LEVER_ARM_Y", + "offset": "-30", + "start_bit": 72, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "VRP_LEVER_ARM_Z", + "offset": "-30", + "start_bit": 88, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "USER_LEVER_ARM_X", + "offset": "-30", + "start_bit": 104, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "USER_LEVER_ARM_Y", + "offset": "-30", + "start_bit": 120, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "USER_LEVER_ARM_Z", + "offset": "-30", + "start_bit": 136, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.01", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "ROTATION_RBVX", + "offset": "-180", + "start_bit": 152, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.01", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "ROTATION_RBVY", + "offset": "-180", + "start_bit": 168, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.01", + "is_big_endian": true, + "is_float": true, + "is_signed": false, + "name": "ROTATION_RBVZ", + "offset": "-180", + "start_bit": 184, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "SEC_LEVER_ARM_X", + "offset": "-30", + "start_bit": 200, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "SEC_LEVER_ARM_Y", + "offset": "-30", + "start_bit": 216, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "SEC_LEVER_ARM_Z", + "offset": "-30", + "start_bit": 232, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "1", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "DUAL_ANT_SWITCH", + "offset": "0", + "start_bit": 248, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.001", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "BASELINE_LENGTH", + "offset": "-30", + "start_bit": 264, + "type": "uint16", + "format": "", + "unit": "s" + }, + { + "bit_length": 16, + "factor": "0.01", + "is_big_endian": true, + "is_float": false, + "is_signed": false, + "name": "HEADING_CALI", + "offset": "-180", + "start_bit": 280, + "type": "uint16", + "format": "", + "unit": "s" + } + ] + } + ] + } +} \ No newline at end of file From 54441a352091d811fc9ec6990f641aaca52cccdb Mon Sep 17 00:00:00 2001 From: daichenghe <15052278082@163.com> Date: Wed, 1 Feb 2023 16:56:16 +0800 Subject: [PATCH 40/44] enable log id: 0x181, 0x282 --- src/aceinna/setting/INS402/RTK_INS/ins402c.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/aceinna/setting/INS402/RTK_INS/ins402c.json b/src/aceinna/setting/INS402/RTK_INS/ins402c.json index 1432967..f11f01d 100644 --- a/src/aceinna/setting/INS402/RTK_INS/ins402c.json +++ b/src/aceinna/setting/INS402/RTK_INS/ins402c.json @@ -725,7 +725,7 @@ { "canfd_type": "canfd", "is_parse": false, - "canfd_id": [384, 640, 641, 1412], + "canfd_id": [384, 640, 641, 1412, 385, 642], "canfd_remote_id":[1408, 1409, 1410, 1411], "can_id": [384, 385, 386, 387, 388, 389, 390, 391, 392, 640], "can_config":{ From 354c8f82536f861376bf6242aa9fb6e777e0113c Mon Sep 17 00:00:00 2001 From: 805660485 <805660485@qq.com> Date: Fri, 3 Feb 2023 16:41:47 +0800 Subject: [PATCH 41/44] update UserDecoderLib.dll: modify ins401c decode, add UTC year month day, sep in GGA, modify insPositionType() to ins_status in ins.csv --- src/aceinna/libs/UserDecoderLib.dll | Bin 152576 -> 166912 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/aceinna/libs/UserDecoderLib.dll b/src/aceinna/libs/UserDecoderLib.dll index 91b05318cef4c83b9daaa341e22170abf0967258..71f01b3edd461f9a4d073f51316015a1e66e70b5 100644 GIT binary patch literal 166912 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�$|7uJPd3m# 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%0AWMTDiF^w?QrDC^+u|yZ=QwahSCB87D|Maxb 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 ArT_o{ From da2d75e6cef26b0fdfcfd750510fa8c1f79b111e Mon Sep 17 00:00:00 2001 From: lihaiyong Date: Wed, 15 Feb 2023 11:06:27 +0800 Subject: [PATCH 42/44] fix: Add set ins401 and ins402 unit sn command, ".\acenav.exe -i 100base-t1 -sn XXXXXX" or ".\acenav.exe -i 100base-t1 --device-type INS402 -sn XXXXXX" --- .../devices/ins401/ethernet_provider_base.py | 27 +++++++++++++++++-- .../ins401/ethernet_provider_ins401.py | 3 ++- .../ins401/ethernet_provider_ins402.py | 3 ++- .../communicators/ethernet_100base_t1.py | 5 ++++ src/aceinna/framework/decorator.py | 2 ++ src/aceinna/models/args.py | 3 ++- 6 files changed, 38 insertions(+), 5 deletions(-) diff --git a/src/aceinna/devices/ins401/ethernet_provider_base.py b/src/aceinna/devices/ins401/ethernet_provider_base.py index 6df8fd0..4b17656 100644 --- a/src/aceinna/devices/ins401/ethernet_provider_base.py +++ b/src/aceinna/devices/ins401/ethernet_provider_base.py @@ -295,8 +295,7 @@ def after_setup(self): # check saved result self.check_predefined_result() - - + if set_mount_angle: self.set_mount_angle() self.prepare_lib_folder() @@ -1341,6 +1340,30 @@ def get_compile_message(self): yield {'packetType': 'error', 'data': {'error': error}, 'raw_data': {'error': error}} yield {'packetType': 'success', 'data': data, 'raw_data': raw_data} + + @with_device_message + def set_unit_sn_message(self): + command_sn = b'\x01\xfc' + message_bytes = [] + + if self.communicator and self.communicator.config_unit_sn: + config_unit_sn = int(self.communicator.config_unit_sn) + message_bytes.append(config_unit_sn & 0xFF) + message_bytes.append((config_unit_sn >> 8) & 0xFF) + message_bytes.append((config_unit_sn >> 16) & 0xFF) + message_bytes.append((config_unit_sn >> 24) & 0xFF) + command_line = helper.build_ethernet_packet( + self.communicator.get_dst_mac(), self.communicator.get_src_mac(), + command_sn, message_bytes) + result = yield self._message_center.build(command=command_line.actual_command, timeout=3) + error = result['error'] + data = result['data'] + raw_data = result['raw'] + if error: + yield {'packetType': 'error', 'data': {'error': error}, 'raw_data': {'error': error}} + else: + self.send_system_reset_command() + os._exit(1) @with_device_message def reset_params(self, params, *args): # pylint: disable=unused-argument diff --git a/src/aceinna/devices/ins401/ethernet_provider_ins401.py b/src/aceinna/devices/ins401/ethernet_provider_ins401.py index 9e0b8f4..f920a7d 100644 --- a/src/aceinna/devices/ins401/ethernet_provider_ins401.py +++ b/src/aceinna/devices/ins401/ethernet_provider_ins401.py @@ -139,7 +139,8 @@ def after_setup(self): # check saved result self.check_predefined_result() - + + self.set_unit_sn_message() if set_mount_angle: self.set_mount_angle() diff --git a/src/aceinna/devices/ins401/ethernet_provider_ins402.py b/src/aceinna/devices/ins401/ethernet_provider_ins402.py index fa2558d..41625a5 100644 --- a/src/aceinna/devices/ins401/ethernet_provider_ins402.py +++ b/src/aceinna/devices/ins401/ethernet_provider_ins402.py @@ -139,7 +139,8 @@ def after_setup(self): # check saved result self.check_predefined_result() - + + self.set_unit_sn_message() if set_mount_angle: self.set_mount_angle() diff --git a/src/aceinna/framework/communicators/ethernet_100base_t1.py b/src/aceinna/framework/communicators/ethernet_100base_t1.py index 4b649f8..02d00c0 100644 --- a/src/aceinna/framework/communicators/ethernet_100base_t1.py +++ b/src/aceinna/framework/communicators/ethernet_100base_t1.py @@ -27,6 +27,7 @@ def __init__(self, options=None): self.filter_device_type = None self.filter_host_mac = None self.filter_host_mac_assigned = False + self.config_unit_sn = None self.iface_confirmed = False self.receive_cache = collections.deque(maxlen=20000) @@ -41,6 +42,10 @@ def __init__(self, options=None): if options: self.filter_host_mac_assigned = options.host_mac != 'auto' self.filter_host_mac = options.host_mac if self.filter_host_mac_assigned else None + + if options: + self.config_unit_sn = options.unit_sn != 'auto' + self.config_unit_sn = options.unit_sn if self.config_unit_sn else None def handle_iface_confirm_packet(self, packet): self.iface_confirmed = True diff --git a/src/aceinna/framework/decorator.py b/src/aceinna/framework/decorator.py index 46e2035..d4e2525 100644 --- a/src/aceinna/framework/decorator.py +++ b/src/aceinna/framework/decorator.py @@ -45,6 +45,8 @@ def _build_args(): help="true or false") parser.add_argument("-m", dest='host_mac', metavar='', type=str, help="The mac address for listen device data") + parser.add_argument("-sn", dest='unit_sn', metavar='', type=str, + help="set the unit serial number") ''' parser.add_argument("-board", dest='board', metavar='', type=str, help="RTK330LA beidou") diff --git a/src/aceinna/models/args.py b/src/aceinna/models/args.py index 1495ef5..2e0ea98 100644 --- a/src/aceinna/models/args.py +++ b/src/aceinna/models/args.py @@ -44,7 +44,8 @@ class WebserverArgs(KeyValuesArgumentBase): 'set_mount_angle': False, 'use_cli':False, 'para_path': None, - 'host_mac': 'auto' + 'host_mac': 'auto', + 'unit_sn': 'auto' } From fa9fe106edb8ac976e33e6293adfd5cf9b2e2103 Mon Sep 17 00:00:00 2001 From: lihaiyong Date: Wed, 15 Feb 2023 12:35:25 +0800 Subject: [PATCH 43/44] fix: After the test code sets the module serail number, send the module reset command. --- tests/test_ins401_commands.py | 12 +- tests/test_ins402_commands.py | 240 ++++++++++++++++++++++++++++++++++ 2 files changed, 251 insertions(+), 1 deletion(-) create mode 100644 tests/test_ins402_commands.py diff --git a/tests/test_ins401_commands.py b/tests/test_ins401_commands.py index 42bb1aa..57ef290 100644 --- a/tests/test_ins401_commands.py +++ b/tests/test_ins401_commands.py @@ -193,6 +193,15 @@ def ethernet_configuration_command_send_receive(device_provider:EhternetProvider else: return False + command_line = system_reset_info(device_provider.communicator.get_dst_mac(), + device_provider.communicator.get_src_mac(), + list(INPUT_PACKETS[4])) + if command_line: + result = device_provider.send_command(command_line.actual_command) + print('system_reset_info:', result) + else: + return False + return True def handle_discovered(device_provider): @@ -212,7 +221,8 @@ def kill_app(signal_int, call_back): @handle_application_exception def simple_start(): driver = Driver(WebserverArgs( - interface=INTERFACES.ETH_100BASE_T1 + interface=INTERFACES.ETH_100BASE_T1, + use_cli = True )) driver.on(DriverEvents.Discovered, handle_discovered) driver.detect() diff --git a/tests/test_ins402_commands.py b/tests/test_ins402_commands.py new file mode 100644 index 0000000..f1057ea --- /dev/null +++ b/tests/test_ins402_commands.py @@ -0,0 +1,240 @@ +import sys +import time +import os +import signal +import struct + +try: + from aceinna.core.driver import (Driver, DriverEvents) + from aceinna.models.args import WebserverArgs + from aceinna.framework.utils import (helper) + from aceinna.framework.decorator import handle_application_exception + from aceinna.devices.ins401.ethernet_provider_ins401 import Provider as EhternetProvider + from aceinna.framework.constants import INTERFACES +except: # pylint: disable=bare-except + print('load package from local') + sys.path.append('./src') + from aceinna.core.driver import (Driver, DriverEvents) + from aceinna.models.args import WebserverArgs + from aceinna.framework.utils import (helper) + from aceinna.framework.decorator import handle_application_exception + from aceinna.devices.ins401.ethernet_provider_ins401 import Provider as EhternetProvider + from aceinna.framework.constants import INTERFACES + +INPUT_PACKETS = [b'\x01\xcc', b'\x02\xcc', b'\x03\xcc', b'\x04\xcc', b'\x06\xcc', b'\x01\x0b', b'\x02\x0b', b'\x01\xfc'] +user_parameters = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + + +def get_production_info(dest, src, command): + message_bytes = [] + + command_line = helper.build_ethernet_packet(dest, src, command, message_bytes) + return command_line + +def get_user_configuration_parameters(dest, src, command, field_id): + message_bytes = [] + + field_id_bytes = struct.pack('= 1) and (field_id < 13): + field_value_bytes = struct.pack(' Date: Wed, 15 Feb 2023 13:37:27 +0800 Subject: [PATCH 44/44] fix: update version, README and HISTORY files --- HISTORY.md | 18 ++++++++++++++++++ README.md | 11 +++++++++++ src/aceinna/__init__.py | 2 +- 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/HISTORY.md b/HISTORY.md index a5ee61f..5f2eae0 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,6 +1,24 @@ # CHANGELOG --- +## 2.6.7, 02/15/2023 +- [INS402] Add ins402 parse command +- [INS401] Add parameter configuration type to be filtered to resolve timeout issue +- [INS401C] modify canfd setings, add can_id 0x181 0x282 +- [INS401C] set lever format issue +- [INS401] log corrimu data +- [INS401] Add FreeRTOS of ins firmware, after upgrade sta9100 SDK firmware, GPGGA fixed type is RTK_FLOAT +- [INS401C] print ins401c serial number +- [INS401] print ins and gnss lib version +- [INS401] modify ins401c gyro unit +- [INS402] add antenna switch enable(default value: 0) for INS402 8100 double antenna version +- [INS402] add dual ant cali config +- [INS402C] update canfd protocol +- [INS402C] enable log id: 0x181, 0x282 +- [INS402C] modify .json file: modify canfd and can factor and unit of sigal GYRO_X GYRO_Y GYRO_Z, 0.0076293 to 0.00762951, unit s to deg/s +- [INS401/INS402]Add set ins401 and ins402 unit serial number command, ".\acenav.exe -i 100base-t1 -sn XXXXXX" or ".\acenav.exe -i 100base-t1 --device-type INS402 -sn XXXXXX" +- [INS402C] Update User DecoderLib + ## 2.6.6, 09/23/2022 - [INS401] The reply message 0xcc01 can't be received after the "JS" command is executed. diff --git a/README.md b/README.md index 73a0066..ada02b8 100644 --- a/README.md +++ b/README.md @@ -117,6 +117,17 @@ eg: After successful FW upgrade, the INS402 system restarts and starts logging data automatically. +## Set the Unit Serial Number +# ins401 +```shell +./acenav -i 100base-t1 -sn +``` + +# ins402 +```shell +./acenav -i 100base-t1 --device-type INS402 -sn +``` + # canfd app ### run diff --git a/src/aceinna/__init__.py b/src/aceinna/__init__.py index f8e5f4c..21524c4 100644 --- a/src/aceinna/__init__.py +++ b/src/aceinna/__init__.py @@ -1,3 +1,3 @@ # Package Version -VERSION = '2.6.6' +VERSION = '2.6.7' PACKAGE_NAME = 'acenav'