Esempio n. 1
0
        public GCode PopData()
        {
            if (jobList.Count == 0)
            {
                return(null);
            }
            GCode gc = null;

            try
            {
                gc = 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 { };
            if (jobList.Count == 0)
            {
                dataComplete = false;
                mode         = 2;
                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);
                StringBuilder s = new StringBuilder();
                if (hours > 0)
                {
                    s.Append(hours);
                    s.Append("h:");
                }
                if (min > 0)
                {
                    s.Append(min);
                    s.Append("m:");
                }
                s.Append(sec);
                s.Append("s");
                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());
                DoEndKillActions();
                Main.main.Invoke(Main.main.UpdateJobButtons);
            }
            return(gc);
        }
Esempio n. 2
0
 public GCode PopData()
 {
     if (jobList.Count == 0) return null;
     GCode gc = null;
     try
     {
         gc = 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 { };
     if (jobList.Count == 0)
     {
         dataComplete = false;
         mode = 2;
         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);
         StringBuilder s = new StringBuilder();
         if (hours > 0)
         {
             s.Append(hours);
             s.Append("h:");
         }
         if (min > 0)
         {
             s.Append(min);
             s.Append("m:");
         }
         s.Append(sec);
         s.Append("s");
         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());
         DoEndKillActions();
         Main.main.Invoke(Main.main.UpdateJobButtons);
     }
     return gc;
 }