change back a little

This commit is contained in:
Yunhorn 2024-07-31 17:51:17 +08:00
parent 19c700ec23
commit a5de53a293
1 changed files with 37 additions and 65 deletions

View File

@ -694,6 +694,8 @@ void LoRaWAN_Init(void)
UTIL_TIMER_PERIODIC, OnYunhornSTSHeartBeatTimerEvent, NULL); UTIL_TIMER_PERIODIC, OnYunhornSTSHeartBeatTimerEvent, NULL);
UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer); UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer);
UTIL_TIMER_Start(&STSLampBarColorTimer);
//UTIL_TIMER_Start(&STSDurationCheckTimer); //UTIL_TIMER_Start(&STSDurationCheckTimer);
#else #else
@ -1203,8 +1205,6 @@ static void OnYunhornSTSLampBarColorTimerEvent(void *context)
r_b = !r_b; r_b = !r_b;
} }
//UTIL_TIMER_Start(&STSLampBarColorTimer);
} }
static void OnYunhornSTSDurationCheckTimerEvent(void *context) static void OnYunhornSTSDurationCheckTimerEvent(void *context)
@ -1426,12 +1426,12 @@ static void OnJoinRequest(LmHandlerJoinParams_t *joinParams)
heart_beat_timer = 1; heart_beat_timer = 1;
SendTxData(); 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 */ /* USER CODE END OnJoinRequest_1 */
} }
@ -1709,7 +1709,6 @@ static void OnYunhornSTSHeartBeatTimerEvent(void *context)
{ {
heart_beat_timer = 1; heart_beat_timer = 1;
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); 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)) 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_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; periodicity_length *= 3600;
} }
TxPeriodicity = periodicity_length*1000; //translate to 1000ms=1s TxPeriodicity = periodicity_length*1000; //translate to 1000ms=1s
//HeartBeatPeriodicity = TxPeriodicity;
//OnTxPeriodicityChanged(TxPeriodicity); //OnTxPeriodicityChanged(TxPeriodicity);
#if defined(STS_O6)||defined(STS_O7) #if defined(STS_O6)||defined(STS_O7)
HeartBeatPeriodicity = TxPeriodicity;
OnYunhornSTSHeartBeatPeriodicityChanged(TxPeriodicity); OnYunhornSTSHeartBeatPeriodicityChanged(TxPeriodicity);
#endif #endif
// 2024-07-31 // 2024-07-31
@ -2278,31 +2279,28 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size)
OnStoreSTSCFGContextRequest(); OnStoreSTSCFGContextRequest();
i=0; // Step 1: Prepare status update message i=0; // Step 1: Prepare status update message
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD1]; UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, tlv_buf_size);
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD2]; i = tlv_buf_size;
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD3];
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD4];
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD5];
STS_Combined_Status_Processing(); 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')) 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_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; //depth *10 in cm 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+1)*128; //fall_confirm_threshold_in_10sec 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_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_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 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(); OnStoreSTSCFGContextRequest();
i=0; // Step 1: Prepare status update message i=0; // Step 1: Prepare status update message
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD1]; UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, tlv_buf_size);
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD2]; i = tlv_buf_size;
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD3]; APP_LOG(TS_OFF, VLEVEL_L, "###### Fall detection CFG = %s\r\n",(char*)outbuf);
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];
STS_Combined_Status_Processing(); STS_Combined_Status_Processing();
} }
@ -2347,14 +2341,9 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size)
OnStoreSTSCFGContextRequest(); OnStoreSTSCFGContextRequest();
i=0; // Step 1: Prepare status update message i=0; // Step 1: Prepare status update message
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD1]; UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, tlv_buf_size);
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD2]; i = tlv_buf_size;
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD3]; APP_LOG(TS_OFF, VLEVEL_L, "###### Occupancy/Overstay/unconscious config changed =%s\r\n",(char *)outbuf);
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];
STS_Combined_Status_Processing(); 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 i=0; // Step 1: Prepare status update message
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD1];
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD2]; UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, tlv_buf_size);
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD3]; i = tlv_buf_size;
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD4]; APP_LOG(TS_OFF, VLEVEL_L, "###### P Work mode switched =%s\r\n",(char *)outbuf);
//sts_service_mask = STS_SERVICE_MASK_L0; //sts_service_mask = STS_SERVICE_MASK_L0;
//sts_lamp_bar_color = STS_GREEN; //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(); STS_PRESENCE_SENSOR_NVM_CFG();
i=0; // Step 1: Prepare status update message i=0; // Step 1: Prepare status update message
UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, tlv_buf_size);
outbuf[i++] = (char) 'P'; i = tlv_buf_size;
outbuf[i++] = sts_mtmcode1; APP_LOG(TS_OFF, VLEVEL_L, "###### RSS Full CFG=%s\r\n",(char *)outbuf);
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];
}
// Step 2: Save valid config to NVM // Step 2: Save valid config to NVM
sts_cfg_nvm.mtmcode1 = sts_mtmcode1; 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(); STS_PRESENCE_SENSOR_NVM_CFG_SIMPLE();
i=0; // Step 1: Prepare status update message i=0; // Step 1: Prepare status update message
outbuf[i++] = (char) 'P'; UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, tlv_buf_size);
outbuf[i++] = sts_mtmcode1; i = tlv_buf_size;
outbuf[i++] = sts_mtmcode2; APP_LOG(TS_OFF, VLEVEL_L, "###### RSS Simple CFG=%s\r\n",(char*)outbuf);
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);
// Step 2: Save valid config to NVM // Step 2: Save valid config to NVM
sts_cfg_nvm.mtmcode1 = sts_mtmcode1; sts_cfg_nvm.mtmcode1 = sts_mtmcode1;