From 94ecc351fb81e747512368cd72aed948e92351b3 Mon Sep 17 00:00:00 2001 From: YunHorn Technology Date: Mon, 30 Dec 2024 14:41:24 +0800 Subject: [PATCH] OT6 with default color of vacant and occupy --- Core/Inc/sts_lamp_bar.h | 2 +- Core/Src/sts_lamp_bar.c | 2 +- STM32CubeIDE/.settings/language.settings.xml | 4 +-- STM32CubeIDE/Release/WLE5CC_NODE_STS.elf | Bin 166876 -> 166892 bytes STS/Core/Src/yunhorn_sts_process.c | 32 +++++++++++++++---- STS/TOF/App/app_tof_peoplecount.c | 10 ++++-- 6 files changed, 37 insertions(+), 13 deletions(-) diff --git a/Core/Inc/sts_lamp_bar.h b/Core/Inc/sts_lamp_bar.h index 1942548..b93ab66 100644 --- a/Core/Inc/sts_lamp_bar.h +++ b/Core/Inc/sts_lamp_bar.h @@ -75,7 +75,7 @@ enum sts_oo_work_mode { STS_REMOTE_REED_RSS_MODE, // 6 REMOTE REED SWITCH + RSS MODE 2023-05-04 STS_DUAL_RSS_MODE, // 7 RSS_1 + RSS_2 IN TWO UNITS STS_TOF_RSS_MODE, // 8 TOF + RSS MODE - STS_TOF_DISTANCE_MODE, // 9 TOF DISTANCE + STS_TOF_DISTANCE_MODE, // 9 TOF DISTANCE O6T STS_TOF_PRESENCE_MODE, // A TOF PRESENCE OCCUPANCY STS_TOF_IN_OUT_MODE, // B TOF IN OUT COUNT STS_FALL_DETECTION_MODE, // C FALL DETECTION diff --git a/Core/Src/sts_lamp_bar.c b/Core/Src/sts_lamp_bar.c index 678b6fe..01c7d0c 100644 --- a/Core/Src/sts_lamp_bar.c +++ b/Core/Src/sts_lamp_bar.c @@ -56,8 +56,8 @@ extern volatile uint8_t sts_service_mask; extern volatile uint8_t sts_work_mode; volatile uint8_t sts_reed_hall_ext_int = 0; volatile uint8_t sts_status_color = STS_GREEN; -volatile uint8_t sts_lamp_bar_color = STS_GREEN; //puColor volatile uint8_t sts_color_occupy_vacant = (STS_GREEN<<4)|(STS_RED&0x0f); +volatile uint8_t sts_lamp_bar_color = STS_GREEN; //puColor volatile uint8_t sts_lamp_bar_flashing_color = STS_RED_DARK; //0x23; RED_BLUE; volatile uint8_t sts_cloud_netcolor = STS_GREEN; //netColor extern volatile uint8_t sts_occupancy_status; diff --git a/STM32CubeIDE/.settings/language.settings.xml b/STM32CubeIDE/.settings/language.settings.xml index f1b15d8..9e6a728 100644 --- a/STM32CubeIDE/.settings/language.settings.xml +++ b/STM32CubeIDE/.settings/language.settings.xml @@ -5,7 +5,7 @@ - + @@ -16,7 +16,7 @@ - + diff --git a/STM32CubeIDE/Release/WLE5CC_NODE_STS.elf b/STM32CubeIDE/Release/WLE5CC_NODE_STS.elf index fdd3662026ea2c3bf88863ad224df41992100157..b90af9cb8616ecd692684c667790428c1c0a6912 100644 GIT binary patch delta 37676 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 delta 37604 zcma)_d0bT0ANTLM3^1U;u&5{qGlM9~BDf^x!Xl3BDr#!E;8s|gkXBgQXlY@osaHFi zOPdy!nu>&$xcsux%#yOwO0&|`QoEYTus@&gWyU!(&-2HFuj}0RcRR~H+udfabKhUM z@2XHAQ=z2qBT3T1)uyPke8n>}0M)A0slODbwRdCKzH6s0+QI?Gq4b*?c4sh3(Lvu;hQ z$+J92z0jg$M4Xl{rYP+ri`Zbr8hJkGn`U!Sa8Z9tz{PY+vL#6UqFH&|n9Sa(tRUl6}|EHdCkWs-yi= z4a3!zBz>lbdbPz1(ue9j@&7=Z&fS zQ_l6B!eW#G_dVU=ndV<@WviqO=WJ5q$$x#N(2V!@8q_(;iTmQ2PN}`GgheVd`#mZD zUaws27vXn*6Ei1Tj3x=e`Y3IZ!>m#x+df=fm3r!$yp*leskVkx^YA+v!EAe?1(g|f z>Y4{C^hSdr$}Z^(Nrq0n)S!1rl0D$}OM}tDWC5S=8qAjd7B7^$)JFfmXCwB;Ua^h- ze*(#X z-MM!B&`892bq%*x~e9p#1w<(UDA9j-RZMh~?EdQA^wpv6PI z*xUmgpd1|#JZwh2E{7REwUtTLSM{kn^~xdXu%wg5d8m`oxIEMe$jaYMEwyuymEcCQ zK}}VYCbOQ1nIzQe0wru5!q<9!Z&)B?QI$RpiDkokCPKF)r zzl!~{a_jyw?8h0%E*0K7cw;ck^in4umJTn6oS~Q{2V2u1c_HkJ5Z5DHmpS}SmDe=M zw6)XUz3Jk$-kHK;iJ+D43EQ_{P$<;pAR{rl}{_S$Wr6yjK_q0(U9v|H*T znf(5iC4)MpDco$b=*ux|Wq7PLsNS(1Qy<&Gfb-hq-8JfB}C39$M1pgSzib}6s8O_U6JzFQ6(!-6G>Z^uSPxZ?K%DY43 zdc32Rz*^r1BcQh$g4wX8wzS?`qj-%<>UEjk>XkaBaj4n!zlPSa(V$j0^eXCxu`#T!f=)X-OYBgR|WaamaBiP?LS^2e}; zFhr(gM$4D0m4`DEtS+!(h_*_z*T9-AY^|?|^=wT0w zcV<+fLG5ib73p#@QdHTf24w7&?(ZT=Msn0w`sIX`%CR0bn2L}FA zQ2#=|iNY94{!<%!Sh`z`IaDCE;g9(}EG)LWrE^}}!<};?H0kArwA;)hJgcZEc9E|+ zK>ee!sHkI>x7jx_Kt11xrJPCfHOE*UE523it-hc%WrbOfHefuhmdtJKHFlukuPbqZ zk}(DarED%k?Sx~03qC)=b{5+o*gVph{x5u@DP%R*K5+>1puV^=0*9I^L2eAg9#uk9 z1JjD%0f)D?p+jbX`c#XzI=E418L>w)hfK96`&>iy)#B7Zs4EW#<^|@U-)RT%i3Zj+ zASa=i)(%weN3rVjRx9dbN|P+!s<+Jp9-CS&UTLjUIx=y{SP?##Bh%T~pQO}fcMiUY z(M^gOUE@{WQai4}qnxRmmF_vSA6jl>G5Q*#B|!bVIWn_{rM0G~HFVAi%{*5sq1|q? zF-!RYX6~3{fYo31QkPJqd8WBTPW#M`MQ^1iAI2!8j&2Epv_p&E?!;=Zr0X@_>UiZ= zPMG{fz2cwSDS06>LYbrHvmE=ym4-Y+W?X4PX&0XWb$#>Qz5Y2F2VzP)mbTRXjOJFH z>Vt4U9a0K&!?7-2nA<_V^Re<;ZVxtFIhs2tEx+DRTa$R?e21dHkBCRH^-gDc7BgIx z`dsq;+)2G1$+e z!#=N0?&^sZnl#O9nVBQ6HCYl-=`-sd5$s4(Sm%QY$6J-_eKvmjueVuVga6aR{Mi~w zF(j7DW&6B71$#Q|9jzaX zJsM69Vj-fhACNT=jXk4o0RB(1#p75-H1*GsOrfP->SE=$;q9zb8~Z@orm0Vsw6;%< zPf;HXDgo-)#$J$0O_KUiV4zp4c;D@5TCf?9mvyxIQi?4vjc2M_S9^H=waQ z{4O;b@c(a(ZFZ|TD%98eIie@)uWTEUf_3lZ5wUH?9$=O> znQikt)OVGzkzw(@Y#!(ko;l3iskrV6HI}U*7+3VtxTp-KUxod-m7bQimi87e^PW4w?4!6m=dc`a0VvU!&ut|#f<@E47&&*}!-3|Y$l1WSoHUfE9w$yH~*JFA6%oAZn6%DulmCTY7XwkLSQ|me!Gb)Wn zUuG!Zj+$k<)5NwXTTa<@i)8g?li8An^K+ciw8U7r56zdRVS6|6YbdoBoq0L@7ET;Wo*&JHjsW`M$m(#J7&SjcwpZ!ESEF-(P znt{2OsgX9XoKB^zhZpAGj>Tjnqpr6eqP4}lXjWd`6DxgB`*m-BTG!pP=F`%y*@**w z-WyyTT$)%Ng_)bh*4GS~FUQPJ95CcBIoO!}^WNue#zgf>=e*~`rKoG6tap%&4R1Tw zH`Z43ztWCM(*xrNRZ%&Rfj6*S$EHJ|r~|rePpt{*tLeNX8HsltO6^YSvTFB0EK$+o z)&{7N%7(E&_O5I)Xp?zU?Uokf0l&;t^Gpl&n+-UIzPVAQQtZvse=Lw<|2`c8&o<@$ zSe(BzF3S3HwPf?qv#eCJKUO?6*Uqi%nHM|%(fN5je%_l=^XcCn!5byt*yO{$QIa{_ zLPt9$CnldN<>5wZHq(amF8pBrUz&X%yS*tpxUjWl7`2u$vT>a)E>Vh&t667DNzC~K zBUf=tZFWneu(n4_iAU#W_V7JC{LYlA zkIo-8r1HvN_xLaHXIB!7T53&Azg(e8j6+3HBV2_oANy3fRDleib1P@$&Om{Us33Mu zxja5H@V|zZ+Haasn&Rf#Pq2SOY4_l*@$=9zBJG{+aV+mc)Bssm)7#S8{bn?@v#|k^ zBAGjAHmr}o`cOk^+}|}c>ji7&9)$>j_6T`c57DU8Qu~!M`Js*vzJP2|RzJgMO(xUV z;k@o4=vsqOh`!dnJXT-_dbs-{7gu z+0x-nh&R=ueEZOA-9N3@=GDX0oJhP9+j4|WMDy9UdjT4OXSoi|r$Sjhp#!_2Y@ZO# zRw>_1h#ayC7hrVT!!rHV#SNXZ(abQ4jjoTza4Tjg78z0x1m_|{iBXH9>=`m>8Jesl zP3&o{L27%^IVtr^*e|Y>qWACi!l1ms+}+Z#Jak=v+TXSa`#UiT^|9$xtDIyBMbk`d z*la6I91$z2GoK$H+wXK*?87yiZBr75#7?bgA6HoOcCO#8DIUQ#)^q9@);A=+t_E$W zadXZ?3t21{DITe6!SfrfS-(#>j^6g|-jLWuwm4&L4aZ>FsW`0k=e;>k;N-3G)yzdW z;qq5K8rqvfw=YM5@6^AX-QM*6MM^AVK>OI(v%g*qR_CxDQZ}|iZ1nG2)(?AW_lRWg zYMLHW2WhiyYGPh&+p|jHq)_Wq(x}*ur<2io=Vgazoq2T~ru9OMJ6H-8+ndIAyR4*+ zMZNHEa2aL|G{Qe|{bgk{R-j$<lv2DIePeVnGp6-ET^wBE zX=yOuQ9?yxmS(F`a@y;BlfCjFf%VKZPY6IEF9M~T@ITNd?%k15g8 zQX5;h^Gg5h@yJqM)TrVC7`2q*!TA5XVw(IaujHXJQuE@TKHdK8khtvAnQ_)T&wLo4 z{Qw*!I8Zr4qehjqjbcWnBq-{1v7zL<61{1|mC>-A@u3&m!ix=F>-F1%lKoX5<>=%n zE1jkIt8$&+#*l1}+q32(TPCHr?Z%PCtoL`tZ8ip%_--6k;4 z`aJz=AH=)Xtj9|I!NwR%oLRqJvauY0^*3CZi8t{p)LQ#vlqka|bxj&Ebiy$?Z+W?WQYtzkbxSd(ei6>1SQN%+L3+`Yc*+3eurtACQL ze=IwT6WEI_wKE%jwM%SgCG)&YgGpAKY{mBWxv9=<3Ee&m?Q=z)=`r-kAzH}(vA>_4 ziIX8RzG8a>3pCpMU1=%oKIWmkq4n(6DeuE)d`)>VtU>ObS~Ji*YRCiG801QV3v-5y z$!b#=Ttp3G6j~wG=`dT4J;8#y%uJe{{na6L7W)X$-j=N_oD$nEH9M&E+r6Eh=%;-? zh>mopeu7dxrC(NzmgWiXl>f$m=t#AvmTC;9gWw_>UdIh-sr|whW>4p~Efnd5ZuiHP z*!EgF&9xu3bW#RQ?bpkMk)WlvM}6aEUAAlrERHJvW8VJD(qTGAbX;i3ccHeWWi5^i zjr4C1Qw~kN&q`By{53VLY_}A>!q$0&q~2|MA$Q4eVPfWhJDa?xHW&^!Y7* zw<2VFg!by}=4xBSy$~}slR?U|Y0=(2S}4Q}rE=Q%k@d~7rO9Ppm|QzPE2(1}qKZ5+ zq6!_d@ynL&mDG>x|6fw>W@|8ad`42Ul*!YhvHn>)J<0lRGwxX=YD=WWez!U^O7*#h z)?!cBa>sgOZ1}H!@=oN`dUx!Hp*eK^PlYXO9)2aZR8rC{AvtMi6@IFU4d!|FduPVJCp2;ed%@2pMZOVa%!>r+1OurVzq!MLfpNdN* zeG{@x*l2n99=2`RilKi6TQXM6X)Qy-al@#Ft`N1<-mDJM7MS1f4Xz1Br^QIA{?OFJ zV#r*Cy_%+g92v8ef6l)8C2FeA3${2ZxjL-WLv86QOR@jfcxh&ba6?9yNv;Q)Ja9_$ z=M_qr`h=`3dt@5>Rk`slwj_JJ(&V~D9|2!<`Dide*lh0&Tyf$kRYxi>< zU3*zHk`~uYomWqlTch|qKC*u~rZu|MVYDzcz1{@*8=7saq`xLXW3sebF*UJ%_?_tD zrrPBd%H#dz!1$)-E4Tw-lu)fBaF4*CoG*^@$-(`$&;yONpDR8k8`&2X+e!jt_ODVo zcN9BO;WMwZ9Pn|IrzNUrW6?w2e}CUtTcPxQ>S^}0vh%4(+@?A8R82s0W2^pW@5|8F zDm$O9U<)gzltwezw^1pZAHnJ?-kbldCmX0lS-bmptCPaY)9-$#yVzK3s;hX=deB4e z(V~RDaGjl0JeR}=>}&S2#1?IwxzX$GGYz#nm9!;!>_z3(C0T5Wa&E~6Iiy*cw-i;N ze6lo+eXlevtzvU4DqoCc?0m&1$ea74sDiV4xDbN{ZYBGA|;?olZ8UI zuBM@Ow=!U5&%pJXtPbbGDR-Xwu%UL9^6bhqzd4ZhE_%?@6NR0roLCtZFjkX1T%y*iS)pJOlWc3Cn>;0L2$Y@db=8G85J ztv~-Lic)nRi(|u3h8m^r)mXnzY)8UUhu%7O`p<^iN+oHP$#1JBxqI#aBwLipt2(n+ zm4%Q$hbR^4ch4!1mnt8uieyE~$yI6T!_eSbYO5QinCB5S)h31c#@szO23GgmQnCNd zx#8Hyk`-3(HzppS8$<1LYKq#Vepfj2N<(coo07l!MZZ55pciu6#uJw8bP`E-5lmx}kA?g5ps`_ZOPI_KdD%Uw#!8k65<&3B_F;mYhaQGQD` z$#_j-RW`4QXAdhU*F>{1%B?lQEJyKFdIu%J2D641e?Q`PZ&9+9UUFHs@|+SuA6t|M z8EQ!xhFisHYhxL&n7!7U$-&LaQ|s2VS|#AM*udTBOn($@^kUy*s;#cCEmv}0>y8uE zD2un{dQpg)s$(@Cv8*Q4VuSW2WyNbxvndsxe6uVkHY-~<>|moRM!w$0n^jdzd}}si z7b;G^J=D|Z0RBvxDdobu1Uqw>{kWpCv#)Kfp&CiiYq?yGv7l~io2 z8piz2y&>rrza{A@dOM|V{|lb_94zvb#Rq1vpDL~#h}RAE-X-Z7ws!xIt@ln>d4s^@ z92ht z=?ze&-Inx4_^gEKsrM@;efpOypW0WE{ds}RMptY;{)H@;6(|p%OpwRtD6gIDD$mSO z4xP-F=jSNCUuDZL=2SfJ)lJRD^38)}`t~kBYm09@3(G zbbTrnqN3A3UfQSmR@;f;d`L_BtV4kgG1-`|(Og{o!SwYpiI%Z+!p@6>F z24M?rY-y4H^6K~c2A|Z_TAzNc#@yeF-DZn8^JZ6kTYYifn#*r{v!B{iPG`kpYKQyM zp-iGMLvyQs*E4_SPfAi0!C*vgRkIIEr<_%#`?0;u>pwK5%ABftfA+90>;PO$Hq42C(QuozMxHl#n8?O{2dofkNg|jf` zRXh^5!>i;7c7fVJ)$ft)W9B=01k@t;Y@WB?VPI;@G#c9k|?+Jt%jptD4l4{mJAzBe^As{pqy? zbv3S_s#h=ewak1t>&rR>b%v}fwnS|Gv85OA9(~z#_HEUxec4RLYOCt*W5F^8sw)5f zEQWO`sF!hFVq25crG1Xk5{}DBvzu?#mhim$S*+~Q#GknzhkPABdOsU4`#16M0c;67 z$=@2l4zT0=p@D3+T%N+e9LT=JXVq(i*yAkp*2i*e$YDJ$uHL=EjCZaiLo+u~?Q_6`0O)Si6q6VoLWQT52yI3h6BwgL`6~ z$V-N>_vA|{yi*2ySw1$3znj5|+2>UqhO$!(hxoDuu6mv{41x4~;xLBG-~6p%Y!uU1 z{WpvSGx=Z&_swEmSvXJ1V!hjiBYi`qNA4dp*AIK=QA#g#SU8`b#Uf#`Aq$S-{6-dg z2p?J5>_dFiWwYM+h|gg!u<)uqIV^y&PpXdQvYyQM4APNCGyTt_czqsw)K5PKjmN&V zeNU`6F0Y z&mPxt9rh+R3pN$od9=>|@Hzg;-j63`_8Fd3&^N#Ts9vM*8^uqLVUw#Kc!2#+SJmMm zwn1($`hEjH^8GQl>hp>0d7ZT$jg(=Xm_IgWvNxKtzIA_82=;xjpEhE|C=>R5v7eEi zH8}zMZLps=q+s*_?6=kSbB1PO->-E)aSZnTX+Le0wjV(I`J)o2LXOAuqz8u<4F4AA zF9lPk^Dm~d)z-x!7z2WF!=fE-l;Lw-1k=xi>}VL8aVMsa4#LGfBhv>)GW{6H2f^kB zw$I21+gxleVVi>e8z!dz9=grgs8{(-W+l=hi`}1peC-ESL|R%k=WTLEJKz_3&(jT-Pc; zJ(uY`aYimleDz#3NH4x;E%413Be3fQ$wX456Rn&TZ__`FMOK4YQ?E*D@(Ez4#Q-Djo@Aa$Ahy4P6As59t3_s z;4E;lz#ZLqtb|0z@fD@0jYPh)lnoDTYtOYL`ADzBye;>e53!>#5;FS(#Ckq^K1-pF zv}-;a%!0nMR~8lb4i52|6yE#{8;r*qs|G*I^1bjtBwx9hO=42jjm7BN7(Y6{z~<;M z_EfEWiEYsb;?XU8J$OjSmlR$#Xcha0Vf^x2!-jjwjTu#w*0X#@JG(ZpNwRgc#aVMy zvIzoHgarbVev!bWj~nLdpDZxxa|I^<(E>wnl}a;R11uMq0<0C70<0I9^lu7G`mF+! zetMQ`{3Qa9m8PMNa$F5E1f~F`0&6uOFzLf{UH#((COwYwW)?XmJkM!H;xhtMSUKNS zAL_=}hdcFTA3DOx6mKBEv6;OQ7$vxoSr@)}3ybVEy};Fak-%iON??k%do;hfg+(N( zqh0;N$2gh%Vgx3?>3q-|ETz|*4>-+8tRL%SE%O4C{>`y`*Bk7DwOo*s-EKEN?Z#)_ z_@Wz!j&r6<>68jg@fWzVRq8a}=|BdlZan=#SH0mOCsP9B1SbDNH-65I*9$yWnl4GI zAfNzu1f~SSCpZ(Vz$ADE7l1+`XBacc-YDpapLgSzC-9qZu?Xv*g1ix9@f9$|k@1iG zq>0XSP9q%#j`UR7m{-j^-%E8hqK|l`IC-E(BvwW+~O&&7YHBhL) zwabdL#4{>S;kQWj>V-7|uU zOn(uW^cMvt{dIv!uL?~1MuAB$O>wP)woc~5wy|id!6}gL$Eq$6OqJwll%ay263|a` z2BZW+-S{gvJ|i&s&zj-lZ9^4v+~-8&}c!w9r`igT)Uovt`+o@=$itQe)?n1L`lCyVCV~^kXfz< ziEg~#jm@)N?UxHo3C3~1a#U{e<4&`S$ajBmBGgnaEnkA3@>L`->6Zvh`sD(X{!M{N zzg1x9&5}(JkbyMEnIQ^L#7~v8o=L@S;xd7?bOk0iBah#X;>8rZMk_6GGPx}hnA{4V zaMc&N@jN$v&W%?IjCdZ>)+hMa+cE2u3yQutRof1x^}3_|924{z(0>Mwv+F5i*9ARg zTorgM>~9fcX$n6+15|u&+bC=Xe$WGXo0{~n~MY{{ceFtzfWM&Ulf@1mjot#+>6dkKtD}N6a-{Y zEHDL_Cot(lUvdc`g}ZSdfyutCj6eP%2E|onPCt?#7nsudN?_6(mO1T7A1W~E`v^?> zWH-Lwm1P`tzuh?M;{`I`hx;f0>=a?z2XShxDa^q5!l_pfv6AEpu>6a>U)1ty2}-0492-EO>3V6uO6y{rA!^*mu8i|AD@ z$jPozV2UekaQczHYy*D|e%9rJ{60($E5LoAcgzt-1br6tN5Nu~33=Tam(mFpn9^A# z@C5kN&18!`eu+PNE8SVfQe8`M2@Gz5Gwn|{2`m!$SJ>0d@~wh>=sQk(?SerUK|ldRw>b?c1F3F&)s1(* z>uTTWJy%{Ju$JNSd-`tLRjMUUfi^`QbK|Sod~g*S>v2IIfLlH%z!}J(qpEe=?**2+ zLr)I|(D*`E)%wycB7v!3Z3TN`e>XO`a=H}cDv-9g@t1Dw`@S0b$U8)0|K&F&XLPuaL6 zFvZ#N0rx+^2B#hQz?of=UlN%7t_qAd1SNXtVLIfFe5dji2T;7+9nLV9kR5tXLL4*J z@8Dk}IqO!zPRoYCl-zDNJ}WTUOFNzEkiAY|(r*%2E4IMUtpDDVN?EuF&8!_0bB5R@fIt$5()@!5ya zKNeLw3;q|(=Nwx?iw!yJEmnyYq_AO=&J-?h_LiXl4$>?peOsS0xyUCHgF>3_D*S)P74O) zfHzz3txZ3K13d>N4$^l7J=r%3d6o~hEEGT5%x9U2}1hD!>;ym0)PIXB*lZz zI_-N&Ho<^uP>DgeN#G(pnc=AT zQbAAgj|i+?(K`6KGhlZFP_S^q0HiIX$lM1Sb6|fl0sWD`$LdO?*TUkU{z>rvU{R zAu#FJ*0}1|3rzZP-@57x1t$Hb@9*g!(ALDiI0f38_`1N90aaiMVEo};0L?#6VA7ZJ zrq9r}%iP2nKf1c*3QTTO1*T;G6qxjj&bj)p7nt-11%|&>O8v>{Kn8t&aWW;4DlqBS zUvSlL6`1rvzdH4r{Y58Jyd45-x8}S2?rM-IFaSvNLkO<1A9%afv4!$KY6Y*)^G$-FUehuXN*8ZoJlwUvuO2u56WFcNIum-1u!b ze%FoPcjH}dyxWcUx-jOueJ%oAJ8|QKZhXXz|L4Y^yYX>1{!-+=I3iz*0`RwPe8!D` zxXhbRu!x|uf}D=HdYLDD$s*G3xXBm&>3WEl3rv2$2uv;HBG3C0U9?dUlUc|W*D#?1 zlYXGU6edGp(vK6E^b-Uo{SkqokCKiF0x~!wFy88u-pS$lCs~5&tRVju@^j!muy+jF zdcOH2%G36$GyfDWQDDkXAAw0ZxTojlBToRb{ zhHK6YlRiXX(#Hr)`ZzxEE7sGz)=j)#U~((J#&3Sb60AD}xeu1CJHd`iVifMSpzjR* zzu@;Fr)nkrroWuoi-UeMc%WTR>AWlG$^LzTq4$u^{KdDNqVo$uQGh__z%Sbak>m8g zoe5FkwE}Ay5m+mrz@*fzI-(wS_-nmY5iT$V#7lfG`gsDAzEogJ zFyn^Pp7falk3~b5{t^Uaa8qCkVC3h&W|8SJH(lct3ruD^1g0>%1txv@KYZ{vEFo~m zKdx~y`ND5-;?%6ViXY}XNt}AyDW)j7{5-@-BizKr0#oAi1SYp7JpMG!ugU~5nXPi; zx7~P$8-L`+pS$sCH~z(ytJejG0;0kv(ti}^81Uxf584cc(h>O<&Lv_D)jWy3AJ9j z7})}*w^odHM!a59qToOoOBa|Dd`4i>7xRhVqH)s8GLE<@?Qj|?@MJK({o>G5nDzfT z^F?8f|Hlt~i}Ig#lP|jKv?IUe0+Zi*fk}T!VA6-wy84F-tYu$d_*Rk0@0+aquy{q2l#t99g9t)B_f<>1I0df6EU@cygtG-m= zu`>{0t015R%iXw3vul7NfhmCn0>6YqPj54&LQYNYLvUpdKXisA^rEH*G5%T~T3jSN zu}*Q`5e_BgW9wZW@jaTz5+OdxFSs$j5Xc_4b*3`6xbh@7Uf{;Z1g3nH;n{e6;7^N( zTg$Ej>8u;ilbsF}V3EL-;U#Xo(v2^;vEIWOPrJ2z&_#e5MkgAekGk;^fhj|83alMr zfk}T+;6HK1=moP-$ms}b*J!Q_2IQdgbY?&ckjpRpfG3Ldf}9eHapPWYtmpARVy!mM z+ZoQky(B#eeje_QwZ~mS9}0afc!{82pm+LHc1nGm+ynOX>Kh8vS{~>Z33}K^NvUm} z4$c3cId zYT6{|Mh2E)g@ksvlPb?v5k<(C zskcf!VL)%;nS~;5avDhep{KX?#B21Y1wGaL8G-X)PjC2%y)O}O{=p1?tyMVi9^?CM zCcuGSBgD-Ntu1M7@t%P!&4iv_Nfd8}Oc3;?&=(Z6me4VL6bkz1p{G|59ZyeC{6`&n zE0SCX1A0$UtfI#q2GEy7Pwz5{`X>baLFnndM=GLY09+vGKZl;)jm)s?$Kvy#U5}BV zwMvc%4!^>IUcM9)JSOP>fu3Htj1dA}74%fX>jF2yo?g-v4@o9o-h>&AM6DSZ-73)7 z6LTrO-HGM*y%H4(dIR+IRw&x$J^dm<9}YdeNxIgqrxM!)eOKt|wQGYE>kJTrS3qHh zKUwMn1A1*VPNUYd++@D+S4>^0f>|ES=*?2cY5g=Xy}2shWhoWxsbUrgO!-isD74#HP6_^6X;dNJh;IFmfQw3f|1p?cIyDeSt+O5+b z2P|0-yafk(FSkr^D95|HP6u315O^=_>0RD4LWURM9beIYt-zncp56g|M$0ZT+!s3r zy!`8M_yGp=GVl>01JeaPm3Y6A=l@2hPDZESb@_?2ijf`l|wy z{<^^0jWvB&*AlfAm;%HIOabEDI9Xt_A1yH1j}w^m^91flV`8ZwAcJy&DZmbaNqY3*C5?8}D`F(*jclV!Asr*sZk{54ltV z;>MlaINXhmZrsI?Q63y)eQ3*rqZb$@Un3g^6WgQQx!MA?T?hcMJSE1bf`nQP`|Hi8_GkURmkBgC0 zqhLf%x+K?wpck0*27$>xMBq9I+JVa;cNBh=pocn0+9U`l;5feUI;QjK$QKBIt;3Jn zi|@M5@&g;)3YaW(fjvC>EIVxnE$?ALN}? z9KV=;&Nw8F6PVl<2u%7#0+W7KveTa!UyF1>#clI)H~GF~?tcq?@1UFfy1*1)6`0~l z{hjeiuM?Q`MuAD+MPSko6c~Cuk|GGmV4lDfpj2SeeGugt`uzfv9%q!dSv+HoZ=Ky z)&_FFJFxEKCQjvpAWm|A!;W6s5hh8_uh#L#*`3IG={sV+;tm_G{lr&m+O795wBH2M z1g%WJ=OgOr7i>hPABYi|eknp^`ZX1i>DN;P#<$(L3MBgB62U;CpUV(AD#MkBxH0|y zgJ}P@8-MA-{HOm|kbFIZ-~12VCuFFrFa7j@7>mAPUu60^dy%JFT$#RmUewdK!;4Jc zvn?>+c$X#hqAwU0gwo%cu1w#^E9%!}@#ec|eDu91qWpRmPpCzq=uHh#u6@O$CTKmv z_;nB${dhOV*EzfB=ezNXZcGn23h8;!GcI3KMk-wu+ATG~P`leIGTm(zneNVtOm~4r zrf&}vxx$sL5`CSTXh2^Y=)!q!obSfNU75Z%Q1qv7XA}9(NRe@&%*XAVzo39O+gQX% z`f@n8Ijp^nDeBr$gPmEaY)oBM#B-vqD5 zgBW;-SPQ=wycqL$46bsK|EHvn=FcIn^*f<98X&*+eCzAsWM?qanS=H-9a5m=E5(3I z3R`Q>4E+G`!kMja2a){iGFTGp_$=o zC2wkGJ>|M*ctQ(s49{!9w}~9Z`jys|l*gCwP}4tP8BE7v1Gw)?c#Pg2btiZ>-wC%M z@o@bK@#-h|%@%x9(XY6P?`R%si&5N$DQ+C#X zlW3t}Pkuc(bKOF@XW*1?(Um+}txjsvYJ3N&&$=7Xi8&jC7ZaZ3@eJbr=mw62KZkfE zpAE4&X_lm&)lhoTUGZ839`m@*o_;EL^<{pD$r0(@i(4P|C%aXUuM?WaR&WKD(+2uBa=E#ll1%SW@lk`O~~FK;7b@@L!qZ^+yT$$ z@gAr_KR(ezPB8~;clO2k7z_rWux;(pUIp(N%MW?T5rOpeRjKwUCm}E4H^_Y<9>mDB zn|H-+@)c;v4);`WQzFmT$@#q;x6i3;2O+|(&xDS;#@nyWAU{5a#9L4=S<&>bM<<5cfO^ES@!IM0Z>!TkyN4V3FFXbydT<69;Y@#J`5S{OM(W6Q4nYaOBYRv?HNFzw8Gd;RX3jw0K8pPe8tH zJ;%2;Vp6%wANP{;U3$(8^t=^w_}5-?LQv;C)EZv1pxW3C`S;Vfzc=Dt!+BPQJ)OTG z-}yHm47qtJdfJ0_`G9zIe+))j>^v5Hj`8PUH^pzMq@QP(ze9E>oGo)7IQkv5DD-$r z_fzm?JkLtE4~YK&4-y85TJSsm&U$H&Gt73p$y-iIYA1|N(;*IgsP(lJ3bOZC4$@W737v=Urmwt zQHU2?B>jH7nHBsWO26LD>%g=5dAJ2uq6|nxi}n-5Be`E2IkKPziOjN#<9eZ`jdiZ3 zQo-HFU>dad&m!=LnA-hePgBa%;1Xe~F9ZL0nLpP?PLMzA!gsYnPkHMq|GJGlIB?Et zXPw0NMw8;5+oH;rUFL(^qGPNsa~^^hq5k4Be;o3_J?O|7S+!iBhTOzA!_6Fx{_Gez zn;<@c=#GA2=z|eEkY9j1Lwklf%j2E>`k18OVds6| z1Eu_NKRIFKRSb=EAZUQ~#ofU-Fr>!W?Ye+J5ZYS?xCKw~I>xXm;K&N+yg3KV_zgb{ z&`44-w6~T2bxZx`LwkQAB9mAy7oXj zF99d+KHbHITgM#G9v|@YW288WDK$2dS zohM(D!6i5l4!1dA6B>nMs9sKbz8PWg11S6uQt8!qH^wIW=%GSAUKq)B1JP!RoQFFQ z{8l0N50)dQ4#h19N3+O>{8wZHv%7ZuW`du@d6VOKE(UMI3B&}ueiL}lyRF|gL+xcZ z_yAUhkJ|Nzz}F`8mBARP`wFWPuR$0~F>*U*igsYU49(X7_2tz;$Mfz2}$@a>U*b=Z^3XVPMOeywdykLY`ZgKbWO7?tZQwN_>?@KSyr zX6b|0IM4VdKrD9aIpBqO#$C0$y+DlNcm!(=^E&u!3Lo476X=F(d{PHFzaUUJMq%k# z$~}$w+-~0sT!-8m?ePYJOHjITcFrOehLwrncl>xW;s*r^OTyP7U*X3SLXqyNMxGxk zC-my>=`5cA5S%RG4)Ps)ToZViFgzuLZ}jH7$p66o{A>7I^G-O|9Xp_}!zGYXyZ@(P zF<(D`n=t)_+VwZVe+ZMdZw3}?=!=d~xII|(?+T6=hK}qEJV!hQecZ9|c?1UY*J9qY zSKLSpD%%F}Egf;T<;hQV#9Cn#zkv_)&>ZK;)C8{q%bb^10*7Lib(<%2!U*Dn>M`20 zn*sTgXtIt$e;PQ8FYF}u4C+1+R~PJw9)@`H8h)sg9Ff!!tzf#{omnshaA&J%2Np}0 z0A9@f!Z5fm#l;IpnWjM8oev6=Q%ojwP{%Q^fj9~8i4@sWy$ZJS&G7DZ1O3vG=kQ@T ztH7RU365;O4^DzVj)a!% zC*X5f8#=1`BzUg9h12l(19(3CC)n-(%*1z8c9sLpVuku-p}G9v9NOD~cXs8Ecg7i+ z=L$)C+?#?8g}em!^&N>l0LEAO@9Hckqzw{Q*J-zA(~l3Gpe!?f6cJ zr(Dm%&sD>kmcyR87y;_AIJ391Fz`2iOh45gtv5Jwxuk!}&beUvO@k1-|0J-Os}k^I zJl=?8k_@e8bOb(t*eA)kCioJ(6SIZh9`F#HD0dZP#^X(x97O9HH}Ai|6ZveI z1+GJt6x+Rjh$8RJ5C;XK2N>+)(fK&hxXiycVHq_aSDPK(eLdvc*E{?9A#i_OL~%@b zSHSCVfy#`IT8+yMarSu8!*RR|c|PPxmvLR#5pO)?X}CR@A-5K0Hn<6Mmm_;ta1P&W zrkM|elg=LQD8zj+)}`9{EO-V#Z^rWZw;9gsRrobe6s~g=Rui4k@*UnoNi0lAqrvas z_&D^%;AOa#nP`u`6#O%;RXCc_R&aMrB%SQ~Bj6<5oOfI@Jq1p~Fl4anFN{E2{l1VN zio!7E$`Gr?LcQ zV}x_mE#Qur4wu;V`@oygbsfpnfY}D;na@996Pf@jLu;q?;F)|yw4B0b@>57HaK?kq z#=mqF9l<7uaTBC-S4>(R(SugmeZ59w&U=WZvB!WWWy1y;e3YN4OT&aDJ~s4GsF zOK^36lYKlm0r~hxoQa$TPZpMWe}kvQIg2chK^AdxmSKrBZuLbdtZHmU+9h%*!Tm|y?J&e3}2Yw92nmL_Y5*jWXO3CrVg{7~@6?fTI1Qm~Y@&v`@=U{KwgZ|Q-#Ga7*%(@qKG+l3Lk3|xr| zVx{&#Ye_Hkw5?!tnOL;LlUNz2+Rbi3e5#D+$I>K;(-+6+*XcpJF}N@mhcSe2#z*=> zJ%%HDE1eJR(k$o6)hcilrjtkQQQra&#dKt}^8s)rz5)WNm|sC{I#wA?kc+j^9@FHh zX?$=T7Ee20sd_w4{@(;<;7QBmNZ(8>95RP9>0$_faG4z8Nv{gU@P*6dC_H8H)-t)9 zr*?UipCXB#-y(_jD_^|x%W{+_JulIgb~{u}cv+5PKC3FJC*sZ$U;PT2ZYkgSirg*q R&zEHBJ4hXWD6sbTe*i=^;r0Lk diff --git a/STS/Core/Src/yunhorn_sts_process.c b/STS/Core/Src/yunhorn_sts_process.c index 1271621..9083ae8 100644 --- a/STS/Core/Src/yunhorn_sts_process.c +++ b/STS/Core/Src/yunhorn_sts_process.c @@ -59,6 +59,9 @@ extern volatile sts_ppc_cfg_type_t ppc_cfg[]; extern volatile uint8_t sts_status_color, sts_lamp_bar_color, sts_color_occupy_vacant;//puColor extern uint8_t luminance_level; #endif + + + volatile sts_cfg_nvm_t sts_cfg_nvm = { sts_mtmcode1, sts_mtmcode2, @@ -105,7 +108,7 @@ volatile sts_cfg_nvm_t sts_cfg_nvm = { 0x00, //reserve --P[19] #endif }, // above 20 bytes - 0x21, // color occupy (red:2) | color vacant (green:1) or other 0x10 occupy(red:1) | color vacant (dark:0) + 0x20, // color occupy (red:2) | color vacant (green:1) or other 0x20 occupy(red:2) | color vacant (dark:0) for ATAL-HK 20241230 0x00, //reserve3 0x20, //sensor install height in dm =10 cm, default 32*10=320cm, 3.2meter @@ -126,7 +129,7 @@ volatile sts_cfg_nvm_t sts_cfg_nvm = { volatile uint8_t nvm_store_value[YUNHORN_STS_MAX_NVM_CFG_SIZE]={0x0}; volatile uint8_t sts_ac_code[20]={0x0}; volatile uint8_t sts_service_mask=STS_SERVICE_MASK_L0; -volatile uint8_t sts_work_mode=4; +volatile uint8_t sts_work_mode= STS_TOF_DISTANCE_MODE; //4; volatile uint32_t rfac_timer=0; volatile uint16_t sts_sensor_install_height=3000; volatile uint8_t sensor_data_ready=0; @@ -175,6 +178,8 @@ volatile uint8_t sts_water_leakage_result=0; volatile uint8_t sts_water_leakage_changed_flag=0; #endif +#define STS_COLOR_DEFAULT_VACANT (sts_color_occupy_vacant&0x0f) +#define STS_COLOR_DEFAULT_OCCUPY ((sts_color_occupy_vacant>>4)&0x0f) #if (defined(YUNHORN_STS_O6_ENABLED) && defined(USE_ACCONEER_A111)) @@ -412,11 +417,13 @@ void STS_YunhornSTSEventP3_Process(void) #if (defined(STS_O6) ||defined(STS_O7)||defined(STS_T6)) if (STS_Reed_Hall_State == STS_Status_Door_Open) { - sts_lamp_bar_color =STS_GREEN; + // sts_lamp_bar_color =STS_GREEN; + sts_lamp_bar_color = STS_COLOR_DEFAULT_VACANT; } else { - sts_lamp_bar_color =STS_RED; + // sts_lamp_bar_color =STS_RED; + sts_lamp_bar_color = STS_COLOR_DEFAULT_OCCUPY; } STS_Lamp_Bar_Scoller(sts_lamp_bar_color, luminance_level); #endif @@ -665,10 +672,14 @@ void USER_APP_Parse_CMD_P(uint8_t *parse_buffer, uint8_t parse_buffer_size) // P 1 1 M C1 C2 Change default OCCUPANCY AND VACANT COLOR CODE case 6: - if (sts_work_mode == 1) + //if ((sts_work_mode == STS_WIRED_MODE)||(sts_work_mode == STS_TOF_DISTANCE_MODE)) { sts_cfg_nvm.color_occupy_vacant = ((uint8_t)(parse_buffer[CFG_CMD5]-0x30)<<4)|((uint8_t)(parse_buffer[CFG_CMD6]-0x30)); + sts_color_occupy_vacant = sts_cfg_nvm.color_occupy_vacant; + + APP_LOG(TS_OFF, VLEVEL_M, "\r\n Workmode=%d Color Occupy=%02X Vacant=%02X \r\n", sts_work_mode, STS_COLOR_DEFAULT_OCCUPY, STS_COLOR_DEFAULT_VACANT); } + break; case 12: break; @@ -1417,6 +1428,14 @@ void USER_APP_AUTO_RESPONDER_Parse(uint8_t *parse_buffer, uint8_t parse_buffer_s /* TODO XXX FOR NON STS-P2 */ USER_APP_Parse_CMD_P(tlv_buf, parse_buffer_size); + + UTIL_MEM_set_8((void*)outbuf, 0x0, sizeof(outbuf)); + UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, parse_buffer_size); + + i = parse_buffer_size; + + STS_SENSOR_Upload_Message(YUNHORN_STS_USER_APP_CTRL_REPLY_PORT, i, (uint8_t *)outbuf); + /* TODO XXX FOR NON STS-P2 */ break; @@ -1759,9 +1778,10 @@ void OnRestoreSTSCFGContextProcess(void) sts_work_mode = sts_cfg_nvm.work_mode; sts_service_mask = sts_cfg_nvm.sts_service_mask; sts_color_occupy_vacant = sts_cfg_nvm.color_occupy_vacant; + APP_LOG(TS_OFF, VLEVEL_M, "\r\n Color Occupy =%02x, VACANT =%02x \r\n",((sts_color_occupy_vacant>>4)&0x0f), sts_color_occupy_vacant&0x0f ); #ifdef YUNHORN_STS_O6_ENABLED - sts_lamp_bar_color = STS_GREEN; + sts_lamp_bar_color = STS_COLOR_DEFAULT_VACANT; sts_fall_detection_acc_threshold = (uint8_t)sts_cfg_nvm.fall_detection_acc_threshold*10; sts_fall_detection_depth_threshold = (uint8_t)sts_cfg_nvm.fall_detection_depth_threshold*10; //in cm // **** = sts_cfg_nvm.fall_detection_reserve; diff --git a/STS/TOF/App/app_tof_peoplecount.c b/STS/TOF/App/app_tof_peoplecount.c index d78195a..b879224 100644 --- a/STS/TOF/App/app_tof_peoplecount.c +++ b/STS/TOF/App/app_tof_peoplecount.c @@ -24,7 +24,11 @@ extern volatile uint32_t STS_TOFScanPeriod_sec, STS_TxPeriod_sec, STS_HeartBeatT extern volatile sts_cfg_nvm_t sts_cfg_nvm; extern volatile uint8_t nvm_store_value[]; volatile uint8_t sts_tof_presence_state=0, sts_tof_presence_state_changed=0, sts_tof_presence_distance_dm=0, sts_pir_state=0; -extern volatile uint8_t sts_lamp_bar_color; +extern volatile uint8_t sts_lamp_bar_color, sts_color_occupy_vacant; + +#define STS_COLOR_DEFAULT_VACANT (sts_color_occupy_vacant&0x0f) +#define STS_COLOR_DEFAULT_OCCUPY ((sts_color_occupy_vacant>>4)&0x0f) + /* TIMING_BUDGET, in ms possible values [15, 20, 50, 100, 200, 500] */ /* DISTANCE_THRESHOLD = MAX - ASSUME_CHILD_HEIGHT(800mm) */ @@ -669,13 +673,13 @@ void STS_TOF_VL53LX_PresenceDetection_Process_Start(void) { LED_GREEN_OFF; LED_RED_ON; - sts_lamp_bar_color = STS_RED; //(sts_cfg_nvm.color_occupy_vacant>>4)&0x0f; //STS_RED; + sts_lamp_bar_color = (sts_cfg_nvm.color_occupy_vacant>>4)&0x0f; //STS_COLOR_DEFAULT_OCCUPY; //(sts_cfg_nvm.color_occupy_vacant>>4)&0x0f; //STS_RED; } else if (sts_tof_presence_state ==0) { LED_RED_OFF; LED_GREEN_ON; - sts_lamp_bar_color = STS_GREEN; //(sts_cfg_nvm.color_occupy_vacant)&0x0f; //STS_GREEN; + sts_lamp_bar_color = (sts_cfg_nvm.color_occupy_vacant)&0x0f; //STS_COLOR_DEFAULT_VACANT; //(sts_cfg_nvm.color_occupy_vacant)&0x0f; //STS_GREEN; } sts_people_count_sensor_data.Count_Valid = (status ==0)? 1:0; //APP_LOG(TS_OFF, VLEVEL_M,"############### SUB-PROCESS running .... \r\n");