Exemple #1
0
        /// <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);
        }
Exemple #2
0
        /// <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);
        }
Exemple #3
0
        /// <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..."));
            }
        }
Exemple #4
0
 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;
 }
Exemple #5
0
 public static Employee CreateCustomEmployee(string name, string surname, short age, jobMode contract, int salary)
 {
     return(new Employee(name, surname, age, contract, salary));
 }
Exemple #6
0
        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);
        }