RM2_1 #2

Merged
sundp merged 208 commits from RM2_1 into master 2024-09-13 09:16:14 +08:00
4 changed files with 45 additions and 24 deletions
Showing only changes of commit d8e444fcbb - Show all commits

View File

@ -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();
} }

View File

@ -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();

View File

@ -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();

View File

@ -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();