From 49dde740ae143e22489ae0d1e0f6b94fcd3cd52d Mon Sep 17 00:00:00 2001 From: YunHorn Technology Date: Wed, 11 Dec 2024 01:06:29 +0800 Subject: [PATCH] workable fall sensor with debug on --- LoRaWAN/App/lora_app.c | 55 +++++- STM32CubeIDE/Release/WLE5CC_NODE_STS.bin | Bin 189500 -> 189968 bytes STM32CubeIDE/Release/WLE5CC_NODE_STS.elf | Bin 281380 -> 281304 bytes STS/Core/Inc/yunhorn_sts_sensors.h | 12 +- STS/Core/Src/yunhorn_sts_process.c | 122 ++++++++++--- STS/TOF/App/app_tof.c | 210 ++++++++++++----------- 6 files changed, 269 insertions(+), 130 deletions(-) diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c index 9dd3174..8aa1b36 100644 --- a/LoRaWAN/App/lora_app.c +++ b/LoRaWAN/App/lora_app.c @@ -962,18 +962,21 @@ void STS_SENSOR_Upload_Message(uint8_t appDataPort, uint8_t appBufferSize, uint8 AppData.Port = appDataPort; AppData.BufferSize = appBufferSize; + APP_LOG(TS_OFF, VLEVEL_M, "\n\r AppPort=%d BufferSize=%d \r\n", AppData.Port,AppData.BufferSize); status = LmHandlerSend(&AppData, LmHandlerParams.IsTxConfirmed, false); if (LORAMAC_HANDLER_SUCCESS == status) { - APP_LOG(TS_ON, VLEVEL_H, "SEND REQUEST\r\n"); + APP_LOG(TS_ON, VLEVEL_M, "SEND REQUEST\r\n"); } else if (LORAMAC_HANDLER_DUTYCYCLE_RESTRICTED == status) { + APP_LOG(TS_ON, VLEVEL_M, "DUTYCYCLE RESTRICTED\r\n"); + nextTxIn = LmHandlerGetDutyCycleWaitTime(); if (nextTxIn > 0) { - APP_LOG(TS_ON, VLEVEL_H, "Next Tx in : ~%d second(s)\r\n", (nextTxIn / 1000)); + APP_LOG(TS_ON, VLEVEL_M, "Next Tx in : ~%d second(s)\r\n", (nextTxIn / 1000)); } } @@ -1204,8 +1207,51 @@ static void SendTxData(void) #if defined(L8) //AppData.Buffer[i++] = 4; - AppData.Buffer[i++] = 9; - AppData.Buffer[i++] = 0x01; // payload type, 0x01= regular payload + + if ((fhmos_data.state_fall ==3)||(fhmos_data.state_occupancy ==3)||(fhmos_data.state_human_movement ==3)) + { + AppData.Buffer[i++] = 10; + AppData.Buffer[i++] = 0x03; // payload type, 0x01= regular payload + AppData.Buffer[i++] = fhmos_data.state_fall; + AppData.Buffer[i++] = fhmos_data.state_human_movement; + AppData.Buffer[i++] = fhmos_data.state_occupancy; + AppData.Buffer[i++] = fhmos_data.state_sos_alarm; + AppData.Buffer[i++] = fhmos_data.lamp_bar_color; + if (fhmos_data.state_fall ==3) + { + AppData.Buffer[i++] = 0xff&(fhmos_data.time_stamp_fall_confirmed>>24); + AppData.Buffer[i++] = 0xff&(fhmos_data.time_stamp_fall_confirmed>>16); + AppData.Buffer[i++] = 0xff&(fhmos_data.time_stamp_fall_confirmed>>8); + AppData.Buffer[i++] = 0xff&(fhmos_data.time_stamp_fall_confirmed); + } else if (fhmos_data.state_occupancy ==3){ + AppData.Buffer[i++] = 0xff&(fhmos_data.time_stamp_overstay_confirmed>>24); + AppData.Buffer[i++] = 0xff&(fhmos_data.time_stamp_overstay_confirmed>>16); + AppData.Buffer[i++] = 0xff&(fhmos_data.time_stamp_overstay_confirmed>>8); + AppData.Buffer[i++] = 0xff&(fhmos_data.time_stamp_overstay_confirmed); + + } else if (fhmos_data.state_human_movement ==3) + { + AppData.Buffer[i++] = 0xff&(fhmos_data.time_stamp_motionless_confirmed>>24); + AppData.Buffer[i++] = 0xff&(fhmos_data.time_stamp_motionless_confirmed>>16); + AppData.Buffer[i++] = 0xff&(fhmos_data.time_stamp_motionless_confirmed>>8); + AppData.Buffer[i++] = 0xff&(fhmos_data.time_stamp_motionless_confirmed); + } + + } else { + AppData.Buffer[i++] = 9; + AppData.Buffer[i++] = 0x01; + AppData.Buffer[i++] = fhmos_data.state_fall; + AppData.Buffer[i++] = fhmos_data.state_human_movement; + AppData.Buffer[i++] = fhmos_data.state_occupancy; + AppData.Buffer[i++] = fhmos_data.state_sos_alarm; + + AppData.Buffer[i++] = fhmos_data.lamp_bar_color; + AppData.Buffer[i++] = fhmos_data.state_hall_1; + AppData.Buffer[i++] = fhmos_data.state_hall_2; + AppData.Buffer[i++] = fhmos_data.state_PIR; + } + // AppData.Buffer[i++] = 0x01; // payload type, 0x01= regular payload +#if 0 AppData.Buffer[i++] = fhmos_data.state_fall; AppData.Buffer[i++] = fhmos_data.state_human_movement; AppData.Buffer[i++] = fhmos_data.state_occupancy; @@ -1215,6 +1261,7 @@ static void SendTxData(void) AppData.Buffer[i++] = fhmos_data.state_hall_1; AppData.Buffer[i++] = fhmos_data.state_hall_2; AppData.Buffer[i++] = fhmos_data.state_PIR; +#endif #elif defined(L8) sts_data->lamp_bar_color = sts_lamp_bar_color; diff --git a/STM32CubeIDE/Release/WLE5CC_NODE_STS.bin b/STM32CubeIDE/Release/WLE5CC_NODE_STS.bin index e9f82352d82b4c40ee506e0d310b3df9f99e28c1..e08268506248155dd5a78553f24f03a0e4d64402 100644 GIT binary patch delta 16131 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

L) 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 0)) - { - range_distance = (uint32_t)Result.ZoneResult[i].Distance[0]; + /* Print distance and status */ + if ((Result.ZoneResult[i].NumberOfTargets > 0)) + { + range_distance = (uint32_t)Result.ZoneResult[i].Distance[0]; - //if (sts_sensor_install_height > range_distance) - fhmos_bg.h2cm[i] += ((uint32_t)sts_sensor_install_height - range_distance); - if (abs(fhmos_bg.h2cm[i])>4)&0x0f, (fhmos_gesture.cube[i]&0x0f)); + APP_LOG(TS_OFF, VLEVEL_M, " [%2d_%2d]", (fhmos_gesture.cube[i]>>4)&0x0f, (fhmos_gesture.cube[i]&0x0f)); } fhmos_gesture.head_level = 0xff&((sts_sensor_install_height - sts_fall_head_position)/10); // head level from floor in CM fhmos_gesture.head_xy = head_xy&0xff; - printf("\r\n Head level =%4d cm, Head_xy=%d X:Y = %2d : %2d \r\n", fhmos_gesture.head_level, head_xy, (head_xy%8), (head_xy/8)); + APP_LOG(TS_OFF, VLEVEL_M, "\r\n Head level =%4d cm, Head_xy=%d X:Y = %2d : %2d \r\n", fhmos_gesture.head_level, head_xy, (head_xy%8), (head_xy/8)); #if 0 for (i=0; i<64; i++) @@ -331,25 +340,26 @@ uint16_t MX_TOF_Ranging_Process(void) for (uint8_t zone_nbr = 0; zone_nbr < 4; zone_nbr++) { - /* Print distance and status */ - if (Result.ZoneResult[center_roi[zone_nbr]].NumberOfTargets > 0) - { - printf("| %04ld %2ld", - (long)Result.ZoneResult[center_roi[zone_nbr]].Distance[RANGING_SENSOR_NB_TARGET_PER_ZONE-1], - (long)Result.ZoneResult[center_roi[zone_nbr]].Status[RANGING_SENSOR_NB_TARGET_PER_ZONE-1]); - } - else { - printf("| -- "); - } - + #if 0 + /* Print distance and status */ + if (Result.ZoneResult[center_roi[zone_nbr]].NumberOfTargets > 0) + { + APP_LOG(TS_OFF, VLEVEL_M, "| %04ld %2ld", + (long)Result.ZoneResult[center_roi[zone_nbr]].Distance[RANGING_SENSOR_NB_TARGET_PER_ZONE-1], + (long)Result.ZoneResult[center_roi[zone_nbr]].Status[RANGING_SENSOR_NB_TARGET_PER_ZONE-1]); + } + else { + APP_LOG(TS_OFF, VLEVEL_M, "| -- "); + } + #endif range_distance += Result.ZoneResult[center_roi[zone_nbr]].Distance[RANGING_SENSOR_NB_TARGET_PER_ZONE-1]; } } - printf("\n\r"); + APP_LOG(TS_OFF, VLEVEL_M, "\n\r"); range_distance /=40; - printf("| %u mm\r\n", (uint16_t)range_distance); + APP_LOG(TS_OFF, VLEVEL_M, "| %u mm\r\n", (uint16_t)range_distance); return (uint16_t) range_distance; #endif @@ -400,7 +410,7 @@ void STS_TOF_L8_Process(void) { print_result(&Result); } else { - printf("\r\n x \r\n"); + APP_LOG(TS_OFF, VLEVEL_M, "\r\n x \r\n"); } } #endif @@ -528,29 +538,22 @@ static void MX_53L8A1_ThresholdDetection_Process(void) static void print_result(RANGING_SENSOR_Result_t *Result) { int8_t i; - int8_t j; - //int8_t k; - //int8_t l; - //uint8_t zones_per_line; - //static uint8_t prev_occupy_state=0; + //int8_t j; uint32_t center_range_distance=0; uint8_t center_roi[4] = {27,28,35,36}; - static uint32_t prev_distance[64]={0}; - uint32_t motion_diff=0, motion_power=0; + //static uint32_t prev_distance[64]={0}; + //uint32_t motion_diff=0, motion_power=0; + uint16_t head_distance=8000; //uint32_t motion_power_threshold = 3200; // 64*50mm //SysTime_t sensor_event_time = SysTimeGetMcuTime(); // uint32_t time_stamp=STS_Get_Date_Time_Stamp(); - - - //printf("\r\n Motion level Calculation \r\n"); - +#if 0 for (j=0; j<64; j++) { if (prev_distance[j] > (uint32_t)Result->ZoneResult[j].Distance[0]) motion_diff = (prev_distance[j] - (uint32_t)Result->ZoneResult[j].Distance[0]); else motion_diff = (uint32_t)Result->ZoneResult[j].Distance[0] - prev_distance[j]; - //printf("\r\nj=%d, diff=%d ", j, motion_diff); motion_power += motion_diff; prev_distance[j] = (uint16_t)Result->ZoneResult[j].Distance[0]; @@ -562,6 +565,7 @@ static void print_result(RANGING_SENSOR_Result_t *Result) } else { fhmos_human_movement =0; } +#endif #if 0 printf("\r\n Motion Power =%d Average=%d Human Movement =%d, th=%d \r\n", motion_power*64, motion_power, fhmos_human_movement, fhmos_cfg.th_motion_power_level); #endif @@ -576,23 +580,29 @@ static void print_result(RANGING_SENSOR_Result_t *Result) center_range_distance +=(uint32_t)(Result->ZoneResult[center_roi[i]].Distance[0]); } - //printf("\n\r Center Range =%4d mm\r\n",center_range_distance ); - //int32_t roi_distance =(uint32_t)(Result->ZoneResult[j + k].Distance[l]); - int32_t roi_distance =(uint32_t)center_range_distance/4; - uint32_t factor1 = sts_sensor_install_height; - uint32_t factor2 = (sts_high_threshold - 10*fhmos_cfg.th_head_level_height_cm); - /* state tree */ - //printf("\r\n th_head_level_cm=%d, factor2=high_th:%d - mm:%d\r\n", fhmos_cfg.th_head_level_height_cm, sts_high_threshold, factor2); - //printf("\r\n roi_D < Facot1 =%d , D factor2)) - { - //printf("\r\nThreshold: low =%d occupy=%d head level=%d high=%d\r\n", sts_low_threshold, sts_occupancy_threshold, fhmos_cfg.th_head_level_height_cm*10, sts_high_threshold); - printf("\r\n YELLOW OR RED Distance=%ld \r\n", roi_distance); - sts_head_level_low = 1; + for (i=0; i<64; i++) + { + if (0 == fhmos_bg.maskoff[i]) + { + if (Result->ZoneResult[i].Distance[0] < head_distance) + head_distance = Result->ZoneResult[i].Distance[0]; // find out the min_distance + } + } + /* state tree */ + printf("\r\n Factor1_install_height=%d mm, F2 th_high=%d, th_head=%d, Factor2 (gap)=%d \r\n", + factor1, (int)sts_high_threshold, (int)10*fhmos_cfg.th_head_level_height_cm, factor2); + + if ((head_distance <= factor1) && (head_distance >= factor2)) + { + + printf("\r\n YELLOW OR RED Distance=%d \r\n", head_distance); + sts_head_level_low = 1; #if 0 fhmos_data.state_fall = STS_FHMOS_FALL_STATE_POTENTIAL; fhmos_data.color_fall = STS_FALL_SUSPICIOUS_COLOR; @@ -601,22 +611,17 @@ static void print_result(RANGING_SENSOR_Result_t *Result) //sts_fhmos_state_changed |=1; - } else if ((roi_distance < factor2)) // TODO XXX - { - sts_head_level_low = 0; - fhmos_data.state_fall = STS_FHMOS_FALL_STATE_NORMAL; - sts_fhmos_bitmap_pending = 0; - //fhmos_data.color_fall = STS_FALL_NORMAL_COLOR; // HOLD THIS COLOR BEFORE ENTER YELLOW STATUS - //printf("\r\n NORMAL NO FALL Distance=%4ld COLOR =%d \r\n", roi_distance, fhmos_data.color_fall); + } else if ((head_distance < (factor2 - 150))) // TODO XXX 50mm gap to avoid flapping back and forth + { + sts_head_level_low = 0; + fhmos_data.state_fall = STS_FHMOS_FALL_STATE_NORMAL; + sts_fhmos_bitmap_pending = 0; + + } - } OnSensorL8AStateChanged(); - //sts_fhmos_result = 1; - - //STS_Combined_Status_Processing(); - } @@ -657,10 +662,13 @@ static void print_result(RANGING_SENSOR_Result_t *Result) void STS_FHMOS_sensor_read(sts_fhmos_sensor_data_t *sts_data) { //uint8_t fhmos_fall=0, fhmos_human_movement=0, fhmos_occupancy=0, fhmos_sos_alarm=0; - sts_data->state_occupancy = fhmos_data.state_occupancy; - sts_data->state_fall = fhmos_data.state_fall; - sts_data->state_human_movement = fhmos_data.state_human_movement; - sts_data->state_sos_alarm = fhmos_data.state_sos_alarm; + sts_data->state_occupancy = fhmos_data.state_occupancy; + sts_data->state_fall = fhmos_data.state_fall; + sts_data->state_human_movement = fhmos_data.state_human_movement; + sts_data->state_sos_alarm = fhmos_data.state_sos_alarm; + sts_data->time_stamp_fall_confirmed = fhmos_data.time_stamp_fall_confirmed; + sts_data->time_stamp_motionless_confirmed = fhmos_data.time_stamp_motionless_confirmed; + sts_data->time_stamp_overstay_confirmed = fhmos_data.time_stamp_overstay_confirmed; sts_data->lamp_bar_color = sts_lamp_bar_color; sts_data->state_hall_1 = sts_hall1_read;