good startup without manual trigger door contact ,etc.
This commit is contained in:
parent
9693082c84
commit
74209c1cc3
|
@ -679,6 +679,8 @@ void OnStoreSTSCFGContextRequest(void);
|
|||
*/
|
||||
void OnRestoreSTSCFGContextRequest(void *cfg_in_nvm);
|
||||
|
||||
void OnRestoreSTSCFG_FactoryDefault_ContextRequest(void);
|
||||
|
||||
void STS_REBOOT_CONFIG_Init(void);
|
||||
|
||||
/**
|
||||
|
|
|
@ -957,24 +957,24 @@ void STS_PRESENCE_SENSOR_RSS_Init(void)
|
|||
APP_LOG(TS_ON, VLEVEL_H, "##### YunHorn SmarToilets(r) MEMS RSS Initializing \r\n");
|
||||
|
||||
// PME_ON;
|
||||
|
||||
#if 0
|
||||
//if ((sts_distance_rss_distance==0)&&(sts_sensor_install_height==0))
|
||||
{
|
||||
uint8_t exit_status =0;
|
||||
do {
|
||||
exit_status=sts_distance_rss_detector_distance();
|
||||
if (exit_status ==0) {
|
||||
APP_LOG(TS_ON, VLEVEL_H, "##### RSS Installation Height =%u \r\n", (uint16_t)sts_distance_rss_distance);
|
||||
APP_LOG(TS_ON, VLEVEL_M, "##### RSS Installation Height =%u \r\n", (uint16_t)sts_distance_rss_distance);
|
||||
}
|
||||
else {
|
||||
APP_LOG(TS_ON, VLEVEL_H, "##### RSS Installation Height Error \r\n");
|
||||
HAL_Delay(100);
|
||||
APP_LOG(TS_ON, VLEVEL_M, "##### RSS Installation Height Error \r\n");
|
||||
//HAL_Delay(100);
|
||||
}
|
||||
} while((0));
|
||||
|
||||
sts_sensor_install_height = (uint16_t)sts_distance_rss_distance;
|
||||
}
|
||||
|
||||
#endif
|
||||
STS_PRESENCE_SENSOR_NVM_CFG();
|
||||
#if 0
|
||||
switch (sts_work_mode)
|
||||
|
@ -993,7 +993,7 @@ void STS_PRESENCE_SENSOR_RSS_Init(void)
|
|||
break;
|
||||
}
|
||||
#endif
|
||||
APP_LOG(TS_ON, VLEVEL_M, "##### Reboot --- with NVM CFG'ED RSS flag =%02x \r\n", sts_rss_config_updated_flag);
|
||||
APP_LOG(TS_ON, VLEVEL_M, "\r\n##### Reboot --- with NVM CFG'ED RSS flag =%02x \r\n", sts_rss_config_updated_flag);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1007,9 +1007,9 @@ void STS_PRESENCE_SENSOR_Distance_Measure_Process(void)
|
|||
do
|
||||
{
|
||||
exit_status = sts_distance_rss_detector_distance();
|
||||
HAL_Delay(100);
|
||||
HAL_Delay(10);
|
||||
i++;
|
||||
} while ((exit_status == EXIT_FAILURE) && (i < 2));
|
||||
} while ((exit_status == EXIT_FAILURE) && (i < 1));
|
||||
|
||||
}
|
||||
|
||||
|
@ -1028,15 +1028,15 @@ void STS_PRESENCE_SENSOR_Function_Test_Process(uint8_t *self_test_result, uint8_
|
|||
STS_Lamp_Bar_Self_Test_Simple();
|
||||
sts_lamp_bar_color = STS_PINK;
|
||||
STS_Lamp_Bar_Refresh();
|
||||
HAL_Delay(1000);
|
||||
HAL_Delay(200);
|
||||
sts_presence_rss_bring_up_test(bring_up_result);
|
||||
|
||||
HAL_Delay(1000);
|
||||
HAL_Delay(200);
|
||||
|
||||
STS_PRESENCE_SENSOR_Distance_Measure_Process();
|
||||
|
||||
}
|
||||
HAL_Delay(1000);
|
||||
HAL_Delay(200);
|
||||
|
||||
UTIL_MEM_cpy_8(self_test_result, bring_up_result, 10);
|
||||
|
||||
|
|
|
@ -616,8 +616,9 @@ void LoRaWAN_Init(void)
|
|||
UTIL_TIMER_Create(&TxLedTimer, LED_PERIOD_TIME, UTIL_TIMER_ONESHOT, OnTxTimerLedEvent, NULL);
|
||||
UTIL_TIMER_Create(&RxLedTimer, LED_PERIOD_TIME, UTIL_TIMER_ONESHOT, OnRxTimerLedEvent, NULL);
|
||||
UTIL_TIMER_Create(&JoinLedTimer, LED_PERIOD_TIME, UTIL_TIMER_PERIODIC, OnJoinTimerLedEvent, NULL);
|
||||
UTIL_TIMER_Create(&STSLampBarColorTimer, LED_PERIOD_TIME, UTIL_TIMER_ONESHOT, OnYunhornSTSLampBarColorTimerEvent, NULL);
|
||||
UTIL_TIMER_Create(&STSDurationCheckTimer, 20*LED_PERIOD_TIME, UTIL_TIMER_PERIODIC, OnYunhornSTSDurationCheckTimerEvent, NULL);
|
||||
|
||||
UTIL_TIMER_Create(&STSLampBarColorTimer, 2*LED_PERIOD_TIME, UTIL_TIMER_ONESHOT, OnYunhornSTSLampBarColorTimerEvent, NULL);
|
||||
// UTIL_TIMER_Create(&STSDurationCheckTimer, 30*LED_PERIOD_TIME, UTIL_TIMER_PERIODIC, OnYunhornSTSDurationCheckTimerEvent, NULL);
|
||||
|
||||
if (FLASH_IF_Init(NULL) != FLASH_IF_OK)
|
||||
{
|
||||
|
@ -685,8 +686,8 @@ void LoRaWAN_Init(void)
|
|||
#endif
|
||||
|
||||
#if defined(STS_O7)||defined(STS_O6)
|
||||
//UTIL_TIMER_Create(&YunhornSTSRSSWakeUpTimer, YUNHORN_STS_RSS_WAKEUP_CHECK_TIME, UTIL_TIMER_ONESHOT, OnYunhornSTSOORSSWakeUpTimerEvent, NULL);
|
||||
//UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer);
|
||||
UTIL_TIMER_Create(&YunhornSTSRSSWakeUpTimer, YUNHORN_STS_RSS_WAKEUP_CHECK_TIME, UTIL_TIMER_ONESHOT, OnYunhornSTSOORSSWakeUpTimerEvent, NULL);
|
||||
UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer);
|
||||
|
||||
UTIL_TIMER_Create(&YunhornSTSHeartBeatTimer, YUNHORN_STS_HEART_BEAT_CHECK_TIME, UTIL_TIMER_PERIODIC, OnYunhornSTSHeartBeatTimerEvent, NULL);
|
||||
UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer);
|
||||
|
@ -1129,14 +1130,15 @@ static void OnTxTimerEvent(void *context)
|
|||
/* USER CODE BEGIN OnTxTimerEvent_1 */
|
||||
|
||||
/* USER CODE END OnTxTimerEvent_1 */
|
||||
if ((sensor_data_ready ==1)) //|| (sts_reed_hall_changed_flag)) //||(sts_rss_result_changed_flag)||(sts_fall_rising_detected_result_changed_flag))
|
||||
//if ((sensor_data_ready ==1)) //|| (sts_reed_hall_changed_flag)) //||(sts_rss_result_changed_flag)||(sts_fall_rising_detected_result_changed_flag))
|
||||
//if ((sensor_data_ready ==1) || (sts_reed_hall_changed_flag) || (sts_rss_result_changed_flag)||(sts_fall_rising_detected_result_changed_flag))
|
||||
{
|
||||
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
|
||||
|
||||
}
|
||||
/*Wait for next tx slot*/
|
||||
|
||||
UTIL_TIMER_Start(&TxTimer);
|
||||
}
|
||||
//}
|
||||
|
||||
/* USER CODE BEGIN OnTxTimerEvent_2 */
|
||||
|
||||
|
@ -1414,33 +1416,47 @@ static void OnJoinRequest(LmHandlerJoinParams_t *joinParams)
|
|||
|
||||
STS_LoRa_WAN_Joined = (uint8_t) joinParams->Mode;
|
||||
APP_LOG(TS_OFF, VLEVEL_L,"\r\n STS_LoRa_WAN_Joined = %s \r\n", (STS_LoRa_WAN_Joined == 1)?"ABP":"OTAA");
|
||||
AppData.Port = 1;
|
||||
AppData.BufferSize = 16;
|
||||
// UTIL_MEM_cpy_8(AppData.Buffer, (uint8_t*)"YUNHORN168", 10);
|
||||
UTIL_MEM_cpy_8((uint8_t*)AppData.Buffer, (uint8_t *)YUNHORN_STS_PRD_STRING, sizeof(YUNHORN_STS_PRD_STRING));
|
||||
AppData.BufferSize = sizeof(YUNHORN_STS_PRD_STRING);
|
||||
LmHandlerParams.IsTxConfirmed = true;
|
||||
LmHandlerErrorStatus_t status = LmHandlerSend(&AppData, LmHandlerParams.IsTxConfirmed, false);
|
||||
if (status ==LORAMAC_HANDLER_SUCCESS ) LmHandlerParams.IsTxConfirmed = false;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
APP_LOG(TS_OFF, VLEVEL_M, "\r\n###### = JOIN FAILED\r\n");
|
||||
}
|
||||
|
||||
APP_LOG(TS_OFF, VLEVEL_H, "###### U/L FRAME:JOIN | DR:%d | PWR:%d\r\n", joinParams->Datarate, joinParams->TxPower);
|
||||
APP_LOG(TS_OFF, VLEVEL_M, "###### U/L FRAME:JOIN | DR:%d | PWR:%d\r\n", joinParams->Datarate, joinParams->TxPower);
|
||||
}
|
||||
|
||||
if (STS_LoRa_WAN_Joined)
|
||||
{
|
||||
//STS_SENSOR_Upload_Message(LORAWAN_USER_APP_CTRL_REPLY_PORT, 20, (uint8_t*)"STS_Calibrated");
|
||||
#if 0
|
||||
STS_SENSOR_Distance_Test_Process();
|
||||
|
||||
APP_LOG(TS_OFF, VLEVEL_M, "\r\nRSS Measured Distance=[%u] mm \r\n", (uint16_t)sts_distance_rss_distance);
|
||||
|
||||
//STS_SENSOR_Upload_Message(LORAWAN_USER_APP_CTRL_REPLY_PORT, 20, (uint8_t*)"STS_Calibrated");
|
||||
|
||||
heart_beat_timer = 1;
|
||||
//SendTxData();
|
||||
|
||||
//UTIL_TIMER_Start(&TxTimer);
|
||||
UTIL_TIMER_Start(&STSDurationCheckTimer);
|
||||
//UTIL_TIMER_Start(&STSDurationCheckTimer);
|
||||
OnYunhornSTSHeartBeatPeriodicityChanged(HeartBeatPeriodicity);
|
||||
|
||||
//UTIL_TIMER_Create(&YunhornSTSRSSWakeUpTimer, YUNHORN_STS_RSS_WAKEUP_CHECK_TIME, UTIL_TIMER_PERIODIC, OnYunhornSTSOORSSWakeUpTimerEvent, NULL);
|
||||
|
||||
STS_SENSOR_Distance_Test_Process();
|
||||
|
||||
APP_LOG(TS_OFF, VLEVEL_H, "\r\nRSS Measured Distance=[%u] mm \r\n", (uint16_t)sts_distance_rss_distance);
|
||||
|
||||
UTIL_TIMER_Create(&YunhornSTSRSSWakeUpTimer, YUNHORN_STS_RSS_WAKEUP_CHECK_TIME, UTIL_TIMER_ONESHOT, OnYunhornSTSOORSSWakeUpTimerEvent, NULL);
|
||||
UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer);
|
||||
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
@ -1931,7 +1947,10 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, uint8_t tlv_buf_size)
|
|||
} else if ((char)tlv_buf[CFG_CMD3] == 'F') { // RESET TO FACTORY ORIGINAL SETTING "YZF"
|
||||
|
||||
sts_cfg_nvm_factory_default[0] = 0x46; // F flag set
|
||||
STS_REBOOT_CONFIG_Init();
|
||||
//STS_REBOOT_CONFIG_Init();
|
||||
|
||||
OnRestoreSTSCFG_FactoryDefault_ContextRequest();
|
||||
|
||||
__set_FAULTMASK(1);
|
||||
OnSystemReset();
|
||||
|
||||
|
@ -2817,15 +2836,28 @@ void OnStoreSTSCFGContextRequest(void)
|
|||
/* USER CODE END OnStoreContextRequest_Last */
|
||||
}
|
||||
|
||||
void OnRestoreSTSCFG_FactoryDefault_ContextRequest(void *cfg_in_nvm)
|
||||
void OnRestoreSTSCFG_FactoryDefault_ContextRequest(void)
|
||||
{
|
||||
|
||||
APP_LOG(TS_OFF, VLEVEL_M, "Restore Defatory Default NVM ********************** \r\n");
|
||||
|
||||
/* USER CODE END OnRestoreSTSCFGContextRequest_1 */
|
||||
FLASH_IF_Read(cfg_in_nvm, FLASH_MFG_DEFAULT_START_ADDR, YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
FLASH_IF_Read((void*)sts_cfg_nvm_factory_default, (void*)FLASH_MFG_DEFAULT_START_ADDR, YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
|
||||
STS_Show_STS_CFG_NVM((uint8_t*)cfg_in_nvm);
|
||||
STS_Show_STS_CFG_NVM((uint8_t*)sts_cfg_nvm_factory_default);
|
||||
|
||||
|
||||
if (FLASH_IF_Erase(STS_CONFIG_NVM_BASE_ADDRESS, FLASH_PAGE_SIZE) == FLASH_IF_OK)
|
||||
{
|
||||
APP_LOG(TS_OFF, VLEVEL_M, "\r\n %%%%% write CFG to normal NVM \r\n");
|
||||
|
||||
FLASH_IF_Write(STS_CONFIG_NVM_BASE_ADDRESS, (const void *)sts_cfg_nvm_factory_default, YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
FLASH_IF_Write(FLASH_MFG_DEFAULT_START_ADDR, (const void *)sts_cfg_nvm_factory_default, YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
|
||||
sts_cfg_nvm_factory_default[0] = 0xF3; // with valid ac code
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
Binary file not shown.
Loading…
Reference in New Issue