RM2_1 #2
|
@ -126,7 +126,7 @@ void STS_Lamp_Bar_Scoller(uint8_t color, uint8_t lum_level)
|
||||||
|
|
||||||
for(uint8_t i = 0; i<STS_LAMP_BAR_LED_NUM; i++)
|
for(uint8_t i = 0; i<STS_LAMP_BAR_LED_NUM; i++)
|
||||||
{
|
{
|
||||||
HAL_Delay(6); //MAKE THIS LESS THAN 10 NOT TO BLOCK JOIN THE LORAWAN
|
HAL_Delay(10); //MAKE THIS LESS THAN 10 NOT TO BLOCK JOIN THE LORAWAN
|
||||||
STS_WS2812B_Set_RGB(color_rgb[color][0]*lum_level,color_rgb[color][1]*lum_level, color_rgb[color][2]*lum_level, i);
|
STS_WS2812B_Set_RGB(color_rgb[color][0]*lum_level,color_rgb[color][1]*lum_level, color_rgb[color][2]*lum_level, i);
|
||||||
STS_WS2812B_Refresh();
|
STS_WS2812B_Refresh();
|
||||||
}
|
}
|
||||||
|
|
|
@ -348,6 +348,7 @@ int sts_presence_rss_fall_rise_detection(void)
|
||||||
{
|
{
|
||||||
case STS_RSS_CONFIG_DEFAULT:
|
case STS_RSS_CONFIG_DEFAULT:
|
||||||
set_default_configuration(presence_configuration);
|
set_default_configuration(presence_configuration);
|
||||||
|
APP_LOG(TS_OFF, VLEVEL_L,"\r\n##### YUNHORN STS *** Default *** cfg applied\n");
|
||||||
break;
|
break;
|
||||||
case STS_RSS_CONFIG_SIMPLE:
|
case STS_RSS_CONFIG_SIMPLE:
|
||||||
sts_rss_set_current_configuration_simple(presence_configuration);
|
sts_rss_set_current_configuration_simple(presence_configuration);
|
||||||
|
@ -416,8 +417,8 @@ int sts_presence_rss_fall_rise_detection(void)
|
||||||
//print_result(result);
|
//print_result(result);
|
||||||
if (!result.data_saturated)
|
if (!result.data_saturated)
|
||||||
{
|
{
|
||||||
APP_LOG(TS_OFF, VLEVEL_H,"\n%u ", i);
|
//APP_LOG(TS_OFF, VLEVEL_H,"\n%u ", i);
|
||||||
print_result(result);
|
//print_result(result);
|
||||||
if (result.presence_detected)
|
if (result.presence_detected)
|
||||||
{
|
{
|
||||||
//print_result(result);
|
//print_result(result);
|
||||||
|
@ -488,8 +489,8 @@ int sts_presence_rss_fall_rise_detection(void)
|
||||||
|
|
||||||
if (!result.data_saturated)
|
if (!result.data_saturated)
|
||||||
{
|
{
|
||||||
APP_LOG(TS_OFF, VLEVEL_H,"\n%u ", i);
|
//APP_LOG(TS_OFF, VLEVEL_H,"\n%u ", i);
|
||||||
print_result(result);
|
//print_result(result);
|
||||||
if (result.presence_detected)
|
if (result.presence_detected)
|
||||||
{
|
{
|
||||||
//print_result(result);
|
//print_result(result);
|
||||||
|
@ -534,6 +535,8 @@ int sts_presence_rss_fall_rise_detection(void)
|
||||||
|
|
||||||
// RSS feature 1: Motion, No-motion process
|
// RSS feature 1: Motion, No-motion process
|
||||||
sts_rss_result = (average_result > 3)? 1: 0;
|
sts_rss_result = (average_result > 3)? 1: 0;
|
||||||
|
APP_LOG(TS_OFF, VLEVEL_M, "\r\n MotionDetect Average result=%u : RSS result -- = %u \r\n", average_result, sts_rss_result);
|
||||||
|
|
||||||
if (sts_rss_result) {
|
if (sts_rss_result) {
|
||||||
LED1_ON;
|
LED1_ON;
|
||||||
OnSensorRSS3AStateChanged();
|
OnSensorRSS3AStateChanged();
|
||||||
|
|
|
@ -270,6 +270,7 @@ void STS_YunhornSTSEventP2_Process(void)
|
||||||
sts_presence_rss_fall_rise_detection();
|
sts_presence_rss_fall_rise_detection();
|
||||||
|
|
||||||
sts_rss_result_changed_flag = (sts_rss_result == last_sts_rss_result)? 0:1;
|
sts_rss_result_changed_flag = (sts_rss_result == last_sts_rss_result)? 0:1;
|
||||||
|
APP_LOG(TS_OFF, VLEVEL_M, "\r\n STS_RSS RESULT CHANGED FLAG=%u \r\n",sts_rss_result_changed_flag );
|
||||||
last_sts_rss_result = sts_rss_result;
|
last_sts_rss_result = sts_rss_result;
|
||||||
|
|
||||||
//sts_fall_rising_detected_result_changed_flag = (sts_fall_rising_detected_result == last_sts_fall_rising_detected_result)?0:1;
|
//sts_fall_rising_detected_result_changed_flag = (sts_fall_rising_detected_result == last_sts_fall_rising_detected_result)?0:1;
|
||||||
|
@ -648,9 +649,9 @@ void STS_Combined_Status_Processing(void)
|
||||||
|
|
||||||
if ((sts_rss_result_changed_flag)|| (sts_reed_hall_changed_flag)||(sts_fall_rising_detected_result_changed_flag))
|
if ((sts_rss_result_changed_flag)|| (sts_reed_hall_changed_flag)||(sts_fall_rising_detected_result_changed_flag))
|
||||||
{
|
{
|
||||||
sts_rss_result_changed_flag =0;
|
//sts_rss_result_changed_flag =0;
|
||||||
sts_reed_hall_changed_flag =0;
|
//sts_reed_hall_changed_flag =0;
|
||||||
sts_fall_rising_detected_result_changed_flag =0;
|
//sts_fall_rising_detected_result_changed_flag =0;
|
||||||
//sts_tof_result_changed_flag =0;
|
//sts_tof_result_changed_flag =0;
|
||||||
sensor_data_ready = 1;
|
sensor_data_ready = 1;
|
||||||
//STS_PRESENCE_SENSOR_Prepare_Send_Data();
|
//STS_PRESENCE_SENSOR_Prepare_Send_Data();
|
||||||
|
|
|
@ -144,7 +144,7 @@ volatile sts_cfg_nvm_t sts_cfg_nvm = {
|
||||||
extern volatile uint8_t sensor_data_ready;
|
extern volatile uint8_t sensor_data_ready;
|
||||||
extern volatile STS_OO_SensorStatusDataTypeDef sts_o7_sensorData;
|
extern volatile STS_OO_SensorStatusDataTypeDef sts_o7_sensorData;
|
||||||
extern volatile uint16_t sts_distance_rss_distance, sts_sensor_install_height;
|
extern volatile uint16_t sts_distance_rss_distance, sts_sensor_install_height;
|
||||||
|
extern volatile uint8_t sts_rss_config_updated_flag;
|
||||||
//#define STS_Status_Door_Close (1) //Normal Close NC:Open **2024-07-15 changed
|
//#define STS_Status_Door_Close (1) //Normal Close NC:Open **2024-07-15 changed
|
||||||
//#define STS_Status_Door_Open (0) //Normal Close NC:Close **2024-07-15 changed
|
//#define STS_Status_Door_Open (0) //Normal Close NC:Close **2024-07-15 changed
|
||||||
|
|
||||||
|
@ -931,7 +931,7 @@ static void SendTxData(void)
|
||||||
if (LmHandlerIsBusy() == false)
|
if (LmHandlerIsBusy() == false)
|
||||||
{
|
{
|
||||||
uint32_t i = 0;
|
uint32_t i = 0;
|
||||||
|
APP_LOG(TS_OFF, VLEVEL_M, "\r\n STS_WORK_MODE = %02x \r\n", sts_work_mode);
|
||||||
STS_PRESENCE_SENSOR_Prepare_Send_Data(&sensorData);
|
STS_PRESENCE_SENSOR_Prepare_Send_Data(&sensorData);
|
||||||
if (sts_work_mode == STS_DUAL_MODE)
|
if (sts_work_mode == STS_DUAL_MODE)
|
||||||
{
|
{
|
||||||
|
@ -1063,6 +1063,10 @@ static void SendTxData(void)
|
||||||
sts_door_status_code[sensorData.state_sensor1_on_off],
|
sts_door_status_code[sensorData.state_sensor1_on_off],
|
||||||
sts_sos_status_code[sensorData.state_sensor2_on_off],
|
sts_sos_status_code[sensorData.state_sensor2_on_off],
|
||||||
sensorData.state_sensor3_on_off);
|
sensorData.state_sensor3_on_off);
|
||||||
|
} else if (sts_work_mode == STS_RSS_MODE) {
|
||||||
|
APP_LOG(TS_OFF, VLEVEL_L,
|
||||||
|
"\r\n######| S3-Motion |\r\n"
|
||||||
|
"\r\n######| %d |\r\n",sensorData.state_sensor3_on_off);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1701,16 +1705,21 @@ static void OnRestoreContextRequest(void *nvm, uint32_t nvm_size)
|
||||||
*/
|
*/
|
||||||
static void OnYunhornSTSOORSSWakeUpTimerEvent(void *context)
|
static void OnYunhornSTSOORSSWakeUpTimerEvent(void *context)
|
||||||
{
|
{
|
||||||
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP2), CFG_SEQ_Prio_0);
|
if ((sts_work_mode == STS_RSS_MODE)||(sts_work_mode == STS_DUAL_MODE)||(sts_work_mode == STS_UNI_MODE))
|
||||||
//APP_LOG(TS_OFF,VLEVEL_L,"\r\n RSS result changed flag=%d \r\n", sts_rss_result_changed_flag);
|
|
||||||
if ((STS_LoRa_WAN_Joined != 0)&&(sts_rss_result_changed_flag==1))
|
|
||||||
{
|
{
|
||||||
sts_rss_result_changed_flag = 0;
|
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP2), CFG_SEQ_Prio_0);
|
||||||
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
|
APP_LOG(TS_OFF,VLEVEL_M,"\r\n Wakeup Timer ======== RSS result changed flag=%d \r\n", sts_rss_result_changed_flag);
|
||||||
//if ((last_sts_rss_result ==STS_RESULT_NO_MOTION)&& (sts_rss_result==STS_RESULT_MOTION))
|
if ((STS_LoRa_WAN_Joined != 0)&&(sts_rss_result_changed_flag==1))
|
||||||
{
|
{
|
||||||
//OnSensor3StateChanged();
|
sts_rss_result_changed_flag = 0;
|
||||||
}
|
APP_LOG(TS_OFF,VLEVEL_M,"\r\n Wakeup Timer ======== Send Tx Result=\r\n");
|
||||||
|
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
|
||||||
|
//if ((last_sts_rss_result ==STS_RESULT_NO_MOTION)&& (sts_rss_result==STS_RESULT_MOTION))
|
||||||
|
{
|
||||||
|
//OnSensor3StateChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer);
|
UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer);
|
||||||
|
@ -2429,36 +2438,44 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, uint8_t tlv_buf_size)
|
||||||
|
|
||||||
//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;
|
||||||
|
sts_presence_fall_detection=FALSE;
|
||||||
|
sts_rss_config_updated_flag = STS_RSS_CONFIG_DEFAULT;
|
||||||
|
|
||||||
switch (sts_work_mode) {
|
switch (sts_work_mode) {
|
||||||
case STS_NETWORK_MODE:
|
case STS_NETWORK_MODE:
|
||||||
sts_cfg_nvm.sts_ioc_mask = STS_IOC_MODE_0_MASK;
|
sts_cfg_nvm.sts_ioc_mask = STS_IOC_MODE_0_MASK;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case STS_WIRED_MODE:
|
case STS_WIRED_MODE:
|
||||||
sts_cfg_nvm.sts_ioc_mask = STS_IOC_MODE_1_MASK;
|
sts_cfg_nvm.sts_ioc_mask = STS_IOC_MODE_1_MASK;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case STS_REEDSWITCH_MODE:
|
case STS_REEDSWITCH_MODE:
|
||||||
sts_cfg_nvm.sts_ioc_mask = STS_IOC_MODE_2_MASK;
|
sts_cfg_nvm.sts_ioc_mask = STS_IOC_MODE_2_MASK;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case STS_RSS_MODE:
|
case STS_RSS_MODE:
|
||||||
sts_cfg_nvm.sts_ioc_mask = STS_IOC_MODE_3_MASK;
|
sts_cfg_nvm.sts_ioc_mask = STS_IOC_MODE_3_MASK;
|
||||||
|
sts_rss_config_updated_flag = STS_RSS_CONFIG_DEFAULT;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case STS_DUAL_MODE:
|
case STS_DUAL_MODE:
|
||||||
sts_cfg_nvm.sts_ioc_mask = STS_IOC_MODE_4_MASK;
|
sts_cfg_nvm.sts_ioc_mask = STS_IOC_MODE_4_MASK;
|
||||||
|
sts_rss_config_updated_flag = STS_RSS_CONFIG_DEFAULT;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case STS_UNI_MODE:
|
case STS_UNI_MODE:
|
||||||
sts_cfg_nvm.sts_ioc_mask = STS_IOC_MODE_5_MASK;
|
sts_cfg_nvm.sts_ioc_mask = STS_IOC_MODE_5_MASK;
|
||||||
|
sts_rss_config_updated_flag = STS_RSS_CONFIG_FALL_DETECTION;
|
||||||
|
sts_presence_fall_detection=TRUE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
sts_cfg_nvm.sts_ioc_mask = STS_IOC_MASK_NONE;
|
sts_cfg_nvm.sts_ioc_mask = STS_IOC_MASK_NONE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
sts_cfg_nvm.work_mode = (uint8_t)sts_work_mode;
|
sts_cfg_nvm.work_mode = (uint8_t)sts_work_mode;
|
||||||
if (sts_work_mode == STS_UNI_MODE) {
|
|
||||||
sts_presence_fall_detection=TRUE;
|
|
||||||
|
|
||||||
} else {
|
|
||||||
sts_presence_fall_detection=FALSE;
|
|
||||||
}
|
|
||||||
sts_cfg_nvm.sts_service_mask = (uint8_t)sts_service_mask;
|
sts_cfg_nvm.sts_service_mask = (uint8_t)sts_service_mask;
|
||||||
OnStoreSTSCFGContextRequest();
|
OnStoreSTSCFGContextRequest();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue