From 4ccd68e784eced93684a21ef1abb6666e3ee8dc4 Mon Sep 17 00:00:00 2001 From: YunHorn Technology Date: Tue, 27 Aug 2024 14:36:18 +0800 Subject: [PATCH] --- remove unused code --- LoRaWAN/App/lora_app.c | 7 +- .../User/LoRaWAN/App/lora_app.cyclo | 42 +- .../Application/User/LoRaWAN/App/lora_app.o | Bin 15244 -> 15152 bytes .../Application/User/LoRaWAN/App/lora_app.su | 44 +- .../User/TOF/App/app_tof_peoplecount.cyclo | 10 +- .../User/TOF/App/app_tof_peoplecount.o | Bin 7716 -> 7632 bytes .../User/TOF/App/app_tof_peoplecount.su | 12 +- STM32CubeIDE/Release/STS_P2_VL53L1.bin | Bin 83264 -> 83136 bytes STM32CubeIDE/Release/STS_P2_VL53L1.elf | Bin 161588 -> 161604 bytes STM32CubeIDE/Release/STS_P2_VL53L1.map | 2829 +++++++++-------- TOF/App/app_tof_peoplecount.c | 101 +- TOF/App/app_tof_peoplecount.h | 8 +- 12 files changed, 1491 insertions(+), 1562 deletions(-) diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c index a642937..7a13b2c 100644 --- a/LoRaWAN/App/lora_app.c +++ b/LoRaWAN/App/lora_app.c @@ -437,7 +437,7 @@ void LoRaWAN_Init(void) } /* USER CODE BEGIN LoRaWAN_Init_Last */ - UTIL_TIMER_Create(&WakeUpScanTimer, 50, UTIL_TIMER_PERIODIC, STS_TOF_VL53LX_PeopleCounting_Process_Start, NULL); + UTIL_TIMER_Create(&WakeUpScanTimer, 50, UTIL_TIMER_PERIODIC, (void*)STS_TOF_VL53LX_PeopleCounting_Process_Start, NULL); UTIL_TIMER_Start(&WakeUpScanTimer); /* USER CODE END LoRaWAN_Init_Last */ @@ -663,11 +663,6 @@ static void SendTxData(void) AppData.Buffer[i++] = (uint8_t)((sts_p2_sensor_data.Sum_Day_Walk_Around_People_Count>>8) & 0xFF); AppData.Buffer[i++] = (uint8_t)(sts_p2_sensor_data.Sum_Day_Walk_Around_People_Count & 0xFF); - APP_LOG(TS_OFF, VLEVEL_M, "\n******* Sum_day_In=%u, Out=%u, Around=%u\r\n", - sts_p2_sensor_data.Sum_Day_Walk_In_People_Count, - sts_p2_sensor_data.Sum_Day_Walk_Out_People_Count, - sts_p2_sensor_data.Sum_Day_Walk_Around_People_Count); - AppData.BufferSize = i; if ((JoinLedTimer.IsRunning) && (LmHandlerJoinStatus() == LORAMAC_HANDLER_SET)) diff --git a/STM32CubeIDE/Release/Application/User/LoRaWAN/App/lora_app.cyclo b/STM32CubeIDE/Release/Application/User/LoRaWAN/App/lora_app.cyclo index 572b259..34a5f17 100644 --- a/STM32CubeIDE/Release/Application/User/LoRaWAN/App/lora_app.cyclo +++ b/STM32CubeIDE/Release/Application/User/LoRaWAN/App/lora_app.cyclo @@ -1,25 +1,25 @@ -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:853:13:OnSysTimeUpdate 1 -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:901:13:OnTxFrameCtrlChanged 1 -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:912:13:OnPingSlotPeriodicityChanged 1 -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:860:13:OnClassChange 1 -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:867:13:OnMacProcessNotify 1 -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:879:13:OnTxPeriodicityChanged 1 -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:787:13:OnJoinRequest 4 -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:974:13:OnStopJoinTimerEvent 2 -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:746:13:OnRxTimerLedEvent 1 -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:741:13:OnTxTimerLedEvent 1 -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:1045:13:OnRestoreContextRequest 1 -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:937:13:StopJoin 2 +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:848:13:OnSysTimeUpdate 1 +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:896:13:OnTxFrameCtrlChanged 1 +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:907:13:OnPingSlotPeriodicityChanged 1 +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:855:13:OnClassChange 1 +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:862:13:OnMacProcessNotify 1 +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:874:13:OnTxPeriodicityChanged 1 +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:782:13:OnJoinRequest 4 +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:969:13:OnStopJoinTimerEvent 2 +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:741:13:OnRxTimerLedEvent 1 +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:736:13:OnTxTimerLedEvent 1 +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:1040:13:OnRestoreContextRequest 1 +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:932:13:StopJoin 2 D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:563:13:SendTxData 9 -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:751:13:OnJoinTimerLedEvent 1 -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:818:13:OnBeaconStatusChange 4 -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:1012:13:OnNvmDataChange 2 -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:704:13:OnTxTimerEvent 2 -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:923:13:OnSystemReset 3 -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:758:13:OnTxData 4 +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:746:13:OnJoinTimerLedEvent 1 +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:813:13:OnBeaconStatusChange 4 +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:1007:13:OnNvmDataChange 2 +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:699:13:OnTxTimerEvent 2 +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:918:13:OnSystemReset 3 +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:753:13:OnTxData 4 D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:483:13:OnRxData 14 -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:1030:13:OnStoreContextRequest 2 -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:990:13:StoreContext 3 +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:1025:13:OnStoreContextRequest 2 +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:985:13:StoreContext 3 D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:351:6:LoRaWAN_Init 2 D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:448:6:HAL_GPIO_EXTI_Callback 4 -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:730:6:STS_SendTxData 1 +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:725:6:STS_SendTxData 1 diff --git a/STM32CubeIDE/Release/Application/User/LoRaWAN/App/lora_app.o b/STM32CubeIDE/Release/Application/User/LoRaWAN/App/lora_app.o index 68bc31c3dea11e27d6ca63ebce4667b41b2c7d5e..13e876fa1078d000f0cf6c2f3a60b3f6c2a13a39 100644 GIT binary patch delta 1218 zcmYk4QAk@?7{|YJlhbHO^sdp-mUNBYcu!nPjNThfqXXH*>5O$@d)S6PG_G(fwy0^V zgLVpTWe;xXzB+u+ZUq^_*4Ann6zaN%?PVxTHiiuQu!n+!7NjjS51rk2PMkDw&;NgZ z=l^}@+;cNAym)>x#0G9ww7c*tSKa9J;`66F&)uzZu*53Qb-?8RywBh>#=u~^T$9hGCHIWfGwq%wmvVi3YkhC^I{QZs4fHxc zJ@(+6?()&>aciU~s{O{I@aU7VtOEuPW}V;Z2@Jh6uU9AA(_0@2=Zj_Gai^u*NI+E+j z&E-msQ}_#yu)Fwx2g^bJ+|c&2GKHaPxnf_`?{C%sG&lk_QQz|Wfl__+JqF;t0g#n? z1>lU-s{kWX7XdCwodx(pDy?6U`Zd73)NcTOkoq0KmeiZHF>N99KDkvBfG+h@fU@0r zNa{F1Sn8Kh2@z>70>pO%w$w?0q|^z3rsad-WiJcjTC9tO@o>#BJBrgaU91J~)0oCY ze3+fZYw<2^vjTVG$C(>DYrB{a=V&a$hqc30e6lXe-oU9k`g6Gen(;QdTa|P?{F~ec zmu|2ofI&;wel{>>nS6`j0-lHmu;0?zBwnpLqixcG@6%-4gCz-*e^vx=OSMQRbk>bM3Bj9+0X|S2 zW{J(_A2;-j#lV0=RgkVirRWH~qcGe5N>ZO}g4JPV!>ODv78L`5_H;K*TLrV8! zd4pgMzSbc4ydS_;H5VFmx~lC*hZ2BCSQ`tV@0iX24<9Qqx5{-BbK_}ZZpsyQ`ChRVVnJeQm3u}kjsBG2 z4l$Krdz* G1OEX6rFI7Z delta 1211 zcmX|)B(&6O$L@r+CRwW8 zR?Lu&2|n1Jv8B>>wd_IKLZf!D!NRoc!9pL#);%a2Y_JD?(`~S@hjr)N#$34H@8^8a zxxe4haUR?4}_MLMV&R;nfyZD+r+bYMi?;75dzLdRqfe_!S z3Qm7sc>d3S&#U`bO?}|$-rdNVmbj`jG&caB3P($yBy(oYUp>hVE5h-?0L<^_Z=L8(eF)jy^mn6gid>1%)0;F0Q=rr$p0pR#zRAA}eF#N4P3 zPE3vJKhbSOK}_ZW-`IU(pv&guiPxKDEn84;6~ryEDJ;STJUCHlEGg%FL8%b6e@7 znMQXK-#2*z@Zzd7Ozr{LI8lz^<$b7zXeFd2U#I zy$Nuc{UJb({WicH`y#++>;-@?*=gK8oF&cU=J83fhJ#vM@;LCWc1k30Pm7CT>}ijS5xm|$Ne|chyy6lDeNNN&RRAM+ zmI#~xGG6mJC6^iR`4mZZ;g4hiGydyS#4p(FS0#@N`~3>7mh!72hc_rnxbQJWH*tre z0yYIy+MqL_N)`)_1{AS`vs83haD|FzxJmu5Q3O@-F}9HYfrCL+(%kr7P@#h_Qk2Ih zq}#Yhjl*?l5Ah;BAytaj;W!n$cs-{DeS@5BZ~M9uSDonjd+)e)A)pD{>HtCdRX@WjG6X-SpfQl GjO%~bg@3F7 diff --git a/STM32CubeIDE/Release/Application/User/LoRaWAN/App/lora_app.su b/STM32CubeIDE/Release/Application/User/LoRaWAN/App/lora_app.su index db75a1e..ac7ca8e 100644 --- a/STM32CubeIDE/Release/Application/User/LoRaWAN/App/lora_app.su +++ b/STM32CubeIDE/Release/Application/User/LoRaWAN/App/lora_app.su @@ -1,25 +1,25 @@ -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:853:13:OnSysTimeUpdate 0 static -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:901:13:OnTxFrameCtrlChanged 0 static -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:912:13:OnPingSlotPeriodicityChanged 0 static -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:860:13:OnClassChange 16 static -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:867:13:OnMacProcessNotify 0 static -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:879:13:OnTxPeriodicityChanged 8 static -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:787:13:OnJoinRequest 24 static -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:974:13:OnStopJoinTimerEvent 8 static -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:746:13:OnRxTimerLedEvent 0 static -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:741:13:OnTxTimerLedEvent 0 static -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:1045:13:OnRestoreContextRequest 0 static -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:937:13:StopJoin 16 static -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:563:13:SendTxData 120 static -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:751:13:OnJoinTimerLedEvent 0 static -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:818:13:OnBeaconStatusChange 56 static -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:1012:13:OnNvmDataChange 0 static -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:704:13:OnTxTimerEvent 24 static -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:923:13:OnSystemReset 8 static,ignoring_inline_asm -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:758:13:OnTxData 24 static +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:848:13:OnSysTimeUpdate 0 static +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:896:13:OnTxFrameCtrlChanged 0 static +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:907:13:OnPingSlotPeriodicityChanged 0 static +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:855:13:OnClassChange 16 static +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:862:13:OnMacProcessNotify 0 static +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:874:13:OnTxPeriodicityChanged 8 static +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:782:13:OnJoinRequest 24 static +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:969:13:OnStopJoinTimerEvent 8 static +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:741:13:OnRxTimerLedEvent 0 static +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:736:13:OnTxTimerLedEvent 0 static +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:1040:13:OnRestoreContextRequest 0 static +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:932:13:StopJoin 16 static +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:563:13:SendTxData 112 static +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:746:13:OnJoinTimerLedEvent 0 static +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:813:13:OnBeaconStatusChange 56 static +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:1007:13:OnNvmDataChange 0 static +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:699:13:OnTxTimerEvent 24 static +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:918:13:OnSystemReset 8 static,ignoring_inline_asm +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:753:13:OnTxData 24 static D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:483:13:OnRxData 48 static -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:1030:13:OnStoreContextRequest 16 static -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:990:13:StoreContext 8 static +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:1025:13:OnStoreContextRequest 16 static +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:985:13:StoreContext 8 static D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:351:6:LoRaWAN_Init 48 static D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:448:6:HAL_GPIO_EXTI_Callback 0 static -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:730:6:STS_SendTxData 8 static +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/LoRaWAN/App/lora_app.c:725:6:STS_SendTxData 8 static diff --git a/STM32CubeIDE/Release/Application/User/TOF/App/app_tof_peoplecount.cyclo b/STM32CubeIDE/Release/Application/User/TOF/App/app_tof_peoplecount.cyclo index afa45c3..3822990 100644 --- a/STM32CubeIDE/Release/Application/User/TOF/App/app_tof_peoplecount.cyclo +++ b/STM32CubeIDE/Release/Application/User/TOF/App/app_tof_peoplecount.cyclo @@ -1,6 +1,6 @@ D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/TOF/App/app_tof_peoplecount.c:55:5:ProcessPeopleCountingData 23 -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/TOF/App/app_tof_peoplecount.c:224:6:STS_people_count_sensor_Read 1 -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/TOF/App/app_tof_peoplecount.c:324:6:sts_tof_vl53lx_peoplecount 4 -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/TOF/App/app_tof_peoplecount.c:308:6:STS_TOF_VL53LX_PeopleCounting_Process_Init 1 -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/TOF/App/app_tof_peoplecount.c:434:6:sts_tof_vl53lx_peoplecount_subprocess 7 -D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/TOF/App/app_tof_peoplecount.c:315:6:STS_TOF_VL53LX_PeopleCounting_Process_Start 1 +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/TOF/App/app_tof_peoplecount.c:213:6:STS_people_count_sensor_Read 1 +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/TOF/App/app_tof_peoplecount.c:313:5:sts_tof_vl53lx_peoplecount 4 +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/TOF/App/app_tof_peoplecount.c:295:6:STS_TOF_VL53LX_PeopleCounting_Process_Init 1 +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/TOF/App/app_tof_peoplecount.c:372:5:sts_tof_vl53lx_peoplecount_subprocess 7 +D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/STS_P2_VL53L1/TOF/App/app_tof_peoplecount.c:302:6:STS_TOF_VL53LX_PeopleCounting_Process_Start 1 diff --git a/STM32CubeIDE/Release/Application/User/TOF/App/app_tof_peoplecount.o b/STM32CubeIDE/Release/Application/User/TOF/App/app_tof_peoplecount.o index 66c9a417a1bb97e7d87ce171d6e61b29608ff15a..7495a60b3f3f82726ca6a8944e9ef9650f0b1ece 100644 GIT binary patch delta 1763 zcmY+De{2(F7{{OY+S`w^ZdW?8u3h2Qj&lf zRCnMXl*p2i_a8C?K_Dh37&nT^jLa#b4n=JvF^D57At@vzu2G?XsPlQR7lN0(_qpf$ zKJWA6ec!wAY`kGeBts`lYff%=En0b?@3r1t;-1|L#Z3qLdS4a8+xt}u%-G zfS_dm&=$;9Nrfris*@z3)TTf+Odr?e)?lzk%~eg6Qxl}7Mp?Z!pw3n;tE6Ce!t8e^ z5^1xxx@9ay3YI0_QcYFs6O$_EZ%Z@=E33n^)b22;ouvS^Nh{=;$N$cFqonrjOJ1!( zelrak@zyGJp=E7Q)=EDhu7M*-zg}=we11!rx&cUa&II}=q0B1{C&yA;fkRI+C-J>X z7R^q0f|Z#Z4YQO+iDfC(v+UHf?9@u+dEw8J;Bm{9VVlH>-Co!YP#iRAhD~*|bq?!I~ zc9G}lWAi*xPmB1{IRQE2bvkVgK-J)1ywAS(*8^>6w6eBs?C7T2ofS zVu}i<$Dg1d^QB~p-r?^Kgci4)PMZS$=!Tdz#S!ogrcL@LcvbSAX|+GC4R{?GCgihnT+I_vc5_dwH3+BRe#i;_6P+mI4_BcFlv`; zq+e)rcCEQV`8r9DaD|2Qa2InvWG+N@C^_S3LhNjIJt3FrPdUGn7J5DR8=mcVUhKHV z&T$V3J(E{X?$R&vHjzloZS5mOpo96T{GQ!CJ$(mvL-@d+-u_o&Ckh6+0SO?V09alC z*v5!<#Na8$H30821_3T3IUm3nV+Ft!#zg?1GA;nP#yB5fl5sJ>4aQo4IOAG?n~YTe zw-|YVDdYer1N>?T_YB@QcnzCk3k4)AtdOx4pxm$*GPVIMWo!p{&alx1EO-ldFygvi z!#--*LyYSIE?|D$Va%BLgmD9Qz_=0MN5&3-dyFpv{K>cp&jSl&ft`$-0X&RYK%Jp4 zXWRnNg5E?~ zQuKJSmz<*SqaDYiU!wjS9pDgs z$LZy}vhgY~ea`2&VY!&S5eIu3agPO>LZ5x;W7gMJy95%ZD_lN4jGCX8I_xx}YlDWC z@w=gGcmAi9lnA7sE-3Nw{ZHcU)3w)8i#*Y;pcbLu8XBkP$a4$i4eECLcn$rk^;)`6 wyGVObn?`LR-H)|gbPHB72SCAY%dv-Mdfn~fwS0gcYMX1Pf8&~VYMop3AJQ<d@GP%xpP92(kopCWH84TloM{oDfYw{m=?A#4HAsq+m!~4MItb_&m24LgG!%`JMlB zUY`GR?!EEa(d9!DyEW{r)HjEu71D4^@rt&6eK;!VGQq~)?$Dc3xU)~eap&$`QeAKN zzEGDoThb-L;yVu-dRzAfc5N|Mn0+5k9vmKN=--|QHi-(a55>32`3kErPw|2|J|W18 zx3pN5iN7y*LyCbln0<9avr%E?Vtl<#zr-YnBHB~;QH%HE4>UjwlWvhLht;y%s@|CLj_Nw{zMix@O$d^eda>^d` zB}hBN8DE9!x)`lnG8v1UNwVs?wB#L2u21Xoy*^sRmewkt)!&~sNu-RjO%ca0+@3ka z>x42Mc*al}27oeb4cOLTdmWosc0`59=4gH7cyu6g{J=oZF9$C5K#?P|IdVM0KN3ET zRf`gv-!2cPE$tp(xsR#GQwqPom3QmhD;fh*P(1VUUpcwnD8)z8X0H_V;H{SXR?3<6 z;+eL4(VqX$zre5RoO73Gt47imFH|gvLs71;f*bYCC4&=onN;Q!-FWzdH)=^)80C?I zg6icWe_QWlzw#0NZ~cMi{3B`6>y6gNEGdD3doV4kSLjmMX|d58bp>gwOR=P~*wgyy z@prb8;0F_uT;qG3SR9|ZU`dHu+Kid+leRXyT%&lSbJ9iDjG=7n#9Z0q`<+{|tIT?- zR!w##2~+qI@(c^{!g1YHYaPN*#-*(uuZO@+Wx32{06EQxd>0_Ec ztML-C2_TLXN&&7B@yobQd=_AuxCr0|u^8YM(F<^!SP5_!*)MniW+>1MaF3`5NNfCu z*n;kaOkAhYpwX<+s_|P|isx9VAS@t{*b0E&RE?g%6aZL8Yy(({`PBf%z|;=#hPE)I z=>bg-5my6@YWkeUuZj2%Tqdps_?fs4D2&ffe;B z)RX)Q_Gftt`y1T8z%3LTc>RLX@^uD$gISqZfj6pJq;J!RO?+Y&KPx`Gz-=2vyDOgx JGq|uLvj`51-~ghau`J>f92IeCqecanX4EvIXw@VJ)EF_= zRC6_BK%2$bh;15hLI^6w#M+uzQ>ZZp6BA9E;1ZjMRcD|1o%_Hv{r&pSkI(1(&i9;q z?tag`_r2lNbIMaYluANCH*}A3e8#dYA~5Vp>X#4ngQzzR*lwfzhVebWNT_|_K=6<8 z-T|iv_WzH(_h0hDuzxp%)xrLLRA#22{*l9v669X|AD!lcdD!(#5QJ9Vn$W_R@uhG5 zi_{4ntk^`3=&olvo(9_>_>lGvUNtGzEwm7+&l^?B?}euGH()j=eH&o5UT;JxFBQ5N zzveBMf>}Z-Cp{4eLF;Xo68T2~g~+3}n>G#!)*9U5I$o-96GN03fh^w5o@KJGMmEUJ zo<*`Ai7d>`p82w_LB_e+GfURB$UH9gOq2B}WOrQnY+m3}+~TES?bthMt5@5yN>UJ^ zBgEQ3$U(hFG*2nxL z_@%3UH+iYYMJ(t36-Hu9jvmuUIaC#!0mtds*wyegZHiq7YMLCE93gqZU=ekCUb^L_ zQ{v)l+dSoW3uob&7mHDAbVy74UuS2A@u~< zGmZAejY{(R*mOm>g;Ij;Tq{qc(yf#=N+-mpg)jH!8HipuqLr4?)$uXd!yWPCA(Wnp z&(SD@EcYv}=u$1_{*ZvhDYDVnR;Jv7k=WcAQlZ9cgWBE*&WE6Hg*C zz>>Q?IK8wnVe+VjSmK&@0=?x%?5YL3MwGilcXQ~akZ$7AV`&L&QoTYeCoQ2-iOKpn zA4q5XM9TB~dRLDEf%%ZuUCkp0N?%JW5{>Fr*wdi%t6)T_LfS_+C+gu{dMMGDknb_r z;;aqDBfHD**5z=NJA$%CLlsgRy_T4@?B{+CM{A#-7}9l7A}1~Mr=z~huWiBK z+CsFQaAEtl;oe3H$-^4yS2QMhuKH3?DS~u0s4M~L65W(smHtXlftEwTl0uMvi_ejj zd2Ax8gUO(0^?Y}n$nyGeD(GgbYJwnbMAXt{x~z&}L1@xpV3J4AyA*Yt6#YOK!Olq< zS%Vi@kfn=d*hF43yVAuXnWZAjmzf?}mdp}qukK|q(e3)T;4&R+NE-3g@%~ZgM9{NY zxICb1TYn|5SZw?ejkJh9X-I=Mde|@m-lXRZDe8vf{c8jC3TZD58d3%?ap}YnOB9mc zlZ|z8XkSgo8jF&OaGJEOAyYZMPE<%UJe4AO6eIt zi;U5}P+2=DYZ*QTu9lzCTSlXPU!Z>n&`7%j>9%ngE33LWqdOIkW=_%txn zO~aG5IUZKlN8Wgheok_E>Fw0Bi#chHI|ak) zRSGEu=5_w7t2k`<$F4fUNmD(n=`3|?JBC~dDHK}6L=ZU~yvOLu6g{NVT`39Si+v$w zic&Brr7r47S&%%!O>}sQ$;(}64aM$!Ew>}w%g&+|bX4kmSW0)MCaF43;Av&iNJiR{ zno;zAKwi^c(wS-jAp(J$lrB;_+o^3WzN4)XrV>+ZCohJU8Y?x@CAZ$Dz_mPIZY75- zktUCbi+j%*0t;Fq9K}yrHMFogQ5G@!HFQD9r5LzRx2^%;w-;LWf z=2{fQ=`~;ria6=84>x$mS98+KzK%%ThZOw=Y@VI=jTjpBtCOs7?gzJLXpAYTcAYN~ zhqOQADxb`%VsQAD`(m)GquomBeGIo5EyOTnps@je$Mx#MC`_$skD3-`#dR)s;*K9u zHP*~(b}X?@-SkJ`l#C6SHe`uPX{VRR9P`{)v7@XVABPa#2@BK;uOq1@MAw5oyp4!J zo^eB(xUV_rGR0Ul<` zth18c{q`pR3Zrtrv3hk`z?tg_IGeoB9#iZOIBUI+mxUhVk*U)?D=_ghOlzih#!``~ z!uI^YyJcpQtx=e}!^L<7vV*R4WP4<0M%FE-j_miWUBg_NQX#WU*}Ufm-YqjrzjF=q zWjr#cqGm~T?$jkuENM|nfAE4y=w|!tWLMS?%b>>Fw;>fZrF7N{V*Lp)n5|kdQd0TJ z@HCv9ELWO!M5!^(_G)onryeu6xQ3&7t!rp=$8~Azl^Y@3KXxg02c1^>a(Y6{R+p;o z@|xtD1vLk2G{)tP?@5W}tgYqG@GFK7Bgt;*8GY94!LDU6hkb+UkL#$Y>%ZAr=o z;dMNlg;u2``Rm%1(mOO~WYLgio?)et($hh9p-r^1H6HNN`jNwI|Md2U2aE0NUgHyB zj_j^_LOUhOO44FG2aCi&Xp|UfW$B-K73^YRh>-UJ1vWs74LFZSH4BUVI6Pyp`bQD_ z5!r|=#9_oc*)%dEHZ;PMj;%s2`;3>K@Ltnenn~qyn|LC1|f7HubsgkQ) z=p85a^=68H>Sa~bVHJg=LAZoPvf20(%8w9vtqM^+P(r}D)^BM~$4KT&JFe#y2Ape7 z%7?7P3tAkN!+vd_pb6~`u@VF80B&Q^*thf(V1aJVdbbyQ*f}f*gweDpQ$I@URpNDz z%rc16tlVC`Xu?$&;LzLy)OORhOnvP|&lu~N zQnJ^8JFaJSq}1piZ5{n1o%*w_*{Ej^r0?|W#DMcAoN9(RGD$;Hu=p{ z`gi;dzBFWPB5QmmWC~=D`%;my{dKvINb6j~%Z8UKYo&W$6w+6oI4nRFFj$E`c7syN zcInEWtIdq)mF?}jtcJf4a4FXArZxcmg9$tTo zTqergNiMy3QjV(h)&x91_>7zkG48IZDOe=%M72>@mXon<*tCU z%8!?Gg4JR`$KvJnNHKjP>nDS!x|Sp^HINq?k8wwvj&XRx)YEfW$+bs={bvq)8Df{Z z^1G*IN3nNW_X5}eJs{_LDuoO0hbrt=d&j&#laH{0o4{XoKwqO7z+`zj&sp|Kv z2@37-(3d~5tO$a*{{*KCI-jS@vxi#81^U~d!)xWdpdQP;7?2OsDrTvWEr0!yPpND< z9nfK5vwA=(z;>rp2b}HngX{wCo}Y&0#KR7nlCw+mucDRH9-F@M5tTVY++boc2N|+TEG3arc3_B+_bQew+OoOVBzGgED`o0%+bjYjg-$G`mkc+G4ZZL7 zahh1U>Y?3#v%#oA-G;Jsx#q<%KD@F}WR>f&^7h~ox$-4-iPq%m_i$|`S<~5))vc&j zOGkr;vEH_ za0S-ka(@^%JGPxSp$$pl^~H4!^;_y1Hf~vcdE@)5=~ub0)e=K|-MqSn zI`+a-heg!3l9USTE|+=+yW)XPErkSw&dR{Fsne~x%5;%kHkj2LU^3{O6VO$1xQ71b z1HB*yoznu7rt2#CqlI@gQI>il-S8fCMOfsVG)*kP2vtj00{qePyY;Ivy;kb^4~IP2 z;e0^d7s)*+;wx{5EAodTEV9SRz(JSVLd;oRY~vp(+l~cTg$ZtaQK)3>A&=2EM9-I4 z>W!5|I^_Pb_AI7p4SY$hpzlu(^BQeuVpA#)w#4HuA0_wkxd6LJE1Ii2EcNO>H4uq< z`g=Rq*V&859ZeUbto`G$R<69=rK=>SZ@MDzg8Vt2-f!aIzk-wTG0LZKbnl`J%LT!R zuplPX;$uJJF~n~XLMt&SK)j^abnOLO(xe)uocARg$f9Z`WkFk!knd%3-3|b=9c$A{9Qrj}vnk{}woAOe|J?$TFgB)H0 zzO-|G@%YLQds$CeuS3RwZ~)~Dlqm?IHR#+G1Z!-i(81EFBEJi&9T)REIn8*VaOlDf zV)Qv*@%fyU^w2|_Qtx@gaV~t$`Mwab!=)e^(dWG7<-~B&f^Vii=SIKJsR>eX!Weki zv1!5^pxWh9h_UT{XEDtvXoOtH2L&1qa%oS|EG|6g$Sh9eG(NvlG};<%^Fwc4^gHj- zxh3nNopzTbLlf;Q>DCkuq<}InGT!t%P~>*VEF} zliVcXNb&s(imQHSf#b}y4j!h{trfT723)d`dFDqgk^PsBTsy-7xFtkWIgwHJOVHP}A%}Zm^fGnEejyap>om0lbcB zKb_3y{>;nDZI_F7&FE$lm7=X0t(rxT*g_j(jp zea=wNDJ;-|1^&7>-e!=1i?8%KeeO^U_DKO^YVY!~QGBF8b5XX%qHSNd&-oF3frmV;2>TScZ!*=TQgs zuWgMXaFOWpI=s%`(_2f^;_QB-7%F~e8zL1dpqn>CcdY2b)SWbA*?KtaIK1p2huarw}uEsbjPNxA-}?~duA*h^z>5r*0KKS425`U3lX{z-~1Qw|I2pnM>@;% z0JpX{Zf;q@!4AiqZQFs{JC=U&?BlA|S|YeqM7M{|*}h(%v>C_g86qsGCqjE25xOvC z^+kgBX8hiWo(CPbx3A>jjAQO|BNQ;nvHAH~97H%S?tYn5ZKFi^2l`bwHqlN#GbaxO z7j`5Zr4G@J=T|<;sfb00HHhtq21Ik7V}(7E54(c?`+?{h@*G@w_~biJ!jm2?|H%t1qyej`v^t3MRF_PJ}NJ zR}K?F`CB4vMKmEaZxCTDq60A*(;1?U{F}EUzlMlwBEmGsjn~g{7`d%)jOYA$jyrFB zqGT0(_-3Rky&D}~dJUZsA2bl5G@R(90uXi_Ai@O1Hna^zdApHvZ8PO&%EEE9?T>OP zD>@dlPB=d5Jjyfq#OXl4{7WVeYDd$Dzm8zJ#$B2j_Gvx{?;_Ca#YG5x)lH)4yN79L?Hzav0GuzipF%url7t zcf9{uBt)__IX|YqoA3DI^WP|xi!eRevH9AgiUf)uMNHxy=M|40pO-y-&W4~u()#W= z>mB^JS0Jo(90*s@KbTK%_QpekLwS9@0xBJwzB|pSDjx!&ay){TeV@#oDsrs&J|2{x z{sb+K9nzQb)UCL498@PKfZ##oIWq2!;<)1lj)nIHfM3!_oi9ag3I*YFY~G&`eRpy0 z98s>ukdPVp-Tk`)$FacQxdCo}4qzUPZTkkG7vK^5c^-O0zQYclDrh^dfRDKJ)u^!7 z{RhR(PR92!#5S})kJyiR6>+q{ek>H0!V7IN0xSn;Yul`X!5my@+ZPUL0B7x;5ik_8 z>=z@z45#g&hRM)vFH^%@_{e@p4clO+JuMR2IfdK)k4Sh7D(w{-I0uz&Nm^J1F)f{( zc}S;#A3pE*g6?iF`_9nkJZnD`1=rxIwrzvZN$JBLX4u_>p$4wme=!8ioNrWH!w{GP z(P@5mrPt!M@9H0yrV`x}1JU_L**!zyx3J&-YBcPGk@k!jSPh@Fz03rhv`58(6~%%$ zZ1PF_jyQaqJZV242eVM<(#dMQ@>umfAXOfteV)#nD%r$3}ZgO ziHDg?-ie2KOioXLKQI|cfNUnS6JZO=ws#UC62RSdCJ9D?>Y*YKY>0_=|1g-Jx>*Op zA;f2hAfg#N!A)Vm!xCvZ{#dFeldpLK))Bi2uZYwWWbjgT6e<2mUJuII};ng|{s?K^bsiKKt8g@Nmd)u+F!N z+6JYA#KCksp8?;%-|aUtuyud7hiAfgRkR1cj~Q<}AGVigLaxe*Kkza&-@YpoQsAoH zfgI91J{k=68>1m%XwjNg>mFaK zTfQt)_p>#t9)DCY%j9|baoBlKF zqE*P*_#vP56mk{vq8T%0?LZ!eyrj5n(Tm8#kx!dAbM_(R_^lJUby72Obw9UsAdh6c zXqL=1j8C6s`4H_|u%3}RtUg&hI2b%5y}pZypP=_8BFhnC-@-G(;|J_iTeet5Rrn&LOe)o#{--dpI|>-0-OE^A75Os delta 8943 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 diff --git a/STM32CubeIDE/Release/STS_P2_VL53L1.elf b/STM32CubeIDE/Release/STS_P2_VL53L1.elf index 9bc6b5d854bcf841e30cef3a70cac92f60df5d28..25337ec4af09b4b80905aeb8c41c26c4ffc16572 100644 GIT binary patch delta 38817 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 ZtSHYuW{MW)i4Vo5~mUOhY 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 = sts_people_count_sensor_data.Count_Period; sts_p2_sensor_data->Count_Period_Unit = sts_people_count_sensor_data.Count_Period_Unit; - - - //reset counter of counting period - sts_people_count_sensor_data.Walk_In_People_Count = 0; - sts_people_count_sensor_data.Walk_Out_People_Count = 0; - sts_people_count_sensor_data.Walk_Around_People_Count = 0; - // Sum Day counting // if not end of day --- sts_people_count_sensor_data.Sum_Day_Walk_In_People_Count += sts_people_count_sensor_data.Walk_In_People_Count; @@ -295,6 +277,11 @@ void STS_people_count_sensor_Read(sts_people_count_sensor_data_t *sts_p2_sensor_ sts_people_count_sensor_data.Sum_LifeCycle_Walk_Out_People_Count += sts_people_count_sensor_data.Sum_Day_Walk_Out_People_Count; sts_people_count_sensor_data.Sum_LifeCycle_Walk_Around_People_Count += sts_people_count_sensor_data.Sum_Day_Walk_Around_People_Count; + //reset counter of counting period + sts_people_count_sensor_data.Walk_In_People_Count = 0; + sts_people_count_sensor_data.Walk_Out_People_Count = 0; + sts_people_count_sensor_data.Walk_Around_People_Count = 0; + // reset counter at end of day TODO XXX // reset counter at end of week TODO XXX // reset counter at end of month TODO XXX @@ -312,27 +299,23 @@ void STS_TOF_VL53LX_PeopleCounting_Process_Init(void) } -void STS_TOF_VL53LX_PeopleCounting_Process_Start(void) +void STS_TOF_VL53LX_PeopleCounting_Process_Start(void* context) { + //APP_LOG(TS_OFF, VLEVEL_M,"############### TOF VL53LX_ PEOPLE COUNTING SUB-PROCESS \r\n"); { - sts_tof_vl53lx_peoplecount_subprocess(); + status = sts_tof_vl53lx_peoplecount_subprocess(); //APP_LOG(TS_OFF, VLEVEL_M,"############### SUB-PROCESS running .... \r\n"); } + } -void sts_tof_vl53lx_peoplecount(void) +int sts_tof_vl53lx_peoplecount(void) { //int8_t error; uint8_t byteData, sensorState=0; uint16_t wordData; - uint16_t Distance, Signal; - uint8_t RangeStatus; - uint8_t dataReady; - char DisplayStr[5]; - int PplCounter; - int center[2] = {FRONT_ZONE_CENTER, BACK_ZONE_CENTER}; /* these are the spad center of the 2 4*16 zones */ - int Zone = 0; + /* int PplCounter = 0;*/ /* MCU Configuration----------------------------------------------------------*/ @@ -379,59 +362,14 @@ void sts_tof_vl53lx_peoplecount(void) } APP_LOG(TS_OFF, VLEVEL_L,"Start counting people with profile : %s...\n", PROFILE_STRING); status = VL53L1X_StartRanging(dev); /* This function has to be called to enable the ranging */ -#if 0 - while(1) { /* read and display data */ - while (dataReady == 0) { - status = VL53L1X_CheckForDataReady(dev, &dataReady); - HAL_Delay(1); - } - dataReady = 0; - status += VL53L1X_GetRangeStatus(dev, &RangeStatus); - status += VL53L1X_GetDistance(dev, &Distance); - status += VL53L1X_GetSignalPerSpad(dev, &Signal); - status += VL53L1X_ClearInterrupt(dev); /* clear interrupt has to be called to enable next interrupt*/ - if (status != 0) { - APP_LOG(TS_OFF, VLEVEL_L,"Error in operating the device\n"); - return (-1); - } - //HAL_Delay(WAIT_BEFORE_PROGRAMMING_OTHER_ZONE_CENTER); // 10, 8, 7, 6 tested OK - status = VL53L1X_SetROICenter(dev, center[Zone]); - if (status != 0) { - APP_LOG(TS_OFF, VLEVEL_L,"Error in chaning the center of the ROI\n"); - return (-1); - } - // check the status of the ranging. In case of error, lets assume the distance is the max of the use case - // Value RangeStatus string Comment - // 0 VL53L1_RANGESTATUS_RANGE_VALID Ranging measurement is valid - // 1 VL53L1_RANGESTATUS_SIGMA_FAIL Raised if sigma estimator check is above the internal defined threshold - // 2 VL53L1_RANGESTATUS_SIGNAL_FAIL Raised if signal value is below the internal defined threshold - // 4 VL53L1_RANGESTATUS_OUTOFBOUNDS_ FAIL Raised when phase is out of bounds - // 5 VL53L1_RANGESTATUS_HARDWARE_FAIL Raised in case of HW or VCSEL failure - // 7 VL53L1_RANGESTATUS_WRAP_TARGET_ FAIL Wrapped target, not matching phases - // 8 VL53L1_RANGESTATUS_PROCESSING_ FAIL Internal algorithm underflow or overflow - // 14 VL53L1_RANGESTATUS_RANGE_INVALID The reported range is invalid - if ((RangeStatus == 0) || (RangeStatus == 4) || (RangeStatus == 7)) { - if (Distance <= MIN_DISTANCE) // wraparound case see the explanation at the constants definition place - Distance = MAX_DISTANCE + MIN_DISTANCE; - } - else // severe error cases - Distance = MAX_DISTANCE; - // inject the new ranged distance in the people counting algorithm - PplCounter = ProcessPeopleCountingData(Distance, Zone, RangeStatus); - //sprintf(DisplayStr, "%4d", PplCounter); // only use for special EVK with display - //XNUCLEO53L1A1_SetDisplayString(DisplayStr); - APP_LOG(TS_OFF, VLEVEL_H,"%d,%d,%d\n", Zone, Distance, Signal); - Zone++; - Zone = Zone%2; - } -#endif + if (status != 0) { APP_LOG(TS_OFF, VLEVEL_L,"Error in start ranging\n"); return (-1); } return 0; } -void sts_tof_vl53lx_peoplecount_subprocess(void) +int sts_tof_vl53lx_peoplecount_subprocess(void) { //uint8_t byteData, sensorState=0; //uint16_t wordData; @@ -439,11 +377,7 @@ void sts_tof_vl53lx_peoplecount_subprocess(void) uint8_t RangeStatus; uint8_t dataReady; //char DisplayStr[5]; -#if 0 - int PplCounter; - int center[2] = {FRONT_ZONE_CENTER, BACK_ZONE_CENTER}; /* these are the spad center of the 2 4*16 zones */ - int Zone = 0; -#endif + /* read and display data */ while (dataReady == 0) { @@ -489,5 +423,6 @@ void sts_tof_vl53lx_peoplecount_subprocess(void) //APP_LOG(TS_OFF, VLEVEL_H,"%d,%d,%d\n", Zone, Distance, Signal); Zone++; Zone = Zone%2; - HAL_Delay(5); + + return 0; } diff --git a/TOF/App/app_tof_peoplecount.h b/TOF/App/app_tof_peoplecount.h index 188e6a7..9a40da1 100644 --- a/TOF/App/app_tof_peoplecount.h +++ b/TOF/App/app_tof_peoplecount.h @@ -102,12 +102,10 @@ } sts_people_count_sensor_data_t; -void STS_TOF_VL53LX_PeopleCounting_Process(void); void STS_TOF_VL53LX_PeopleCounting_Process_Init(void); -void STS_TOF_VL53LX_PeopleCounting_Process_Start(void); -void sts_tof_vl53lx_peoplecount(void); -void STS_SendTxData(void); - +void STS_TOF_VL53LX_PeopleCounting_Process_Start(void*); +int sts_tof_vl53lx_peoplecount(void); +int sts_tof_vl53lx_peoplecount_subprocess(void); //int sts_tof_vl53lx_peoplecount(void); int ProcessPeopleCountingData(int16_t Distance, uint8_t zone, uint8_t RangeStatus); void STS_people_count_sensor_Read(sts_people_count_sensor_data_t *sts_p2_sensor_data);