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; } } }