83 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| using System.Collections.Generic;
 | |
| using System.Drawing;
 | |
| using System.Linq;
 | |
| using System.Text;
 | |
| using AR;
 | |
| namespace Project
 | |
| {
 | |
| 	public partial class FMain
 | |
| 	{
 | |
| 		DateTime IdleStartTime = DateTime.Now;
 | |
| 		bool IdleSleep = false;
 | |
| 
 | |
| 		public void _STEP_IDLE_START(eSMStep step)
 | |
|         {
 | |
| 			PUB.flag.set(eVarBool.FG_USERSTEP, false, "SM_IDLE");
 | |
| 
 | |
| 			//lbMsgR.ProgressEnable = false;
 | |
| 			IdleStartTime = DateTime.Now;
 | |
| 
 | |
| 			//초기화완료되면 버튼을 활성화한다
 | |
| 			if (PUB.sm.getOldStep == eSMStep.INIT)
 | |
| 			{
 | |
| 				this.BeginInvoke(new Action(() =>
 | |
| 				{
 | |
| 					panTopMenu.Enabled = true;
 | |
| 					btStart.Enabled = true;
 | |
| 					btStop.Enabled = true;
 | |
| 					btReset.Enabled = true;
 | |
| 				}));
 | |
| 
 | |
| 				//Pub.sm.setNewStep(eSMStep.XMOVE); //홈을 위해서 바로 이동 모션으로 가게한다
 | |
| 				if (PUB.mot.HasHomeSetOff == true && DIO.GetIOInput(eDIName.PICKER_SAFE) == false)
 | |
| 				{
 | |
| 					//피커의 이동이 필요한 상황
 | |
| 					this.BeginInvoke(new Action(() => { btManage.PerformClick(); }));
 | |
| 				}
 | |
| 				else
 | |
| 				{
 | |
| 					//리셋이 필요한 상황
 | |
| 					if (AR.SETTING.Data.OnlineMode == true)
 | |
| 						this.BeginInvoke(new Action(() => { btMReset.PerformClick(); }));
 | |
| 				}
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
|         public StepResult _STEP_IDLE(eSMStep step, TimeSpan stepTime, TimeSpan seqTime)
 | |
|         {
 | |
| 			//대기상태에서 조명 자동으로 끄기 
 | |
| 			if (IdleSleep == false && IdleStartTime.Year != 1982)
 | |
| 			{
 | |
| 				var ts = DateTime.Now - IdleStartTime;
 | |
| 				if (ts.TotalMinutes > AR.SETTING.Data.AutoOffRoomLightMin)
 | |
| 				{
 | |
| 					PUB.log.Add("Turning off lights due to idle state transition");
 | |
| 					IdleSleep = true;
 | |
| 					DIO.SetRoomLight(false);
 | |
| 				}
 | |
| 			}
 | |
| 
 | |
| 			//자동소거기능
 | |
| 			if (AR.SETTING.Data.AutoDeleteDay > 0)
 | |
| 			{
 | |
| 				if (PUB.flag.get(eVarBool.FG_MINSPACE) == true)
 | |
| 				{
 | |
| 					var ts = DateTime.Now - lastDeleteTime;
 | |
| 					if (ts.TotalSeconds > 1)
 | |
| 					{
 | |
| 						//파일을 찾아서 소거한다.
 | |
| 						var delpath = System.IO.Path.Combine(AR.SETTING.Data.GetDataPath(), "Images");
 | |
| 						if (delpath != "") DeleteFile(delpath);
 | |
| 
 | |
| 						lastDeleteTime = DateTime.Now;
 | |
| 					}
 | |
| 				}
 | |
| 			}
 | |
| 
 | |
| 			return StepResult.Wait;
 | |
| 
 | |
|         }
 | |
|     }
 | |
| }
 | 
