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"); } }
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; //} }); }