Exemple #1
0
 public void _on_Timer_timeout()
 {
     try
     {
         OctoprintFullPrinterState state = octoprint.Printers.GetFullPrinterState();
         (printerData.GetNode("Panel/Flags/Ready") as Label).Visible              = state.PrinterState.Flags.Ready;
         (printerData.GetNode("Panel/Flags/Paused") as Label).Visible             = state.PrinterState.Flags.Paused;
         (printerData.GetNode("Panel/Flags/Error") as Label).Visible              = state.PrinterState.Flags.Error;
         (printerData.GetNode("Panel/Flags/Operational") as Label).Visible        = state.PrinterState.Flags.Operational;
         (printerData.GetNode("Panel/Flags/Cancelling") as Label).Visible         = state.PrinterState.Flags.Cancelling;
         (printerData.GetNode("Panel/Flags/ClosedOrError") as Label).Visible      = state.PrinterState.Flags.ClosedOrError;
         (printerData.GetNode("Panel/Flags/Pausing") as Label).Visible            = state.PrinterState.Flags.Pausing;
         (printerData.GetNode("Panel/Flags/Printing") as Label).Visible           = state.PrinterState.Flags.Printing;
         (printerData.GetNode("Panel/Flags/SDReady") as Label).Visible            = state.PrinterState.Flags.SDReady;
         (printerData.GetNode("Panel/Temps/BedTemperature") as Label).Text        = "BedTemperature:\n" + state.TempState.Bed.Actual;
         (printerData.GetNode("Panel/Temps/BedTemperatureTarget") as Label).Text  = "Target:\n" + state.TempState.Bed.Target;
         (printerData.GetNode("Panel/Temps/BedTemperatureOffset") as Label).Text  = "Offset:\n" + state.TempState.Bed.Offset;
         (printerData.GetNode("Panel/Temps/ToolTemperature") as Label).Text       = "ToolTemperature:\n" + state.TempState.Tools[0].Actual;
         (printerData.GetNode("Panel/Temps/ToolTemperatureTarget") as Label).Text = "Target:\n" + state.TempState.Tools[0].Target;
         (printerData.GetNode("Panel/Temps/ToolTemperatureOffset") as Label).Text = "Offset:\n" + state.TempState.Tools[0].Offset;
         (printerData.GetNode("Panel/Heading") as Label).Text = "State: " + state.PrinterState.Text;
         OctoprintJobProgress progress = octoprint.Jobs.GetProgress();
         (printerData.GetNode("Panel/ProgressBar/TimeT") as Label).Text  = "Time: " + progress.PrintTime / 60 + ":" + progress.PrintTime % 60;
         (printerData.GetNode("Panel/ProgressBar/TimeL") as Label).Text  = "Time: " + progress.PrintTimeLeft / 60 + ":" + progress.PrintTimeLeft % 60; //System.String.Format("%02d:%02d", progress.PrintTimeLeft / 60, progress.PrintTimeLeft % 60);
         (printerData.GetNode("Panel/ProgressBar") as ProgressBar).Value = (float)progress.Completion;
         //GD.Print("progress: " + (float)progress.Completion);
     }
     catch
     {
         GD.Print("ip address " + address + " failed in timertimeout");
     }
 }
Exemple #2
0
 private void Jobs_Progressinfo(OctoprintJobProgress obj)
 {
     if (isPrinting)
     {
         ProgressInfoChanged?.Invoke(this, obj);
     }
 }
    private void updateProgressText(object source, OctoprintJobProgress obj)
    {
        UnityMainThreadDispatcher.Instance().Enqueue(() =>
        {
            System.TimeSpan timeLeft = System.TimeSpan.FromSeconds(obj.PrintTimeLeft);
            System.TimeSpan timePrinted = System.TimeSpan.FromSeconds(obj.PrintTime);
            string time1;
            if (timePrinted.Hours > 0)
            {
                time1 = string.Format("{0:D2}h:{1:D2}m:{2:D2}s",
                                        timePrinted.Hours,
                                        timePrinted.Minutes,
                                        timePrinted.Seconds);
            }
            else
            {
                time1 = string.Format("{0:D2}m:{1:D2}s",
                                        timePrinted.Minutes,
                                        timePrinted.Seconds);
            }

            string time2;
            if (timeLeft.Hours > 0)
            {
                time2 = string.Format("{0:D2}h:{1:D2}m:{2:D2}s",
                                        timeLeft.Hours,
                                        timeLeft.Minutes,
                                        timeLeft.Seconds);
            }
            else
            {
                time2 = string.Format("{0:D2}m:{1:D2}s",
                                        timeLeft.Minutes,
                                        timeLeft.Seconds);
            }

            toolTip.ToolTipText = System.String.Format("Dauer: {0}\n Verbleibend: {1}\n Fortschritt: {2}%", time1, time2, obj.Completion.ToString("F0"));


            //if (obj.Completion == 100)
            //{
            //    isPrinting = false;
            //}
        });
    }