fix: 激光定时器两处修复

1. 网关/调试指令开激光后重置LaserTimerCount,避免立即误触发关闭
2. 自动关闭条件新增LaserTimerMinutes>0判断,laser time 0可真正禁用定时
This commit is contained in:
2026-07-22 15:38:58 +08:00
parent 72844ff821
commit afda00d8f2
2 changed files with 3 additions and 3 deletions
+1 -1
View File
@@ -1864,6 +1864,7 @@ void GwRevLoopHandler(void)
if(SGCP.LaserOnOff == true)
{
LASER1_ON();
SGCP.LaserTimerCount = SGCP.LaserTimerMinutes * 2;
if(SGCP.LoginOk == true)
ToGWLaserRes(SGCP.LaserOnOff);
DBG_LOG("The laser has been activated!\r\n");
@@ -1877,7 +1878,6 @@ void GwRevLoopHandler(void)
}
SGCP.GWStatus = GW_STATUS_IDLE;
break;}
case GW_STATUS_SIGNAL:{
DBG_LOG("Query signal quality...\r\n");
SGCP.Gateway_IRQ_Status = false;
+2 -2
View File
@@ -1,4 +1,4 @@
/******************************************************************************
* Include files
******************************************************************************/
@@ -372,7 +372,7 @@ static void AppLoopHandler(void)
SGCP.GWStatus = GW_STATUS_UPLOAD_SENSOR;//上传
App.Status = APP_STATUS_WAIT_UPLOAD;
}
else if(SGCP.LaserOnOff == true && SGCP.LaserTimerCount == 0 && SGCP.GWStatus == GW_STATUS_IDLE)
else if(SGCP.LaserOnOff == true && SGCP.LaserTimerMinutes > 0 && SGCP.LaserTimerCount == 0 && SGCP.GWStatus == GW_STATUS_IDLE)
{
SGCP.LaserOnOff = false;
SGCP.GWStatus = GW_STATUS_LASER_STARES;