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:
|
case STS_NETWORK_MODE:
|
||||||
sts_status_color = sts_cloud_netcolor;
|
sts_status_color = sts_cloud_netcolor;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case STS_WIRED_MODE: // NO LAMP BAR FOR THOSE WATER LEAKAGE SENSOR OR SOAP CAPACITY SENSORS
|
case STS_WIRED_MODE: // NO LAMP BAR FOR THOSE WATER LEAKAGE SENSOR OR SOAP CAPACITY SENSORS
|
||||||
sts_status_color = STS_DARK;
|
sts_status_color = STS_DARK;
|
||||||
#ifdef STS_M1
|
#ifdef STS_M1
|
||||||
|
@ -245,11 +246,13 @@ void STS_Combined_Status_Processing(void)
|
||||||
sts_water_leakage_changed_flag = 1;
|
sts_water_leakage_changed_flag = 1;
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case STS_REEDSWITCH_MODE:
|
case STS_REEDSWITCH_MODE:
|
||||||
|
|
||||||
sts_status_color = (sts_reed_hall_result == STS_Status_Door_Open )? STS_GREEN: STS_RED;
|
sts_status_color = (sts_reed_hall_result == STS_Status_Door_Open )? STS_GREEN: STS_RED;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case STS_RSS_MODE:
|
case STS_RSS_MODE:
|
||||||
if (sts_rss_result == STS_RESULT_NO_MOTION){
|
if (sts_rss_result == STS_RESULT_NO_MOTION){
|
||||||
sts_status_color = STS_GREEN;
|
sts_status_color = STS_GREEN;
|
||||||
|
@ -258,14 +261,18 @@ void STS_Combined_Status_Processing(void)
|
||||||
sts_status_color = STS_RED;
|
sts_status_color = STS_RED;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case STS_DUAL_MODE: // FOR STS_O6
|
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 ))
|
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_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 ))
|
} 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_status_color = STS_RED;
|
||||||
|
sts_lamp_bar_color = STS_RED;
|
||||||
|
#if 0 // not for STS-O6 sensor
|
||||||
switch(sts_fall_rising_detected_result) {
|
switch(sts_fall_rising_detected_result) {
|
||||||
case STS_PRESENCE_LAYDOWN:
|
case STS_PRESENCE_LAYDOWN:
|
||||||
sts_lamp_bar_color = STS_YELLOW;
|
sts_lamp_bar_color = STS_YELLOW;
|
||||||
|
@ -274,15 +281,17 @@ void STS_Combined_Status_Processing(void)
|
||||||
case STS_PRESENCE_FALL: //RED_BLUE FLASH
|
case STS_PRESENCE_FALL: //RED_BLUE FLASH
|
||||||
sts_lamp_bar_color = STS_RED_BLUE;
|
sts_lamp_bar_color = STS_RED_BLUE;
|
||||||
sts_status_color = STS_RED_BLUE;
|
sts_status_color = STS_RED_BLUE;
|
||||||
break;
|
break;
|
||||||
case STS_PRESENCE_RISING: //NORMAL OCCUPANCY STATUS
|
case STS_PRESENCE_RISING: //NORMAL OCCUPANCY STATUS
|
||||||
sts_lamp_bar_color = STS_RED;
|
sts_lamp_bar_color = STS_RED;
|
||||||
sts_status_color = STS_RED;
|
sts_status_color = STS_RED;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (sts_reed_hall_2_result == STS_Status_SOS_Pushdown )
|
if (sts_reed_hall_2_result == STS_Status_SOS_Pushdown )
|
||||||
{
|
{
|
||||||
sts_status_color = STS_RED_BLUE;
|
sts_status_color = STS_RED_BLUE;
|
||||||
|
sts_lamp_bar_color = STS_RED_BLUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
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 ))
|
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_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 ))
|
} 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_status_color = STS_RED;
|
||||||
|
sts_lamp_bar_color = STS_RED;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch(sts_fall_rising_detected_result)
|
switch(sts_fall_rising_detected_result)
|
||||||
{
|
{
|
||||||
case STS_PRESENCE_LAYDOWN:
|
case STS_PRESENCE_NONE:
|
||||||
sts_lamp_bar_color = STS_YELLOW;
|
sts_lamp_bar_color = STS_GREEN;
|
||||||
sts_status_color = STS_YELLOW;
|
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_RISING: //NORMAL OCCUPANCY STATUS
|
|
||||||
sts_lamp_bar_color = STS_RED;
|
|
||||||
sts_status_color = STS_RED;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
sts_lamp_bar_color = STS_RED;
|
|
||||||
sts_status_color = STS_RED;
|
|
||||||
break;
|
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_GREEN;
|
||||||
|
sts_status_color = STS_GREEN;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sts_reed_hall_2_result == STS_Status_SOS_Pushdown )
|
if (sts_reed_hall_2_result == STS_Status_SOS_Pushdown )
|
||||||
{
|
{
|
||||||
sts_status_color = STS_RED_BLUE;
|
sts_status_color = STS_RED_BLUE;
|
||||||
|
sts_lamp_bar_color = STS_RED_BLUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -381,17 +410,6 @@ void STS_Combined_Status_Processing(void)
|
||||||
break;
|
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))
|
if ((sts_work_mode == STS_WIRED_MODE) || (sts_service_mask > STS_SERVICE_MASK_L0))
|
||||||
{
|
{
|
||||||
sts_status_color = STS_DARK;
|
sts_status_color = STS_DARK;
|
||||||
|
@ -399,39 +417,11 @@ void STS_Combined_Status_Processing(void)
|
||||||
last_lamp_bar_color = STS_DARK;
|
last_lamp_bar_color = STS_DARK;
|
||||||
STS_Lamp_Bar_Set_Dark();
|
STS_Lamp_Bar_Set_Dark();
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
|
|
||||||
//if ((last_lamp_bar_color != sts_status_color))
|
// sensor_data_ready = 1;
|
||||||
{
|
|
||||||
sts_lamp_bar_color = ((sts_service_mask == STS_SERVICE_MASK_L0)? sts_status_color:STS_DARK);
|
|
||||||
|
|
||||||
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)
|
void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim)
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
/* USER CODE BEGIN Includes */
|
/* USER CODE BEGIN Includes */
|
||||||
extern volatile sts_cfg_nvm_t sts_cfg_nvm;
|
extern volatile sts_cfg_nvm_t sts_cfg_nvm;
|
||||||
extern volatile uint8_t sts_ac_code[20];
|
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 uint32_t rfac_timer;
|
||||||
volatile uint8_t sensor_data_ready=0;
|
volatile uint8_t sensor_data_ready=0;
|
||||||
|
|
||||||
|
|
|
@ -649,7 +649,7 @@ void LoRaWAN_Init(void)
|
||||||
UTIL_TIMER_Create(&YunhornSTSRSSWakeUpTimer,
|
UTIL_TIMER_Create(&YunhornSTSRSSWakeUpTimer,
|
||||||
YUNHORN_STS_RSS_WAKEUP_CHECK_TIME,
|
YUNHORN_STS_RSS_WAKEUP_CHECK_TIME,
|
||||||
UTIL_TIMER_PERIODIC, OnYunhornSTSOORSSWakeUpTimerEvent, NULL);
|
UTIL_TIMER_PERIODIC, OnYunhornSTSOORSSWakeUpTimerEvent, NULL);
|
||||||
UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer);
|
//UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer);
|
||||||
|
|
||||||
UTIL_TIMER_Create(&YunhornSTSHeartBeatTimer,
|
UTIL_TIMER_Create(&YunhornSTSHeartBeatTimer,
|
||||||
YUNHORN_STS_HEART_BEAT_CHECK_TIME,
|
YUNHORN_STS_HEART_BEAT_CHECK_TIME,
|
||||||
|
@ -676,7 +676,7 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
|
||||||
case HALL1_Pin:
|
case HALL1_Pin:
|
||||||
if (sts_reed_hall_1_changed)
|
if (sts_reed_hall_1_changed)
|
||||||
{
|
{
|
||||||
HAL_Delay(250); //de-bouncing
|
HAL_Delay(450); //de-bouncing
|
||||||
sts_hall1_read = HALL1_STATE;
|
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");
|
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();
|
OnSensor1StateChanged();
|
||||||
|
@ -684,22 +684,24 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
|
||||||
// if (EventType == TX_ON_EVENT)
|
// if (EventType == TX_ON_EVENT)
|
||||||
{
|
{
|
||||||
//sensor_data_ready =1;
|
//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);
|
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;
|
break;
|
||||||
|
|
||||||
case HALL2_Pin:
|
case HALL2_Pin:
|
||||||
if (sts_reed_hall_2_changed)
|
if (sts_reed_hall_2_changed)
|
||||||
{
|
{
|
||||||
HAL_Delay(250); //de-bouncing
|
HAL_Delay(450); //de-bouncing
|
||||||
sts_hall2_read = HALL2_STATE;
|
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");
|
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();
|
OnSensor2StateChanged();
|
||||||
//sensor_data_ready =1;
|
//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);
|
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
|
||||||
//sts_reed_hall_2_changed =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);
|
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);
|
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 */
|
/* USER CODE END OnJoinRequest_1 */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1465,7 +1470,9 @@ static void OnYunhornSTSOORSSWakeUpTimerEvent(void *context)
|
||||||
{
|
{
|
||||||
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP2), CFG_SEQ_Prio_0);
|
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP2), CFG_SEQ_Prio_0);
|
||||||
|
|
||||||
if ((STS_LoRa_WAN_Joined != 0)&&(sts_rss_result_changed_flag==1))
|
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;
|
sts_rss_result_changed_flag = 0;
|
||||||
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
|
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
|
||||||
|
|
Loading…
Reference in New Issue