From a5de53a293ab7cd6d4111c0d0227facc776a3764 Mon Sep 17 00:00:00 2001 From: YunHorn Technology Date: Wed, 31 Jul 2024 17:51:17 +0800 Subject: [PATCH] change back a little --- LoRaWAN/App/lora_app.c | 102 +++++++++++++++-------------------------- 1 file changed, 37 insertions(+), 65 deletions(-) diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c index b37b741..4ee0cda 100644 --- a/LoRaWAN/App/lora_app.c +++ b/LoRaWAN/App/lora_app.c @@ -694,6 +694,8 @@ void LoRaWAN_Init(void) UTIL_TIMER_PERIODIC, OnYunhornSTSHeartBeatTimerEvent, NULL); UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer); + UTIL_TIMER_Start(&STSLampBarColorTimer); + //UTIL_TIMER_Start(&STSDurationCheckTimer); #else @@ -1203,8 +1205,6 @@ static void OnYunhornSTSLampBarColorTimerEvent(void *context) r_b = !r_b; } -//UTIL_TIMER_Start(&STSLampBarColorTimer); - } static void OnYunhornSTSDurationCheckTimerEvent(void *context) @@ -1426,12 +1426,12 @@ static void OnJoinRequest(LmHandlerJoinParams_t *joinParams) heart_beat_timer = 1; SendTxData(); - //UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); - //OnYunhornSTSHeartBeatPeriodicityChanged(HeartBeatPeriodicity); + OnYunhornSTSHeartBeatPeriodicityChanged(HeartBeatPeriodicity); + + UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer); + UTIL_TIMER_Start(&STSDurationCheckTimer); - UTIL_TIMER_Start(&STSLampBarColorTimer); - //UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer); /* USER CODE END OnJoinRequest_1 */ } @@ -1709,7 +1709,6 @@ static void OnYunhornSTSHeartBeatTimerEvent(void *context) { heart_beat_timer = 1; UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); - //UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer); if ((STS_LoRa_WAN_Joined ) && (sts_ac_code[0]==0x0) && (sts_ac_code[19]==0x0)) { @@ -1719,6 +1718,7 @@ static void OnYunhornSTSHeartBeatTimerEvent(void *context) } UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventRFAC), CFG_SEQ_Prio_0); } + //UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer); } /** @@ -2160,10 +2160,11 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size) periodicity_length *= 3600; } TxPeriodicity = periodicity_length*1000; //translate to 1000ms=1s - //HeartBeatPeriodicity = TxPeriodicity; + //OnTxPeriodicityChanged(TxPeriodicity); #if defined(STS_O6)||defined(STS_O7) + HeartBeatPeriodicity = TxPeriodicity; OnYunhornSTSHeartBeatPeriodicityChanged(TxPeriodicity); #endif // 2024-07-31 @@ -2278,31 +2279,28 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size) OnStoreSTSCFGContextRequest(); i=0; // Step 1: Prepare status update message - outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD1]; - outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD2]; - outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD3]; - outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD4]; - outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD5]; + UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, tlv_buf_size); + i = tlv_buf_size; STS_Combined_Status_Processing(); - } else if (tlv_buf_size == 8 && tlv_buf[CFG_CMD4]=='F') // Change fall detection + } else if (tlv_buf_size == 7 && tlv_buf[CFG_CMD4]=='F') // Change fall detection { - invalid_flag = 0; // P 1 1 F A B C D + invalid_flag = 0; // P 1 1 F A B C if (((tlv_buf[CFG_CMD5] >='0') && (tlv_buf[CFG_CMD5]<='9')) && ((tlv_buf[CFG_CMD6]<='9') && (tlv_buf[CFG_CMD6]>='0')) - && ((tlv_buf[CFG_CMD7]<='9') && (tlv_buf[CFG_CMD7]>='0'))&& ((tlv_buf[CFG_CMD8]<='9') && (tlv_buf[CFG_CMD8]>='0'))) + && ((tlv_buf[CFG_CMD7]<='9') && (tlv_buf[CFG_CMD7]>='0'))) //&& ((tlv_buf[CFG_CMD8]<='9') && (tlv_buf[CFG_CMD8]>='0'))) { - sts_fall_detection_acc_threshold = (uint8_t)(tlv_buf[CFG_CMD5] - 0x30)*10; //acc *10 mg/s2 - sts_fall_detection_depth_threshold = (uint8_t)(tlv_buf[CFG_CMD6] - 0x30)*10; //depth *10 in cm - sts_fall_confirm_threshold_in_10sec = (uint8_t)(tlv_buf[CFG_CMD7] - 0x30+1)*128; //fall_confirm_threshold_in_10sec + sts_fall_detection_acc_threshold = (uint8_t)(tlv_buf[CFG_CMD5] - 0x30)*10; //A: acc *10 mg/s2 + sts_fall_detection_depth_threshold = (uint8_t)(tlv_buf[CFG_CMD6] - 0x30)*10; //D: depth *10 in cm + sts_fall_confirm_threshold_in_10sec = (uint8_t)(tlv_buf[CFG_CMD7] - 0x30)*10; //C: fall_confirm_threshold_in_10sec - sts_occupancy_overtime_threshold_in_10min = (uint8_t)(tlv_buf[CFG_CMD8] - 0x30)*10; // overtime *10 min + //sts_occupancy_overtime_threshold_in_10min = (uint8_t)(tlv_buf[CFG_CMD8] - 0x30)*10; //T: overtime *10 min sts_cfg_nvm.fall_detection_acc_threshold = (uint8_t)(tlv_buf[CFG_CMD5] - 0x30); sts_cfg_nvm.fall_detection_depth_threshold = (uint8_t)(tlv_buf[CFG_CMD6] - 0x30); - sts_cfg_nvm.fall_confirm_threshold_in_10sec = (uint8_t)(tlv_buf[CFG_CMD7] - 0x30+1); + sts_cfg_nvm.fall_confirm_threshold_in_10sec = (uint8_t)(tlv_buf[CFG_CMD7] - 0x30); - sts_cfg_nvm.occupancy_overtime_threshold_in_10min = (uint8_t)(tlv_buf[CFG_CMD8] - 0x30); + //sts_cfg_nvm.occupancy_overtime_threshold_in_10min = (uint8_t)(tlv_buf[CFG_CMD8] - 0x30); if (sts_work_mode == STS_UNI_MODE) // fall detection threshold only effective in Uni_mode { @@ -2315,14 +2313,10 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size) OnStoreSTSCFGContextRequest(); i=0; // Step 1: Prepare status update message - outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD1]; - outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD2]; - outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD3]; - outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD4]; - outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD5]; - outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD6]; - outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD7]; - outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD8]; + UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, tlv_buf_size); + i = tlv_buf_size; + APP_LOG(TS_OFF, VLEVEL_L, "###### Fall detection CFG = %s\r\n",(char*)outbuf); + STS_Combined_Status_Processing(); } @@ -2347,14 +2341,9 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size) OnStoreSTSCFGContextRequest(); i=0; // Step 1: Prepare status update message - outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD1]; - outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD2]; - outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD3]; - outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD4]; - outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD5]; - outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD6]; - outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD7]; - outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD8]; + UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, tlv_buf_size); + i = tlv_buf_size; + APP_LOG(TS_OFF, VLEVEL_L, "###### Occupancy/Overstay/unconscious config changed =%s\r\n",(char *)outbuf); STS_Combined_Status_Processing(); } } @@ -2373,10 +2362,10 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size) } i=0; // Step 1: Prepare status update message - outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD1]; - outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD2]; - outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD3]; - outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD4]; + + UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, tlv_buf_size); + i = tlv_buf_size; + APP_LOG(TS_OFF, VLEVEL_L, "###### P Work mode switched =%s\r\n",(char *)outbuf); //sts_service_mask = STS_SERVICE_MASK_L0; //sts_lamp_bar_color = STS_GREEN; @@ -2419,18 +2408,9 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size) STS_PRESENCE_SENSOR_NVM_CFG(); i=0; // Step 1: Prepare status update message - - outbuf[i++] = (char) 'P'; - outbuf[i++] = sts_mtmcode1; - outbuf[i++] = sts_mtmcode2; - outbuf[i++] = sts_version; - outbuf[i++] = sts_hardware_ver; - - for (uint8_t j=0; j < CFG_CMD_RSS_FULL_SIZE; j++) - { - //outbuf[i++] = (uint8_t)(sts_cfg_nvm.p[j]+0x30)&0xff; - outbuf[i++] = tlv_buf[CFG_CMD4+j]; - } + UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, tlv_buf_size); + i = tlv_buf_size; + APP_LOG(TS_OFF, VLEVEL_L, "###### RSS Full CFG=%s\r\n",(char *)outbuf); // Step 2: Save valid config to NVM sts_cfg_nvm.mtmcode1 = sts_mtmcode1; @@ -2466,17 +2446,9 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size) STS_PRESENCE_SENSOR_NVM_CFG_SIMPLE(); i=0; // Step 1: Prepare status update message - outbuf[i++] = (char) 'P'; - outbuf[i++] = sts_mtmcode1; - outbuf[i++] = sts_mtmcode2; - outbuf[i++] = sts_version; - outbuf[i++] = sts_hardware_ver; - - for (j=0; j < CFG_CMD_RSS_SIMPLE_SIZE; j++) - { - outbuf[i++] = (uint8_t)(sts_cfg_nvm.p[j]+0x30)&0xff; - } - APP_LOG(TS_OFF, VLEVEL_L, "###### RSS Simple CFG=%s\r\n",(uint8_t*)outbuf); + UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, tlv_buf_size); + i = tlv_buf_size; + APP_LOG(TS_OFF, VLEVEL_L, "###### RSS Simple CFG=%s\r\n",(char*)outbuf); // Step 2: Save valid config to NVM sts_cfg_nvm.mtmcode1 = sts_mtmcode1;