From 789bdb5e405e2325af3f45ea30a1a728b8088156 Mon Sep 17 00:00:00 2001 From: YunHorn Technology Date: Fri, 15 Nov 2024 05:07:24 +0800 Subject: [PATCH] wip --- Core/Src/main.c | 2 +- LoRaWAN/App/lora_app.c | 25 +++-- STM32CubeIDE/.settings/language.settings.xml | 4 +- STM32CubeIDE/Release/WLE5CC_NODE_STS.elf | Bin 265664 -> 261716 bytes STS/Core/Inc/yunhorn_sts_sensors.h | 16 ++- STS/Core/Src/yunhorn_sts_process.c | 4 +- STS/TOF/App/app_tof.c | 104 +++++++++++++------ 7 files changed, 113 insertions(+), 42 deletions(-) diff --git a/Core/Src/main.c b/Core/Src/main.c index 867d38c..900c3c7 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -114,7 +114,7 @@ int main(void) MX_DMA_Init(); MX_LoRaWAN_Init(); } - + MX_TOF_Process(); /* USER CODE BEGIN 2 */ //MX_USART2_UART_Init(); /* USER CODE END 2 */ diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c index fc22fbc..a302a3c 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 */ @@ -536,7 +536,7 @@ void LoRaWAN_Init(void) #endif #if defined(STS_P2)||defined(STS_T6)||defined(L8) - UTIL_TIMER_Create(&YunhornSTSWakeUpScanTimer, STS_TOFScanPeriod_msec, UTIL_TIMER_ONESHOT, (void*)OnYunhornSTSWakeUpScanTimerEvent, NULL); + UTIL_TIMER_Create(&YunhornSTSWakeUpScanTimer, STS_TOFScanPeriod_msec, UTIL_TIMER_PERIODIC, STS_YunhornSTSEventP5_Process, NULL); UTIL_TIMER_Start(&YunhornSTSWakeUpScanTimer); #endif @@ -562,9 +562,11 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) break; #ifndef STS_R4 +#if 0 case BUT2_Pin: UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaStopJoinEvent), CFG_SEQ_Prio_0); break; +#endif #endif case BUT3_Pin: @@ -572,9 +574,7 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) break; #if (defined(VL53L0)||defined(VL53LX)||defined(L8)) case TOF_INT_EXTI_PIN: - printf("\r\n ToF Event Detected=%d \r\n", ToF_EventDetected); ToF_EventDetected = 1; - printf("\r\n ToF Event Detected=%d \r\n", ToF_EventDetected); break; #endif default: @@ -768,6 +768,9 @@ static void SendTxData(void) sts_r_sensor_data_t sts_r4_sensor_data={0}; #elif defined(STS_M1) sts_r_sensor_data_t sts_m1_sensor_data={0}; +#elif defined(STS_L8) + sts_fhmos_sensor_data_t sts_fhmos_data={0}; +#elif defined(STS_XX) #endif if (LmHandlerIsBusy() == false) @@ -799,7 +802,9 @@ static void SendTxData(void) STS_M1_sensor_read(&sts_m1_sensor_data); #endif - +#ifdef STS_L8 + STS_FHMOS_sensor_read(&sts_fhmos_data); +#endif #ifdef VL53LX #ifdef STS_P2 @@ -968,8 +973,12 @@ static void SendTxData(void) #endif //STS_T6 #if defined(L8) - AppData.Buffer[i++] = 1; - AppData.Buffer[i++] = 8; //testing + AppData.Buffer[i++] = 4; + AppData.Buffer[i++] = sts_fhmos_data.fall_state; + AppData.Buffer[i++] = sts_fhmos_data.human_movement_state; + AppData.Buffer[i++] = sts_fhmos_data.occupancy_state; + AppData.Buffer[i++] = sts_fhmos_data.sos_alarm_state; + //(uint8_t)((sts_l8_sensor_data.tof_range_presence_state & 0xFF)); #endif //STS_T6 @@ -1496,6 +1505,8 @@ void OnYunhornSTSHeartBeatPeriodicityChanged(uint32_t periodicity) static void OnYunhornSTSWakeUpScanTimerEvent(void *context) { #if defined(STS_P2)||defined(STS_T6)||defined(L8) + UTIL_TIMER_Stop(&YunhornSTSWakeUpScanTimer); + UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP5), CFG_SEQ_Prio_0); UTIL_TIMER_Start(&YunhornSTSWakeUpScanTimer); diff --git a/STM32CubeIDE/.settings/language.settings.xml b/STM32CubeIDE/.settings/language.settings.xml index 4b0e6ff..c3dfc14 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 c8e65837db575819201caa4623d0af044b28c691..e25eacc2d600db52a83b905c4866ba5b6124e071 100644 GIT binary patch delta 60056 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 r5bI6YF5}Hfv61taLJg~a`BupLDJOEn= 0; k--) { if (Result->ZoneResult[j + k].NumberOfTargets > 0) - { - - for(i = 0; i < 16; i++) - { -#if 0 - printf("Zone : %3d, Motion power : %3lu\n", i, Results. - Results.motion_indicator.motion[motion_config.map_id[i]]); -#endif -#if 0 - printf("| \033[38;5;10m%5ld\033[0m :%2d%5ld ", - (long)Result->ZoneResult[j + k].Distance[l],(j+k), - (long)Result->ZoneResult[j + k].Status[l]); -#endif - } - - printf("\n"); + { uint16_t distance_i = (long)Result->ZoneResult[j + k].Distance[l]; + if ((distance_i >LOW_THRESHOLD)&&(distance_i ZoneResult[j + k].Status[l]); + else printf("| %5s : %5s ", " ", " "); + } + else + printf("| %5s : %5s ", " ", " "); + } + printf("\n"); /* ---- origin printf("| \033[38;5;10m%5ld\033[0m :%2d%5ld ", (long)Result->ZoneResult[j + k].Distance[l],(j+k), (long)Result->ZoneResult[j + k].Status[l]); */ int32_t roi_distance =(uint32_t)(Result->ZoneResult[j + k].Distance[l]); + /* state tree */ + if ((roi_distance > LOW_THRESHOLD)&&(roi_distance < OCCUPANCY_THRESHOLD)) + fhmos_occupancy = 1; + if ((roi_distance < HIGH_THRESHOLD)&&(roi_distance > OCCUPANCY_THRESHOLD)) + { + fhmos_fall = 1; + fhmos_human_movement = 1; + fhmos_fall_counter ++; + if (fhmos_fall_counter++>60) + fhmos_fall =2; + if (fhmos_fall_counter > 200) + fhmos_fall =3; + } + + + + int16_t roi_low = (roi_distance - LOW_THRESHOLD)/10; int16_t roi_high = (HIGH_THRESHOLD - roi_distance)/10; @@ -384,11 +421,6 @@ static void print_result(RANGING_SENSOR_Result_t *Result) //printf("| \033[38;5;10m%5s\033[0m :%2d%5ld ", ".",(j+k), (uint32_t)Result->ZoneResult[j + k].Status[l]); printf("| \033[38;5;10m%5s\033[0m : ", "."); } - } - else - printf("| %5s : %5s ", ".", "."); - } - printf("|\n"); if ((Profile.EnableAmbient != 0) || (Profile.EnableSignal != 0)) { @@ -430,7 +462,19 @@ static void print_result(RANGING_SENSOR_Result_t *Result) #endif -#if defined(STS_P2)||defined(STS_T6) +#ifdef L8 +void STS_FHMOS_sensor_read(sts_fhmos_sensor_data_t *sts_fhmos_data) +{ + //uint8_t fhmos_fall=0, fhmos_human_movement=0, fhmos_occupancy=0, fhmos_sos_alarm=0; + sts_fhmos_data->fall_state = fhmos_fall; + sts_fhmos_data->human_movement_state =fhmos_human_movement; + sts_fhmos_data->occupancy_state =fhmos_occupancy; + sts_fhmos_data->sos_alarm_state =fhmos_sos_alarm; +} +#endif + + +#if defined(STS_P2)||defined(STS_T6)||defined(L8) uint8_t IsInterruptDetected(uint16_t dev) { // To be filled with customer HW. This function should