minor improve for logic
This commit is contained in:
parent
0b4c98ec16
commit
c76171b461
|
@ -238,6 +238,7 @@ void STS_Combined_Status_Processing(void)
|
|||
case STS_NETWORK_MODE:
|
||||
sts_status_color = sts_cloud_netcolor;
|
||||
break;
|
||||
|
||||
case STS_WIRED_MODE: // NO LAMP BAR FOR THOSE WATER LEAKAGE SENSOR OR SOAP CAPACITY SENSORS
|
||||
sts_status_color = STS_DARK;
|
||||
#ifdef STS_M1
|
||||
|
@ -245,11 +246,13 @@ void STS_Combined_Status_Processing(void)
|
|||
sts_water_leakage_changed_flag = 1;
|
||||
#endif
|
||||
break;
|
||||
|
||||
case STS_REEDSWITCH_MODE:
|
||||
|
||||
sts_status_color = (sts_reed_hall_result == STS_Status_Door_Open )? STS_GREEN: STS_RED;
|
||||
|
||||
break;
|
||||
|
||||
case STS_RSS_MODE:
|
||||
if (sts_rss_result == STS_RESULT_NO_MOTION){
|
||||
sts_status_color = STS_GREEN;
|
||||
|
@ -258,14 +261,18 @@ void STS_Combined_Status_Processing(void)
|
|||
sts_status_color = STS_RED;
|
||||
}
|
||||
break;
|
||||
|
||||
case STS_DUAL_MODE: // FOR STS_O6
|
||||
if ((sts_rss_result == STS_RESULT_NO_MOTION) && (sts_reed_hall_1_result == STS_Status_Door_Open )&& (sts_reed_hall_2_result == STS_Status_SOS_Release ))
|
||||
{
|
||||
sts_status_color = STS_GREEN;
|
||||
sts_lamp_bar_color = STS_GREEN;
|
||||
|
||||
} else if ((sts_rss_result == STS_RESULT_MOTION) || (sts_reed_hall_1_result == STS_Status_Door_Close )||(sts_reed_hall_2_result == STS_Status_SOS_Pushdown ))
|
||||
{
|
||||
sts_status_color = STS_RED;
|
||||
sts_lamp_bar_color = STS_RED;
|
||||
#if 0 // not for STS-O6 sensor
|
||||
switch(sts_fall_rising_detected_result) {
|
||||
case STS_PRESENCE_LAYDOWN:
|
||||
sts_lamp_bar_color = STS_YELLOW;
|
||||
|
@ -280,9 +287,11 @@ void STS_Combined_Status_Processing(void)
|
|||
sts_status_color = STS_RED;
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
if (sts_reed_hall_2_result == STS_Status_SOS_Pushdown )
|
||||
{
|
||||
sts_status_color = STS_RED_BLUE;
|
||||
sts_lamp_bar_color = STS_RED_BLUE;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -291,35 +300,55 @@ void STS_Combined_Status_Processing(void)
|
|||
if ((sts_rss_result == STS_RESULT_NO_MOTION) && (sts_reed_hall_1_result == STS_Status_Door_Open )&& (sts_reed_hall_2_result == STS_Status_SOS_Release ))
|
||||
{
|
||||
sts_status_color = STS_GREEN;
|
||||
sts_lamp_bar_color = STS_GREEN;
|
||||
|
||||
} else if ((sts_rss_result == STS_RESULT_MOTION) || (sts_reed_hall_1_result == STS_Status_Door_Close )||(sts_reed_hall_2_result == STS_Status_SOS_Pushdown ))
|
||||
{
|
||||
sts_status_color = STS_RED;
|
||||
sts_lamp_bar_color = STS_RED;
|
||||
}
|
||||
|
||||
switch(sts_fall_rising_detected_result)
|
||||
{
|
||||
case STS_PRESENCE_LAYDOWN:
|
||||
sts_lamp_bar_color = STS_YELLOW;
|
||||
sts_status_color = STS_YELLOW;
|
||||
case STS_PRESENCE_NONE:
|
||||
sts_lamp_bar_color = STS_GREEN;
|
||||
sts_status_color = STS_GREEN;
|
||||
break;
|
||||
|
||||
case STS_PRESENCE_FALL: //RED_BLUE FLASH
|
||||
sts_lamp_bar_color = STS_RED_BLUE;
|
||||
sts_status_color = STS_RED_BLUE;
|
||||
break;
|
||||
|
||||
case STS_PRESENCE_LAYDOWN:
|
||||
sts_lamp_bar_color = STS_YELLOW;
|
||||
sts_status_color = STS_YELLOW;
|
||||
break;
|
||||
|
||||
case STS_PRESENCE_RISING: //NORMAL OCCUPANCY STATUS
|
||||
sts_lamp_bar_color = STS_RED;
|
||||
sts_status_color = STS_RED;
|
||||
break;
|
||||
|
||||
case STS_PRESENCE_UNCONCIOUS:
|
||||
sts_lamp_bar_color = STS_RED_BLUE;
|
||||
sts_status_color = STS_RED_BLUE;
|
||||
break;
|
||||
|
||||
case STS_PRESENCE_STAYSTILL:
|
||||
sts_lamp_bar_color = STS_RED_BLUE;
|
||||
sts_status_color = STS_RED_BLUE;
|
||||
break;
|
||||
default:
|
||||
sts_lamp_bar_color = STS_RED;
|
||||
sts_status_color = STS_RED;
|
||||
sts_lamp_bar_color = STS_GREEN;
|
||||
sts_status_color = STS_GREEN;
|
||||
break;
|
||||
}
|
||||
|
||||
if (sts_reed_hall_2_result == STS_Status_SOS_Pushdown )
|
||||
{
|
||||
sts_status_color = STS_RED_BLUE;
|
||||
sts_lamp_bar_color = STS_RED_BLUE;
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -381,17 +410,6 @@ void STS_Combined_Status_Processing(void)
|
|||
break;
|
||||
}
|
||||
|
||||
#if 0
|
||||
if (sts_status_color == STS_RED_BLUE)
|
||||
{
|
||||
//STS_Lamp_Bar_Set_STS_RGB_Color(sts_lamp_bar_color, luminance_level);
|
||||
STS_Lamp_Bar_Set_STS_RGB_Color(STS_RED, luminance_level);
|
||||
HAL_Delay(100);
|
||||
STS_Lamp_Bar_Set_STS_RGB_Color(STS_BLUE, luminance_level);
|
||||
HAL_Delay(100);
|
||||
STS_Lamp_Bar_Set_STS_RGB_Color(STS_RED_BLUE, luminance_level);
|
||||
}
|
||||
#endif
|
||||
if ((sts_work_mode == STS_WIRED_MODE) || (sts_service_mask > STS_SERVICE_MASK_L0))
|
||||
{
|
||||
sts_status_color = STS_DARK;
|
||||
|
@ -399,39 +417,11 @@ void STS_Combined_Status_Processing(void)
|
|||
last_lamp_bar_color = STS_DARK;
|
||||
STS_Lamp_Bar_Set_Dark();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
//if ((last_lamp_bar_color != sts_status_color))
|
||||
{
|
||||
sts_lamp_bar_color = ((sts_service_mask == STS_SERVICE_MASK_L0)? sts_status_color:STS_DARK);
|
||||
// sensor_data_ready = 1;
|
||||
|
||||
STS_Lamp_Bar_Set_STS_RGB_Color(sts_lamp_bar_color, luminance_level);
|
||||
|
||||
if ((sts_service_mask == STS_SERVICE_MASK_L0) || (sts_lamp_bar_color == STS_DARK))
|
||||
{
|
||||
// STS_WS2812B_Refresh();
|
||||
}
|
||||
|
||||
last_lamp_bar_color = sts_lamp_bar_color;
|
||||
}
|
||||
}
|
||||
|
||||
//STS_Lamp_Bar_Refresh();
|
||||
#if 1
|
||||
//if ((sts_rss_result_changed_flag)|| (sts_reed_hall_changed_flag) || (sts_tof_result_changed_flag) || (sts_water_leakage_changed_flag))
|
||||
{
|
||||
|
||||
//sts_rss_result_changed_flag =0;
|
||||
sts_reed_hall_changed_flag =0;
|
||||
sts_tof_result_changed_flag =0;
|
||||
#ifdef STS_M1
|
||||
sts_water_leakage_changed_flag=0;
|
||||
#endif
|
||||
sensor_data_ready = 1;
|
||||
//STS_PRESENCE_SENSOR_Prepare_Send_Data();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim)
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
/* USER CODE BEGIN Includes */
|
||||
extern volatile sts_cfg_nvm_t sts_cfg_nvm;
|
||||
extern volatile uint8_t sts_ac_code[20];
|
||||
volatile uint8_t sts_service_mask;
|
||||
volatile uint8_t sts_service_mask=0;
|
||||
volatile uint32_t rfac_timer;
|
||||
volatile uint8_t sensor_data_ready=0;
|
||||
|
||||
|
|
|
@ -649,7 +649,7 @@ void LoRaWAN_Init(void)
|
|||
UTIL_TIMER_Create(&YunhornSTSRSSWakeUpTimer,
|
||||
YUNHORN_STS_RSS_WAKEUP_CHECK_TIME,
|
||||
UTIL_TIMER_PERIODIC, OnYunhornSTSOORSSWakeUpTimerEvent, NULL);
|
||||
UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer);
|
||||
//UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer);
|
||||
|
||||
UTIL_TIMER_Create(&YunhornSTSHeartBeatTimer,
|
||||
YUNHORN_STS_HEART_BEAT_CHECK_TIME,
|
||||
|
@ -676,7 +676,7 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
|
|||
case HALL1_Pin:
|
||||
if (sts_reed_hall_1_changed)
|
||||
{
|
||||
HAL_Delay(250); //de-bouncing
|
||||
HAL_Delay(450); //de-bouncing
|
||||
sts_hall1_read = HALL1_STATE;
|
||||
APP_LOG(TS_OFF, VLEVEL_M, "\n\n Door Contact Read = %02x --%20s\r\n", HALL1_STATE, (HALL1_STATE==STS_Status_Door_Close)?"Door Closed":"Door Opened");
|
||||
OnSensor1StateChanged();
|
||||
|
@ -684,22 +684,24 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
|
|||
// if (EventType == TX_ON_EVENT)
|
||||
{
|
||||
//sensor_data_ready =1;
|
||||
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP1), CFG_SEQ_Prio_0);
|
||||
//UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP1), CFG_SEQ_Prio_0);
|
||||
STS_YunhornSTSEventP1_Process();
|
||||
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
|
||||
}
|
||||
//sts_reed_hall_1_changed =0;
|
||||
sts_reed_hall_1_changed =0;
|
||||
}
|
||||
break;
|
||||
|
||||
case HALL2_Pin:
|
||||
if (sts_reed_hall_2_changed)
|
||||
{
|
||||
HAL_Delay(250); //de-bouncing
|
||||
HAL_Delay(450); //de-bouncing
|
||||
sts_hall2_read = HALL2_STATE;
|
||||
APP_LOG(TS_OFF, VLEVEL_M, "\n\n SOS Button Read = %02x --%20s\r\n", HALL2_STATE, (HALL2_STATE==STS_Status_SOS_Pushdown)?"SOS Pushdown":"SOS Released");
|
||||
OnSensor2StateChanged();
|
||||
//sensor_data_ready =1;
|
||||
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP1), CFG_SEQ_Prio_0);
|
||||
//UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP1), CFG_SEQ_Prio_0);
|
||||
STS_YunhornSTSEventP1_Process();
|
||||
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
|
||||
//sts_reed_hall_2_changed =0;
|
||||
}
|
||||
|
@ -1206,10 +1208,13 @@ static void OnJoinRequest(LmHandlerJoinParams_t *joinParams)
|
|||
|
||||
APP_LOG(TS_OFF, VLEVEL_H, "###### U/L FRAME:JOIN | DR:%d | PWR:%d\r\n", joinParams->Datarate, joinParams->TxPower);
|
||||
}
|
||||
heart_beat_timer = 1;
|
||||
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
|
||||
|
||||
UTIL_TIMER_Start(&STSLampBarColorTimer);
|
||||
HAL_Delay(2000);
|
||||
heart_beat_timer = 1;
|
||||
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
|
||||
HAL_Delay(2000);
|
||||
UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer);
|
||||
/* USER CODE END OnJoinRequest_1 */
|
||||
}
|
||||
|
||||
|
@ -1465,6 +1470,8 @@ static void OnYunhornSTSOORSSWakeUpTimerEvent(void *context)
|
|||
{
|
||||
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP2), CFG_SEQ_Prio_0);
|
||||
|
||||
APP_LOG(TS_OFF, VLEVEL_M, "\r\n ******** MOTION 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;
|
||||
|
|
Loading…
Reference in New Issue