/// <summary> /// Stops the current job by injecting M29 /// </summary> public void KillJob() { //mode = 3; mode = jobMode.abortedJob; lock (jobList) { if (dataComplete == false && jobList.Count == 0) { return; } dataComplete = false; jobFinished = DateTime.Now; jobList.Clear(); totalLines = linesSend; } exclusive = false; connection.injectManualCommandFirst("M29"); foreach (GCodeShort code in Main.main.editor.getContentArray(3)) { connection.injectManualCommand(code.text); } //Main.main.Invoke(Main.main.UpdateJobButtons); //Main.main.Invoke(Main.main.mainHelp.UpdateJobButtons); UpdateAll updateAll = Main.main.mainUpdaterHelper.UpdateEverythingInMain; Main.main.Invoke(updateAll); connection.firePrinterAction(Trans.T("L_JOB_KILLED")); //"Job killed"); DoEndKillActions(); Main.main.manulControl.Invoke(Main.main.manulControl.SetStatusJobKilled); }
/// <summary> /// Begins a new printing job. Resets many of the varriables. /// </summary> public void BeginJob() { connection.firePrinterAction(Trans.T("L_BUILDING_PRINT_JOB...")); //"Building print job..."); dataComplete = false; jobList.Clear(); //times.Clear(); totalLines = 0; linesSend = 0; computedPrintingTime = 0; connection.lastlogprogress = -1000; maxLayer = -1; mode = jobMode.printingJob; ana = new GCodeAnalyzer(true); connection.analyzer.StartJob(); //Main.main.Invoke(Main.main.mainHelp.UpdateJobButtons); UpdateAll updateAll = Main.main.mainUpdaterHelper.UpdateEverythingInMain; Main.main.Invoke(updateAll); }
/// <summary> /// Ends the current printing job. If another one is in que then it resets some the the varriables. /// </summary> public void EndJob() { // If no more jobs to do. if (jobList.Count == 0) { mode = 0; connection.firePrinterAction(Trans.T("L_IDLE")); //Main.main.Invoke(Main.main.UpdateJobButtons); //Main.main.Invoke(Main.main.mainHelp.UpdateJobButtons); UpdateAll updateAll = Main.main.mainUpdaterHelper.UpdateEverythingInMain; Main.main.Invoke(updateAll); Main.main.manulControl.Invoke(Main.main.manulControl.SetStatusJobFinished); return; } else // if more jobs to do. { dataComplete = true; jobStarted = DateTime.Now; connection.firePrinterAction(Trans.T("L_PRINTING...")); } }
public Employee(string name, string surname, short age, jobMode contract, int salary) : base(name, surname, age) { this.contract = contract; this.salary = salary; _changeDetected += NOTIFY_detection; _changeDetected += NOTIFY_incautious; }
public static Employee CreateCustomEmployee(string name, string surname, short age, jobMode contract, int salary) { return(new Employee(name, surname, age, contract, salary)); }
public GCode PopData() { GCode gc = null; bool finished = false; lock (jobList) { if (jobList.Count == 0) { return(null); } try { gc = new GCode(jobList.First.Value); jobList.RemoveFirst(); linesSend++; /*PrintTime pt = new PrintTime(); * pt.line = linesSend; * pt.time = DateTime.Now.Ticks; * lock (times) * { * times.AddLast(pt); * if (times.Count > 1500) * times.RemoveFirst(); * }*/ } catch { }; //finished = jobList.Count == 0 && mode != 3; finished = jobList.Count == 0 && mode != jobMode.abortedJob; } if (finished) { dataComplete = false; mode = Printjob.jobMode.finishedJob; jobFinished = DateTime.Now; long ticks = (jobFinished.Ticks - jobStarted.Ticks) / 10000; long hours = ticks / 3600000; ticks -= 3600000 * hours; long min = ticks / 60000; ticks -= 60000 * min; long sec = ticks / 1000; //Main.conn.log("Printjob finished at " + jobFinished.ToShortDateString()+" "+jobFinished.ToShortTimeString(),false,3); Main.connection.log(Trans.T1("L_PRINTJOB_FINISHED_AT", jobFinished.ToShortDateString() + " " + jobFinished.ToShortTimeString()), false, 3); StringBuilder s = new StringBuilder(); if (hours > 0) { s.Append(Trans.T1("L_TIME_H:", hours.ToString())); //"h:"); } if (min > 0) { s.Append(Trans.T1("L_TIME_M:", min.ToString())); } s.Append(Trans.T1("L_TIME_S", sec.ToString())); //Main.conn.log("Printing time:"+s.ToString(),false,3); //Main.conn.log("Lines send:" + linesSend.ToString(), false, 3); //Main.conn.firePrinterAction("Finished in "+s.ToString()); Main.connection.log(Trans.T1("L_PRINTING_TIME:", s.ToString()), false, 3); Main.connection.log(Trans.T1("L_LINES_SEND:X", linesSend.ToString()), false, 3); Main.connection.firePrinterAction(Trans.T1("L_FINISHED_IN", s.ToString())); DoEndKillActions(); //.main.Invoke(Main.main.UpdateJobButtons); //Main.main.Invoke(Main.main.mainHelp.UpdateJobButtons); UpdateAll updateAll = Main.main.mainUpdaterHelper.UpdateEverythingInMain; Main.main.Invoke(updateAll); Main.main.manulControl.Invoke(Main.main.manulControl.SetStatusJobFinished); RepetierHost.view.SoundConfig.PlayPrintFinished(false); } return(gc); }