From fd1fc501a536d3ea10d094553dff6a90d2a049f4 Mon Sep 17 00:00:00 2001 From: YunHorn Technology Date: Wed, 30 Oct 2024 15:54:13 +0800 Subject: [PATCH] fix bug of report NVM without 'C' prefix --- Core/Src/sys_app.c | 4 ++-- LoRaWAN/App/lora_app.c | 7 ++++--- STM32CubeIDE/Release/WLE5CC_NODE_STS.elf | Bin 168324 -> 168324 bytes STS/Core/Inc/yunhorn_sts_prd_conf.h | 20 +++++++++++++++++++- STS/Core/Src/yunhorn_sts_process.c | 23 +++++++++++++---------- STS/TOF/App/app_tof.c | 2 ++ 6 files changed, 40 insertions(+), 16 deletions(-) diff --git a/Core/Src/sys_app.c b/Core/Src/sys_app.c index cbfffe8..8b99d65 100644 --- a/Core/Src/sys_app.c +++ b/Core/Src/sys_app.c @@ -35,9 +35,9 @@ #if defined(STS_P2)||defined(STS_T6) #include "app_tof_peoplecount.h" #endif -#ifdef L8 +//#ifdef L8 #include "app_tof.h" -#endif +//#endif /* USER CODE END Includes */ /* External variables ---------------------------------------------------------*/ diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c index 1df666d..3cae67f 100644 --- a/LoRaWAN/App/lora_app.c +++ b/LoRaWAN/App/lora_app.c @@ -50,7 +50,7 @@ extern volatile sts_cfg_nvm_t sts_cfg_nvm; extern volatile uint32_t rfac_timer; extern volatile uint32_t STS_TOFScanPeriod_msec, STS_TxPeriod_sec, STS_HeartBeatTimerPeriod_sec; volatile uint8_t sts_data_buf[LORAWAN_APP_DATA_BUFFER_MAX_SIZE]={0x0}; -volatile LmHandlerAppData_t sts_app_data={ 0, 0, sts_data_buf }; +//volatile LmHandlerAppData_t sts_app_data={ 0, 0, sts_data_buf }; /* USER CODE END EV */ @@ -771,7 +771,7 @@ static void SendTxData(void) #ifdef CAYENNE_LPP uint8_t channel = 0; #else - +/* uint16_t pressure = 0; int16_t temperature = 0; uint16_t humidity = 0; @@ -779,7 +779,8 @@ static void SendTxData(void) int32_t latitude = 0; int32_t longitude = 0; uint16_t altitudeGps = 0; - +*/ + uint32_t i = 0; #endif /* CAYENNE_LPP */ EnvSensors_Read(&sensor_data); diff --git a/STM32CubeIDE/Release/WLE5CC_NODE_STS.elf b/STM32CubeIDE/Release/WLE5CC_NODE_STS.elf index b3407abfed5fd130401ffd47b3f252f72e20d93e..4aea2761b3ef3765af870589582e74ee4f40e2dd 100644 GIT binary patch delta 34834 zcmb82dt6ji7x&K|1{@TG@d_d`1DYtJ;3Y97!OH*w-c7ufrWTeIrk0jAT3S|G+R?VA zn3WcmCW?ldczLoXEh#B2O(`u+eNr2*+~xhP;f!a^dEb9t`y9@E*IIk+wXbKNYl}W^ zxai}C%R|Jf6`?WV8^#HRHeUt*f)z#3KG*%%wqeDj2r*^*!dHXDD%Cf*ckIRI6bo%z z+t=?sya#+hlYN8z_w-xM2@Z35EXXVUF4wF)^8cT`i1yC47QOm}YT{M0r= zi2te8_8ua?Fh0^6AU3M~J3l*6xo6p~xW2EpruwWDn@g^Uk-n~j)g(Jq9gynlYE?_W zzp5VMs*AUPM^^jc@3*zS_?usCcKBfblv>`ou76E!W1Ful=AII1bp+wp?OOU9<>p}g zx>`$r!@wpxX)ZwTQ!t^z{Ex3Ic)w+rpKF-fD=tioQb)x_iFkExT$*)#g>Abjy4ite zUBWEd`ng)DKgZ1w->U=TCy6cUr|~bK6cJsUi#2MGuCZc?I=Sl%k*1#PI@=Ubsb+L* zBlfFLcMEsEQ8&cpV-cH&xRxiOh_Cys@^v}uhTKjXAvVW3An8$Zg$gpeE-6ZEj!yMi z1zAsDS593p_`byeU)Pj6i$~Ivyo|52d6;~l@DXtLd+~M$PEnHN2pbn&V=HB~`KexjMKT>h}t> zn^M)a-J_z0S0qF#c1wN}S7t@W?6~yz`;9AI5M@y<`6zExW3_>6p?bc1Z*f2k@6k=1 zSBLe872m1O9`Qk^>q3yyly7yNsPl83RS)z?=@M6C+5X&@_bv^ID!F2cE4gA;O0M`R zCRq8o_Mz*LE{qzn+Oo^+8l(1jFh(p?Cp{Py7>`Kn%KxkjNNwO6t*&^`E?!g%AB+lf z)J0~8BC1ZMLvAnVW>QUvYr)JQ)z39oz42gt`V&)~?uej+8&Lv3*Np>O22h;)N;$9^34Bv6yDU*Y z6C1d0t6dV}6ThwOdVf^h+M_4|I~(ls9pw9YuwAHDS5j^Lh%pr)=mW=6ge7j*;sUe7 zlppA@x{j)O2@y_`4sjLq3*Mz>N8MKXs}rp>zSBk9*13x7i;7@0Z{yTp*FSZQ)6rG? zwVGtI1-t%NS6A*=t+>pU!u3;~)pfSQ?y$jUg?nFoIXDTj-5U|{3QTQEl9FY0DSIrt z>dJ3bCEeZKZFRqZQw4X?WJlHE}n(9`@tamJjvxf2GFkT7vCub@W3i5%;QnHrpIN@A$)Nr6Xb8HvQKjOk9%>v z+U1vFvfCVfuBYlu_I|Bx4yqqN#D1qwY=<)y)bZ7tMi`V9S4I`l(wYWtn(C&-HRe={ zD?&|AjIvi%*AG{#>rQpo?DiNKgGx>A;o2^}AqGW9^_|2_@t9hc7!meX9r=2ork(Bf zlQfHd^0?Xc@4a?5v#X8T^5Gs)KUbZ5){NGpXh`aR07GVgl4RM{&>ubmR${CecGMhifZ3fv&*G+>pM=2Rp05` zPK2ww`o=o<)wug&wQ`_es<1?3v+PnLE$LPV^{1^hirt3&SG6XaVh?r|xrd=Cm3ol_ zwygsd$OSAuD-Pb(?`H5!ONJ61a=^#YAT z%sIyt<5P+%hKo098>Zr*X!ms`RH33H(XD6ry1G`;$oHw|NxrU*dvoCcGeoLMv$ogI z7;dgl6S9}|Gk2LCO7ug=msk1?RbmrLBT{XHt*)*W9UT#=u!ApiRbod+2S@94Dr-W` zUvoP;L`(-qXlB5H(DYVrX>3hsT6T8QT@lqVGG;-rE2b8cP-L{@My|#6vl^Zp*2`Lh zaa^oKHqz?Mzvh3J3NTj$Xkk8rdcwlO_B8fOux-M26kCBhBRSOhMP(RTuRiSjO82ix zEio;9RM`Tf``bE;>m7`_q1%l)d zk*GXh;mB`snX9Ac#5*jmtO^tSU8_5HiK>R`|0ZI%8XbVy4#5Sd2}@gS6trvCTLpFH zuT(2heh!nmwIU$S;_9Zx_iG;1thQfz{|u@!%HUOXRKLD0Cs+HfzE|F?M%fXct}K5@ z(`Bij_ltFYU$MKNrPSsKc6F??r*?GI*LqDwM0#lI={e|Tt_u~yk-tYowoVU*RflS& zZ7YP?w60ZpNNQ;Ihy4-`*dbTznnU_XU84e5v0wbvQj2SK1-0#^<5XcU&Q$CL)wga1 zI}|lAJ=o<}efE-apnsZp&|U8pXp2cG+H`ExE>wOh<_lnVKg93X@Y|$yiXG~*{xO(W z_ViCo-cc3kJ}mmA{|uKKVf7WZ*g?V~qKCK?Q@{aJx{uZ_>-J_q{wOva3tW#>FW6&o zwN`r$NN(D*q7B0T%)N%H?`zrWTLU5jvv7E9hSWZ&%;9R$fQa7xs?2nNj0|u~%>^`S zf?Yke4t@^NzX1RF*iK`ciS0RTe`70GtpmG=$!hYz=FLodMVu%#rQg0p2V38CVF^oD zpBmV;=^vF7(v?-zL9jBKMQ!+tx@}>#-e9` zToDBa%WGrO6?@2>2CiGR9n(XzJHkD>L~e3_j8f=N)I5N{^J^bSQ&v8Z?w|btCXHa% z(VDi9K3A)_TGT`$i(q6?TV=;Dn(Zp8sH4qBy>-JjAKQ9t2e6&PW)d0d11XWBQcX)4 zCT^;0QzFDO>Q^c4#0>R(O4Go?-Hp;NU-FATSK7c8uZq;r*bNoO(R$@HQ&X{sbX`&+eIQ#f z!|eK>+BAJd==r(^YrD-x7sVKHy)N2TqK1D%?iU+w5_6Yo&HNSX@hh3};uAG&aFkf7_8r_sJg+`G zxPzFat{MDn;2@-<>X?OXy4rk5Pg8^1j|UGCLtaCfBeWnE)F^G6xq?jQ(rykq3J1Af zsA*mydMm0D+0tzzx(B&(YLYtrQ%YxPO>vwGa!rK?tLEV`HE(ECyAP3>6B+%5{nnwv z(tNP6q+pwmEfX7#^R7_!;?Nj@(1#@k9jjDaf8u-v!ym={Mx8LML!+viY2ZeYL9Tz) z6~nsNODh*dc5tjmUpQ82b~#P)j*$Ey*O8jMiivSUV-(lZ>iJ>K$Eg{CHzxTstq@%v zA0>J;i>)lJD-W)HJAK@I5rbLNC&@MPm8EHajz1D2y8X1HS-wDwJzxsMe zeRX)R@Tr5ExyR4!DoiyK@0D*u-<^c|@j+cBtEY!Y`P`};s@4sU=rklVC8Msq>|V^0 z)In3)uia5tU4HA#j#nxojL40`Up3dq ze)CdZ#p6k-okEU}?38%Ce<$bd$=eirpU5VemKFZ_!LA(@mi)T%P;~W9k(SL$g-8!_ zeTHRlto`IAf3^8Yd++J!z}L}Dsf$u~rKX#O-wV)GtFX-j7h(T0_I{}J^EG~}Et{Jp z1YwSTc4SneW$q9sR0XbmOU)bE-uV(m6c^X~%ntvUzIU&G@$#Uix&Ql{WW8d*v~F+@W)KZ}ZQU;WG=yJNW9W3QM$Pff>?g>28% zJw?+ge*IE+lC-wChkizWrKj@L{-Z)CJeoPMO57-EaNtBkduFt#Hgy|N+9z^E|1p_k z2gOXpRPw@0{hLlyB4e@@)#`Y}U4rwK(b;qQ*Om9I%FyDtT$Pqe6GV{fbX5xCplPw9 zB3<1+D#n>SsL7n4cC>mf!Mz`gjG3aFOnvV@wJon=GHT@X4*w2) z?@k6yQ8wI26-Re80*~9)!5!_<27T|0+UAM3i#y&9gPKlknoWn5EJRjV*;sO*6lj*VWBIL(^o@W{CRJBd;|d=UyBx7)Dn=d|W&33ERE$VQS9k z%x)bkBeCj=O!aZSde07NWMx-y8}LhRZiOW#S@^hS-WzheUGBYdt9os8p%|!sn3W<_ z^-9)P&Cd?Oasu08Z28#EB9KGso-zM6KaQ#6Ft**;c3|6v?RsJH*rq~6sHNk=MX>ts zxPjp{Nc0R69Yn;(u{Q+Bgjys}n|D_s0)kV*7VS1leP8Wmny9BvA(sql3~Wv|U1*WjO%)#Z08 z)D}yg7kkuYOCrQ(b?cJSpd`)UOoNLs=%p@uqfl52lizG7aKL`@tq9Sl@b$M|@)a+u zJ}Wu|PODME^84NW*?g|5d~#v06~#W{A+>zvH4&&@TooI1x6;oMlf8D@TECA@RF(g$ z+TY6*N7QHEOA{Zfd)`|k9#Kcg6wy^(E0e`IwM-U?U4^Sw$DmFM53Nb@5ihC!dEp_` z?=1*3MPEPdW4npbeF{~PFicoNQq+g@{uHNF`}+1GK}}n~SiGnHxPG9Rtv3JQh2&nf z4IIBztc+XJAnC@Y1(oITwO@x>WA2d-JrB>OIE@5glv9jET6m{hT z?wBWI{Bw2lhNz%5Zpk=b=beXO^{#qmLzf;e*7!MoMOg1Q2!Y+qnpY9j-P4Xs z6l#=9`1}|9%JL_Xk|b*z_@1mRpQ!fzFg$P=QufaN%{Kt)($#4n_U;i|^Gn6@xc*4h z!0})FO1`-yfh0%;n>ICHhxH$L_wZ7?w2f#_8jK zSC*GoQ<^CCj}MzS4fXvC`TgzI-aWks+H-2(kHWExpYV}A@L=`VVTJwfo>n2>tG@M7 zg!oMT{G;ULH_+?q%8P51=vR;f&UnHaM&CU>3Rd%~lkoe;(?jt4dAHSPHF10Bf=r9_ z((Fb_KTn)?sj_^U8vF6&=C8yQQjZuN$x+P=Wl0)kJjj_0F{Q1UqLaL=3 zn~G)X#f{ypGhq{@`QHuyPpcg^bu)zwQy<;bhITJ+8Y@s=n^FXN?k6$gbYbQv4Fp}2 z{dA3(s{Z?FjP)i)%U{`R{lrPdmQY+-{y#M)zeDKBiYP||$JOj+t|YT4^}%USh@%49 zqiRn63*xWBi}`sbv0i=k^R1@J+QP0|On&|oK2j{3ux(cpcMKFG3t!z4>m!QQ?Yp{R zg?w?B6RYBwqQ2_JFJBXl3uB7PMC*v^A(!5t*3V@zy+4VLdiUz;{#6zzN&cTG7Ij`x z>%ycx(}l=Xx9)8zP8NQ%x3>^;Rk1HrOjpD99TIcYvVCPDQvIrUllW1cwEtPrtFUx` ziU?fusbWdqtXRm;NwwXMX9Phkk00n!EB-y2*dI z`ryxlOf7~NzVh>Rx5ab6j3vV#e)$Ev!cTsESJ3{U(|-!b!tWK!=h!wMQ!J&}hLk9l z+1Sot^Z7xsyn(GL^t6?+-;005Eg5VVv4tKleEiIJCUH@X{k=CzIPLdeeJO)}7aIF_ z$UClBrXGbcwpE7|OM+Fgg^UrFQD39Vu?>Ul{C^b79(C@u5$-6j4X4DB*Y~@f{CVqf zDnp^;uAh59xZ<7<@!*<{KB8OU+`8&UK>2(lF}$HN0_R%8F;$K!`l*p{2>+9SZ?Kg} zd!T6Q>(+ad{x8|O!{CcgAYeTK8 z{JWx0TZuB^p9?n@Z0+T;)*?*wFWTH%ykHhfitKjrwaI_UC|vUyiA`RM5)oo|QD9qG z`6^iu6~(p_e^C1sHEu8V3jYg_2utK>VVPJ|8ZEk*#GgeXM)(V1l8rivHBDxB5|(2K zcqg_ip~B+ds_4s3;(b5AY+NaBHm2y2ZsI4C2D0;mVyyVO=#2-(B_S5c842Q&Z!?to za?yld;zyHMBV+rBme#F^<4bG@u^q+slN{AYOcl{ZU-c2wFa(R*JuI4<#I&MbNuq;j zIlS70rProfrEQCJo1=AZU3m_wN*dD;X?Ch*L%OAp)zIrLxCR(Oz7Y6NZXz*sT}}=~cOD zC>rdl{AMUjugcJ2VjOm}hly?2wHxlX95Ynv$20bEr_406&v zSu}OBc-8ED6Fp5Jg2AKHACve^m&)*a#76w~$M58!Lq}}K?}qq2pkLZ!`|-OGerNU{ zKJt6~#?=h`P9Jy*zXR)k$6dtl#`HURg!^|8{T@6b?k428JFJWyIDE(#SOg89G(|p{ zEmk;_TMLVCn6M;<3(G?6M?D}c9Uxm6B`lS8VY!HYz9L#!N+E9!d2K74%EE3jrNPz> zTMx+Mv30@k7;GnDC*aSH-&;H2+zGk~*yiJRFYJX)Sl)pCXiw45@?%eA2w`l|!fE1P zA>xW=JS}FLi_E!VmL)Q|Sh395r=+l&oGaQ|Ba`5R#WL-PGO;ukSM&X_CO`%W2% zV#*mWil(w)E;5=W_skVBzWa3X^0~tN-iyNQdkivjy(!70jfBS`^s5*4c@gPSpjUQVW+rXbNjs@>$91q^hI1&6E<23LE#-Rottsv85a_h@f z?iBgM%VMx~offvD_$%+jew~bUiXm1{X>c=9`32(Da+y=~#qcPhopqg7SybHH= zF(JJt*87TzqO!G^C9tnuCl2`7lLqK@MrF!oOb(9AvJK+LVKolj>?2fiEtsmgwdbj~54LUufK1q73ztT^kb48DU0zb<#pbVR(>lwNW z&Y1M6GH@fhz=90<#pj}pmGXxa|9liuAD8n#7VqHr7P}Eg)zLC-qlj`I%<%Sk*uX~& ze2g(UtuXL_OmBbB8F-5~JC$?Z0_C!STMX76QichPsS=hOIG-`uA7o7S|Mg;AHmYI* zN?;kHXGjSe8+f9DUo&tGWAZm~n76;_oRPos92bBW4c8O6OTd@{I?R~#14iifq)#<) z>yh620gRoLU>y^ka(iSZ{r{fgc{{tv_tw0pq>(FESpj$cOSpWY-OkdfWVB;2HxDcucO(7j2w} zr+BA3&X_9eHe;$RTpiSA8hPUrY9hN z!oUwc<*iqq)|m>Bz?jna@nX!w`LcMk2y>4R7t>MNBhz(Xl=c{7(jR}uTYrHu>6hnv z>)&Tg`e}MuA8>cwr*wh4cIPst0A7?ipP|S9m-!*_1p}LB==oAUeHfE{l7Vv>ll@Z0 zWWSs-^iHLK3CLilf&VmcFk9A82C0lGeFkIFFJeskC5+MI-~3!eTL1QvDGE+tKF6{n zL6&_kx>zq8w81iQiwNsM&LU^(wL=`om@-dbO!_`@>lV>v(olnVBx6c8kufEk!kF~A zj7dL>G3gh`T4du~#Kgszl^26)#Cc}rrA$xB=FRpl%~As=J@2hgWlZVMz2K#HDiz)W zW#k;)fD+thOy#i5)%EUj8~7MwN}v0pxBVQ(XZ>ZzFGLgTP9~!?M`Y#~A|n3SOL|fg zUu8^LyBL!`Llz^Mefm5-8JXoWCbQ+T3}()iOxy-%c&otOq4w1L5vK11{ZVj+rYAR+ z`QF(yV@&!}j46x?#?TK}mb~okV55OMIlcAo85oxfz2@c(vSb@-Z3`1mM%-J$aV+jr zOiyv0m5Bu+Vwkef+gmfnWER4hiZ`7x>1Qz}{aLxJKy-<}U=Y_Zrew-1-r25{*APwe zI)nJ?tGXE_yUmz#JF&=He^%yf7hw;O=}m*myjVA-q#=vt+uLzyY|Z4mQE%a3enOJK z^xs0?3)~6mslSk)iA+!VPGS5T?57g5_12Wv^f<0J#4I}%g29?Ya#>7B}I zW?)6mYrrQo2Nd-F9l*bMxxfh`|+ z+s`rZ?*@K;1GA@VsyL$VK}!t!P?xvCHScsVUo|aY`grIUg0qm^(^4mxo(g`7F_mj5 z?xJFce}XH4Zf#_WlIFz|72?yvmhEl?iae!n2@^Zz#u{GEXt?vRa(MH_p@ z4n18@1eOVoW(CQWnZ-EqnZ?Ye!i;XShcL56a#^wHlDw3ey$Z8s2D5ccPsQBGn3`j{ ztSuIO`zzu;O+)*&5>~amfnlafQWK8yl8IykeE0|yl8>F?lXAw4s(8g`y)TFLZC-%r`d1eC#X#+1Pc1K(y$_Dki2gCe5ImOXmD zBv$syw-2H@n(g(L&tv={;=|o+BzNXBF(p6Dn4&ml;NK1GVod21~Wje}OUd zO%%&MJpma^m-7#aI(se?ryyLqb%_PQ{py?}^Zp|un$KfqFTjlMZU#vE*SIpcgsE0Q zMK?K3ng@z(DbsI-ei_(vo=AagV0yC8XS@&gbQ6^~aQ9-pAlrfz`SjPqYENRqpOA>| z!tz0}NalTwR#?rFCrVtR_D&3-*EiuKe1ok@R{G3k{<-g*mTbFdPn z_(Q-eCx97{gWyB*(Zgb}Xe+lKMyG4W)RbSyA^H1ZbUGW8r(&+KgL$2Hm*L;wVp$(% z_AqYBC4xPNV#+Op>B;?2##7;zp3dR+6Pcdur!bxc`>EhK$hGQpD$AJxC0NN=A^|-T z#3$yROi%Xv81I68F*rfb0B?vZrl)|; zF}?+RdUlE1D_=AJZIQsj1ZFE%FW?MTf>e3!zc>_)WM&aCqvxZz*>V~CE&A^UX7&)w zJ_NhapFI6H`@bxE% zxy=kHK@H;{kf0WPTTh@I|4t8>>|Km+!u|$08_!C3YChq6Z~Fy|-4_Vv{h%9Iacv_C zkBp%Mxff5A!4jsYv6*^Yw{E190`*D>zvL;`vgFBb|=#7e1m1_6vI zfbNXRVIRis$%8TJhcYJp&=b0U_cC|^6Oe)Fq;5bCf*F&3OJ~YJxu7%Yv;NkZ^ivp<{wD)xUG}!0&Umyk z8UC+$8@L#g!*l-_^o&VwyXvivW=#6=GUu3ZTK`~iQQYTb?J*G{rpxdW>{4YJ?K0#w z+6|R~KZw5evDdskKWgB|WzG+xi`?=99)QV}TYo^xS+WE>=RAYu0t3Hd;MWYi#K3PF z_-zBf>&;D+mEHp7J$VgrSywYL)lGp6{}Bg}od$8zb?<^_$oW6w$)^(r@hMq`)RWBr z>el2mgfZ20YsREsz?k%l7?XY_<0}?L=_V78i!S!nOk98|X$`nL%so@m5xML*s{R-= zBX2Iol-q5_q>ppy(UZPAW73ajO!|q8Nxy(G^iE|F6Oh3M#^hilW6~dIO!^ayNq?C! z>8~;-ed-Nf0Nh!~U;;82$(S5uF(!SsEGxx&Z#olSLjC4|Jr{#0*$$?!hQ1K|8RS&| zq#u7%kE3BzTucJ@(e#wf6HHI`Pceqxq^y+7enJDTX7V`rSp$Ak^F!&{-qQ1N7mu+! z4#w`{F(&03@KpUNfNZ>AG4Om|jz`X$*f|6&FiD zahYnoi~A5`(xV}NMe*r<2#?=zoY&F25gtwi)9Vf%rns|eb+_bZiQEb|&gBMi(mmab zl4UTaWLb%9Csl|D>B2F(=DBcAoG-H9>jy9;l9Dr3^`GxeIz{x0-I;6+T|CsjIIRK9jPhwK1IrLTz5GB|HSp;P_p+yx z!7Ph$RtH6i1;@eOQ@rs^ACKH7fS+Lc!%UwD{WstxnjT>|l>yE5@EtIqSG%Zw+|7r5 z2GdisJZ|8(4eVk(1paP-vyslTt{&M!&o5L#|H$$ZAOi!x-$Fj~yLdEyVoRP71Dr8c zXaQpibf>KS9qZ7m2C<7VB~wDY-I^Jb-o}{Rwq^Vj%GVCeZvkFldf0bUT;2ku8Quw^ ze5pz(1JCO(7@2NXvgH0hL}zP~!7f$S{(;k@41;(cV~TH)fma)Ni-8LmQ#iO)a!z#V zcY%qQqL}n1li3|}{XBS?=|6&=-srPwdUv(9lGo4SVw(joCqeAid$u+2^NrMEFX zg&)oMJJ{39O+4RDOn(;oSc5)}=_{I}f77c~+(CC{U}}N+!k|xJ`atOEl`9N#eZVn& zOX%s+P+X{t+h({>-Yc0ndoGF@uTF(~D-FyYdu3N2Z?%J-w91Yp^rZzXmgg`OJVE zZee@|3FwtP-Xs>hf(JAFtMBa182<%(dX*1{lKTaUX8P;U(<^}3LH}gEgCu591r5D7 zxKeZAo&%WP+!Cw!PW2aLJvDZM>6<`L?+A8c=__Q;1sqHiycP(lTM+{@0rs3TCxhuV zMSdkef!R~N^kF<2Jd`o%A7M=TMU0_$DodDP2r{Ji6z8ye0{Ki&4htBQ!>bW`0Z5P6 z&hHoKN%#}s3U*2V0^YGCv-*a@VyA)$oJc?~VJ=|_vhiZ3o&a5o@p9PHi<>7{zCk*J#&x0(0w(WI?qhUWsCjO0=wrVw!}ke^rq<%R`3(d zfD&9_Ob(OKL$SlZ`W`-uG3gf=__9pABp$Q7-&}Vmt6#-;VAVm{bd<%Huvl7TNWD~E zyM$x;a)WpaV@h4Xn1VRQnDoaPH^v&Z6dVn?XP8wmJ*Dpy>s3gn62}B&kinQT7;4}t zjLCixW3peunDqIKNxy}$`_9b~CLn`jjLE@e#-zV$;0nfM->kD&36&7Wr0>o+6yr-t zU;;A8W=t7QXH5E)j7h(mG3gI7CjDUppJME!1WFh0h|LC`&Y0{sFs2MPGA8{g#-u;X znDj24o$eL-ZC&8zdj__|c?W1S@K6IkXW-?GDS*rOIi-H6)!Y}+0<$nlU9C%9tu@q=8er>FLS-8OCJ)9AoJFDZ$ zq(3V&ui|dQWhN#wa}V7unb~CCRqds*B!g-mV@kTnz`GfftLO)H*JK}O;PD22P3I@v zePyXGa4$?&GA4(s8B>NE7?XY@W72P7O!@*@a!qs@cGe(1$C#2`W=zShGA8|P#-y*1 znb*-{0(yEEKbSEkYt5LF*%*_40OJfyzZ=KkgQk#s4q~ZHPxc4BS$=h0Sn)N9lI!AG z`w^z2ynZn730d~9*6L>ss&fXuVBo(EeAU1=4Sd_ccXgKK|BB}J3SFSQfO1!YCnDzi zr^GVWg*8A{f?mCAU^WJf-F>s^OixA5WxNrF_(+PE{UW9(`z4I2dbcp%9-_$aU3faa z-9z}!hn6WN+Q*D2(P74Q5XCWZn(jMBHZ(ACa{;FanMn#1)JwtQy9YOWWSMchW~QCjEFh|EB0` z&1PaUn3ZU&vg8gHpxFlTELjV2@;rlh z3uDT@fH8SH$e8qp<@~#tNNWsYCD}WO?u;o}0%LcOj7h(eG3j?RCjCCf&_AvmX96-f z!I&H*_0t0)eJW$p&tgpaIgCk<^U-p=*{k%|-H3df*UmF@3<3n_V|BeWR1>>GLd{cgSVc zc+iHP{pVtOH-Pg78CZkCTxk&d5BD}}VPJYnj=Sk5GvUTL&>*J!SKN&5Y;vYMo1E!R zC}+Ck%9*~-#<{;YI~Dpe7B^U8)S1 z^-JGty zsXrM3(X~!8dM6xLZ^1T=KLT&ctACV|^gF@L=PQ;An*I>@8rF_xU~>_#HAHJRW5AiXmHLRrPlJcS z2cFPz`z$GhY9|9H&^~l?U|CKqy6k+d;=M69eyEA_R;xq*3Y53XTZ{${(#SaX?{|`bl z+Y9kR7TvF4`f!@395)!<7k_W(Q2^TyS8{b1!rT{G}E!xi^UI7asnz&UJEGZ~p;yjRFi4YuKBg{WluYz7;kmr~?);Q*$(_t0ZH~-?*3|rv-0x%R zJZT|Tm9!Y7OrDEWlx<*711$n?#(SmXwMg@c$Pu%ZSvmw8Qs`m7f!$m?t!MGi}F;Qn_zr((|sS7xB?uaO*g^dx+uI1>}#?|ZXT>yhHHu9&|mDo zDVBLY^-dgMe4X)SUsGpsRBrV(b+PiY9EZAxyasWTO3V|U(30CJiuGgJ*$=5U$q9a@ z2zVUa5a@ogxnbk3yICjNwk;nOJ3e{PhGc z#xsbXk`DvF#r#iy0I$XSnXHp&Hb%h|E0!oP!^n=yKOMD9SAluaJ_Wyy>h$#dJ>X(I zt%*s^UA<-CsdxaEx(fyA0uPiq4NQH-uX1Yx48LWw70XV|IGTRQWMnycKr8@?mx>GO1|G)wZc~4KQ0+-0*h6v_WS%#gp z7FQ12YN;p1xMz(0@qVk69bn=tKrj$fytoi+r(ymOugLw4 zOr4W!(Tj7n;r}}1Ta)qH1KvuYdfWug!Svy$x%(QN_Pk;#(CklxXUNz9#JCw}aGsh8 zh($6vfy4tbTa49GPk?xhTn6!^g;KH1(!`q~PAt`j!d~!2yzbgs>!nA*n=ld6eGv-k z3b+>60g$(wYr&IS==IkcXTB$8U?A#mg^Z=$=Q0z!_>*k*UIQa5j%oGX=?O;MXy+ zi_KdV%MmSz$Dmz>8PC%Za>;s%K7+mmo*_$+%+8zWSBRS-wX!d zKsh}<{BiK7GO;<9B(t%&&ef8wgLp1$ll@?xe<}E99IuvY_T}J1Sbuuvng@E}DX3fe z;w%B2gSTeRYWC^iW$4Z}ji>Zd1OGKn$ocxH-O;Q4saafy~}1$YhW)YEqB-EN9o;E*vIMfEhrUl4ad zjd_~9hRm4TM!hlea9n#{bK4$lZK>NQgRfvzBx(A`!M$W+OB#aA%^HZYK5B`1EC(}8 zL(Td+#N4a_8g31u^F$K{J}*n)E%}1xjTWz?As&Kt!BEZ3eDFoIrzhDmN{0UCX`jzX zFJnV60VK#w?7H5;YvsGOf!jC{vj}R+rg@75&wWv!e7b;}&y?#!Ol>Cl!mFpVO^5sg zMA1=8_d57Wp56;S0EZ%~@tS@w_}54E+3N^+#utj^DNTPC94o^^O^!kO1};Nc+Gxpg z!BepW@YLKZ;5Qh*4^Fn?;YADv_p}6_F;9>6Ki~$KraTS)OA^c$qcUtteS%vsm@0F^ zFuUGi(_7bMgpYN+C$7=pLvkybZAGa(EwmQmcs6c?d+e8kb7X8JDrfEo z`YGr^h~v@Ro@`6O8)Z(UsmrA8S&HR7E!;YYOR!@2MC0&5IN0N~8t5)g6nGdqNuawGo4ObYN53* zM%!cfy8}26@hutK)^OZznSm)&PJq~%Ch)(h)aHR<5Wj-~{kWET8dzPguM%DXA7u-q z_25$|ZZp`^RfGa?*&zK8`!kp~#^2ySP|K?||1}x7hSL@oZf{^ZAScwKwoGJ#E6xEL z_XX!*x~57c{ZO#L=R&t=JQ@53n^9i|m&gh2(4yg(t+O?=eGv0lj)9NLJTjYx$;Xp> z6~ys4%|)c{+fDnGfB)= zfUkfjBY2N~Jva?FP2)8CLhxE#d+;nYe*#~@gH4{?uY+%({yi6gtHJbtWD3^O2Mj}# zr^&=<)ZI670(S9f-Rj>gq0aF5FhzNm)twW(9qy8}f}^OXFzMi}GO+{l#uZQ6VH{#N3IDI2`{!yKV008qWsj4+;L{)K zm${FFmtoL&)(3xsCt!$r?0rUHRg0^LL$#0_gUe(sva!y^RMS=yXF%LR#&$#yvt=gj zN@Wgq)@g6!>XtTL9)l777d@nHFN-^3j>yE?air#A5Po2efOyhH+>=2=(SEQUO?E_ca}wO)sy=6518>6r(85!|O7KOwECx+AhBeKgQFve;R|vXm zZl;0L(6bh3`~rA_EQ`VFVe1}!+<8&Ut^RvJOo;O#h5 z?5d@2ItH^3hKi?|+JSjEJ;z`PS%&gIqb10Mf&V_e!6uUf8QukJ&Wpa{{*h=O#4nA< zX%ZHpl83*L zi;IXhE!X+r*=!bk4~!FBB=hQD*C9@pwQ=Z__M+H$)7lB*oILurDZ-EL;e?Eq*WWfp z`qO(;yPp#Hn0)DSQ&ZXL9a8}QKRCVKF}3%lE2qol)OSo#VzqpOBy>k?wJdwb)KVUU Op)Wn~v91XGsrWy6tw_`W delta 34835 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¥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 diff --git a/STS/Core/Inc/yunhorn_sts_prd_conf.h b/STS/Core/Inc/yunhorn_sts_prd_conf.h index cba1c48..3c3fc43 100644 --- a/STS/Core/Inc/yunhorn_sts_prd_conf.h +++ b/STS/Core/Inc/yunhorn_sts_prd_conf.h @@ -61,7 +61,25 @@ #elif defined(L8) #define YUNHORN_STS_L8_ENABLED 1U #endif - +/* +#define PRD_O0 0x0000 +#define PRD_O1 0x0001 +#define PRD_O2 0x0002 +#define PRD_O3 0x0004 +#define PRD_O4 0x0008 +#define PRD_O5 0x0010 +#define PRD_O6 0x0020 +#define PRD_O7 0x0040 +#define PRD_O8 0x0080 +#define PRD_09 0x0100 +#define PRD_10 0x0200 +#define PRD_11 0x0400 +#define PRD_12 0x0800 +#define PRD_13 0x1000 +#define PRD_14 0x2000 +#define PRD_15 0x4000 +#define PRD_16 0x8000 + */ /* ########################## Product Selection ############################## * @brief This is the list of Yunhorn STS products to be used in ALL product config diff --git a/STS/Core/Src/yunhorn_sts_process.c b/STS/Core/Src/yunhorn_sts_process.c index 4b45941..60ff2cd 100644 --- a/STS/Core/Src/yunhorn_sts_process.c +++ b/STS/Core/Src/yunhorn_sts_process.c @@ -1117,8 +1117,9 @@ void USER_APP_AUTO_RESPONDER_Parse(uint8_t *parse_buffer, uint8_t parse_buffer_s outbuf[i++] = (uint8_t) (cfg_in_nvm[NVM_CFG_START+j]); } #endif - UTIL_MEM_cpy_8(outbuf, cfg_in_nvm,44); - i=44; + outbuf[0] = 0x43; // 'C' for config + UTIL_MEM_cpy_8(outbuf+1, cfg_in_nvm,44); + i=45; STS_SENSOR_Upload_Message(YUNHORN_STS_USER_APP_CTRL_REPLY_PORT, i, (uint8_t *)outbuf); break; @@ -1232,9 +1233,9 @@ void USER_APP_AUTO_RESPONDER_Parse(uint8_t *parse_buffer, uint8_t parse_buffer_s APP_LOG(TS_OFF,VLEVEL_M, "\nSTS Tx Periodicty changed to %u sec\n\r", STS_TxPeriod_sec); #ifdef STS_R4 OnYunhornSTSTxPeriodicityChanged(STS_TxPeriod_sec*1000); -#endif - -#if defined(STS_O6)||defined(STS_O7) +#elif defined(STS_R1D)||defined(STS_R1)||defined(STS_R5)||defined(STS_P2)||defined(STS_O6T)||defined(STS_R2)||defined(STS_R3)||defined(STS_R6) + OnYunhornSTSTxPeriodicityChanged(STS_TxPeriod_sec*1000); +#elif defined(STS_O6)||defined(STS_O7) OnYunhornSTSHeartBeatPeriodicityChanged(periodicity_length); #endif // 2024-07-31 @@ -1262,6 +1263,7 @@ void USER_APP_AUTO_RESPONDER_Parse(uint8_t *parse_buffer, uint8_t parse_buffer_s break; /* End of Upload Periodic interval */ /* 2222222222222222222222222222222222222222222222222222222222222222 */ + case 'L': case 'S': /* Begin Sampling/HeartBeat interval */ if ((((char)tlv_buf[CFG_CMD3] >= '0') && ((char)tlv_buf[CFG_CMD3] <='9') && ((char)tlv_buf[CFG_CMD4] >='0') && ((char)tlv_buf[CFG_CMD4] <='9')) && @@ -1277,10 +1279,10 @@ void USER_APP_AUTO_RESPONDER_Parse(uint8_t *parse_buffer, uint8_t parse_buffer_s STS_HeartBeatTimerPeriod_sec = heart_beat_or_sampling_periodicity_length; -#if defined(STS_P2)||defined(STS_R4)||defined(STS_T6) +#if defined(STS_P2)||defined(STS_R4)||defined(STS_T6)||defined(STS_R1D) OnYunhornSTSHeartBeatPeriodicityChanged(STS_HeartBeatTimerPeriod_sec*1000); #endif - +// LEGACY CODE, TO BE XXX LATER ============= #ifdef YUNHORN_STS_E0_ENABLED SamplingPeriodicity = heart_beat_or_sampling_periodicity_length*1000; //translate to 1000ms=1s OnYunhornSTSSamplingPeriodicityChanged(SamplingPeriodicity); @@ -1293,6 +1295,7 @@ void USER_APP_AUTO_RESPONDER_Parse(uint8_t *parse_buffer, uint8_t parse_buffer_s SamplingPeriodicity = heart_beat_or_sampling_periodicity_length*1000; //translate to 1000ms=1s OnYunhornSTSSamplingPeriodicityChanged(SamplingPeriodicity); #endif +// LEGACY CODE, TO BE XXX LATER ============= // 2024-07-31 UTIL_MEM_set_8((void*)outbuf, 0x0, sizeof(outbuf)); UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, parse_buffer_size); @@ -1317,9 +1320,9 @@ void USER_APP_AUTO_RESPONDER_Parse(uint8_t *parse_buffer, uint8_t parse_buffer_s } break; /* End Sampling/HeartBeat interval */ /* 2222222222222222222222222222222222222222222222222222222222222222 */ - case 'L': /* Begin Sampling/HeartBeat interval */ - /* YUNHORN TODO XXX */ - break; /* End Sampling/HeartBeat interval */ + // case 'L': /* Begin Sampling/HeartBeat interval */ + // /* YUNHORN TODO XXX */ + // break; /* End Sampling/HeartBeat interval */ default: /* illegal CFG_CMD2*/ break; diff --git a/STS/TOF/App/app_tof.c b/STS/TOF/App/app_tof.c index c1c3c0f..6099674 100644 --- a/STS/TOF/App/app_tof.c +++ b/STS/TOF/App/app_tof.c @@ -34,6 +34,8 @@ extern "C" { #elif defined(L8) #include "53l8a1_ranging_sensor.h" #include "app_tof_pin_conf.h" +#elif defined(STS_R1D)||defined(STS_R1)||defined(STS_R5)||defined(STS_R2) +#include "X-WL55_WLE5_53L0X.h" #endif #include "stm32wlxx_nucleo.h"