public void AssociateFilamentToPrinter(PrinterSerialNumber printer, FilamentSpool spool) { DisassociateFilamentFromPrinter(printer); if (!(spool != null)) { return; } DisassociateFilamentFromPrinter(spool.filament_uid); if (spool.filament_uid == 0U) { return; } CurrentFilamentSettings.printerFilamentAssociations.Add(printer, spool.filament_uid); for (var index = 0; index < CurrentFilamentSettings.usedFilamentSpools.filament.Count; ++index) { FilamentSpool other = CurrentFilamentSettings.usedFilamentSpools.filament[index]; if (spool.Matches(other) && (int)other.filament_uid != (int)spool.filament_uid && FindAssociatedPrinter(other.filament_uid) == PrinterSerialNumber.Undefined) { CurrentFilamentSettings.usedFilamentSpools.filament.RemoveAt(index); --index; } } UpdateUsedFilamentSpool(spool); SaveSettings(); }
public RPC(PrinterSerialNumber serialnumber, Guid lockID, uint callID, string name, params object[] param) { this.name = name; parameters = param; this.serialnumber = serialnumber; this.lockID = lockID; this.callID = callID; }
public SpoolerMessage(MessageType type, PrinterSerialNumber serialnumber, string message, string pluginID, string state) { Type = type; SerialNumber = serialnumber; Message = message; PlugInID = pluginID; State = state; }
private void OnSelectedPrinterChanged(PrinterSerialNumber serial_number) { if (!Enabled || !Visible) { return; } CheckPrinterState(m_oSpoolerConnection.SelectedPrinter); }
public void OnSelectedPrinterChanged(PrinterSerialNumber serial_number) { if (!Visible) { return; } CloseWindow(); }
public PublicPrinterConnection UnsafeFindPrinterConnection(PrinterSerialNumber serialnumber) { if (spooler_connection == null || !(spooler_connection is InternalSpoolerConnection)) { return(null); } return(((InternalSpoolerConnection)spooler_connection).SpoolerServer.GetPrinterConnection(serialnumber)); }
private string LockVerifyResultToSpoolerMessage(CommandResult result, PrinterSerialNumber serialnumber, uint callID) { if (result == CommandResult.Success) { return(null); } return(new SpoolerMessage(MessageType.LockResult, serialnumber, callID.ToString("D8") + result.ToString()).Serialize()); }
public void DisassociateFilamentFromPrinter(PrinterSerialNumber printer) { if (!CurrentFilamentSettings.printerFilamentAssociations.ContainsKey(printer)) { return; } CurrentFilamentSettings.printerFilamentAssociations.Remove(printer); }
private void DisassociateFilamentFromPrinter(uint filamentUID) { PrinterSerialNumber associatedPrinter = FindAssociatedPrinter(filamentUID); if (!(associatedPrinter != PrinterSerialNumber.Undefined)) { return; } DisassociateFilamentFromPrinter(associatedPrinter); }
internal PrinterConnection GetPrinterConnection(PrinterSerialNumber serialnumber) { foreach (KeyValuePair <string, PrinterConnection> printer in connectionManager.printers) { PrinterConnection printerConnection = printer.Value; if (printerConnection.PrinterInfo.serial_number == serialnumber) { return(printerConnection); } } return(null); }
private PrinterSerialNumber FindAssociatedPrinter(uint filamentUID) { PrinterSerialNumber printerSerialNumber = PrinterSerialNumber.Undefined; foreach (var filamentAssociation in CurrentFilamentSettings.printerFilamentAssociations) { if ((int)filamentAssociation.Value == (int)filamentUID) { printerSerialNumber = filamentAssociation.Key; } } return(printerSerialNumber); }
public void SendMessageToConnectedPrinter(PrinterSerialNumber sn, SpoolerMessage message) { var printerObject = (PrinterObject)null; lock (connected_printers) { foreach (PrinterObject connectedPrinter in connected_printers) { if (connectedPrinter.Info.serial_number == sn) { printerObject = connectedPrinter; break; } } } printerObject?.ProcessSpoolerMessage(message); }
public Printer GetPrinter(PrinterSerialNumber sn) { var printer = (Printer)null; lock (connected_printers) { for (var index = 0; index < connected_printers.Count; ++index) { if (connected_printers[index].Info.serial_number == sn) { printer = connected_printers[index]; break; } } } return(printer); }
private int GetPrinterIndexFromSerialNumber(PrinterSerialNumber sn) { lock (connected_printers) { try { for (var index = 0; index < connected_printers.Count; ++index) { if (connected_printers[index].Info.serial_number == sn) { return(index); } } } catch (Exception ex) { ErrorLogger.LogException("Exception in SpoolerClient.GetPrinterIndexFromSerialNumber " + ex.Message, ex); } } return(-1); }
public SpoolerMessage(string serialization) { using (var textReader = (TextReader) new StringReader(serialization)) { try { var spoolerMessage = (SpoolerMessage)SpoolerMessage.ClassSerializer.Deserialize(textReader); Type = spoolerMessage.Type; SerialNumber = spoolerMessage.SerialNumber; Message = spoolerMessage.Message; State = spoolerMessage.State; PlugInID = spoolerMessage.PlugInID; } catch (Exception ex) { Type = MessageType.ErrorUndefinedMessage; SerialNumber = new PrinterSerialNumber("0"); Message = null; } } }
public PrinterObject GetPrinterBySerialNumber(string serial_number) { var printerObject = (PrinterObject)null; if (string.IsNullOrEmpty(serial_number)) { return(null); } var printerSerialNumber = new PrinterSerialNumber(serial_number); lock (connected_printers) { foreach (PrinterObject connectedPrinter in connected_printers) { if (connectedPrinter.Info.serial_number == printerSerialNumber) { printerObject = connectedPrinter; } } } return(printerObject); }
private void OnUnsavedChangesCallback(PopupMessageBox.PopupResult result, MessageType type, PrinterSerialNumber sn, object user_data) { var printer = user_data as PrinterObject; if (printer == null) { return; } if (result == PopupMessageBox.PopupResult.Button1_YesOK) { ApplyCalibrationSettings(printer, m_ocUnsavedCalibrationValues, true); } else { var num = (int)printer.ReleaseLock(null, null); } }
private void OrderFilamentCallBack(PopupMessageBox.PopupResult result, MessageType type, PrinterSerialNumber sn, object user_data) { if (result == PopupMessageBox.PopupResult.Button1_YesOK) { Process.Start("https://printm3d.com/3d-printer-filaments"); } PrepareToStartPrint(); }
private void ContinuePrintCallBack(PopupMessageBox.PopupResult result, MessageType type, PrinterSerialNumber sn, object user_data) { if (result == PopupMessageBox.PopupResult.Button1_YesOK) { PrepareToStartPrint(); } else { PrintDialogWindow.CloseWindow(); if (CurrentJobDetails.printer == null) { return; } var num = (int)CurrentJobDetails.printer.SendManualGCode(new AsyncCallback(ReleasePrinterAfterCommand), CurrentJobDetails.printer, "M106 S0"); } }
private void BootLoaderStartup() { FirmwareDetails firmware = MyPrinterProfile.ProductConstants.FirmwareList['M']; if (mInterfaceVersion == BootloaderController.BootloaderInterfaceVersion.V2) { SetBootloader('M'); } MyPrinterInfo.hardware.machine_type = "The_Micro"; var eepromMapping = new EEPROMMapping(m_oBootloaderConnection.ReadAllReadableEEPROM(), MyPrinterProfile.EEPROMConstants); var flag = false; var str = ""; byte[] bytesFromLocation = eepromMapping.GetBytesFromLocation("SerialNumber", 16); for (var index = 0; index < 16; ++index) { if (bytesFromLocation[index] == byte.MaxValue) { flag = true; } str += ((char)bytesFromLocation[index]).ToString(); } if (flag) { BroadcastServer.BroadcastMessage(new SpoolerMessage(MessageType.UserDefined, MySerialNumber, "There was a major error in your printer. Please reset the printer. If the problem persist, contact M3D.").Serialize()); Status = PrinterStatus.Error_PrinterNotAlive; } else { MySerialNumber = new PrinterSerialNumber(str); foreach (IFirstRunUpdater updater in MyPrinterProfile.FirstRunConstants.updater_list) { updater.CheckForUpdate(str, eepromMapping.GetAllEEPROMData(), m_oBootloaderConnection, MyPrinterProfile); } logger.ResetWithSerialNumber(MySerialNumber.ToString()); LoadPersistantData(); PersistantDetails.hours_used = eepromMapping.GetFloat("HoursCounterSpooler"); HardwareDetails.firmware_version = eepromMapping.GetUInt32("FirmwareVersion"); PersistantData.RestartOptions restartOptions = PersistantDetails.PopRestartAction(); SavePersistantData(); CurrentBootloaderStep = BootloaderController.BootLoaderStep.CheckFirmware; if (restartOptions.RestartAction == PersistantData.RestartAction.SetExtruderCurrent) { SetExtruderCurrent((ushort)restartOptions.RestartActionParam); } else if (restartOptions.RestartAction == PersistantData.RestartAction.SetFan) { SetFanConstants((FanConstValues.FanType)restartOptions.RestartActionParam); } else if (restartOptions.RestartAction == PersistantData.RestartAction.ForceStayBootloader) { Status = PrinterStatus.Bootloader_Ready; CurrentBootloaderStep = BootloaderController.BootLoaderStep.Waiting; } else { if (restartOptions.RestartAction != PersistantData.RestartAction.ForceUpdateFirmware) { return; } CurrentBootloaderStep = BootloaderController.BootLoaderStep.ForceFirmwareUpdate; } } }
private void OnSelectedPrinterChanged(PrinterSerialNumber serial_number) { CheckAccessoriesAvailability(m_oSpoolerConnection.GetPrinterBySerialNumber(serial_number.ToString())); }
public void OnUserSelection(PopupMessageBox.PopupResult result, MessageType type, PrinterSerialNumber sn, object user_data) { if (result != PopupMessageBox.PopupResult.Button1_YesOK) { return; } RemoveFilamentProfile(); }
public void OnUserSelection(PopupMessageBox.PopupResult result, MessageType type, PrinterSerialNumber sn, object user_data) { if (result != PopupMessageBox.PopupResult.Button1_YesOK || type != MessageType.UserDefined) { return; } PrinterObject selectedPrinter = spooler_connection.SelectedPrinter; spooler_connection.SelectPrinterBySerialNumber(((PrinterInfo)user_data).serial_number.ToString()); Close(); }
public void OnUserSelection(PopupMessageBox.PopupResult result, MessageType type, PrinterSerialNumber sn, object data) { PrinterObject printerBySerialNumber = GetPrinterBySerialNumber(sn.ToString()); if (printerBySerialNumber == null || type != MessageType.WarningABSPrintLarge || (printerBySerialNumber == null || !printerBySerialNumber.IsConnected())) { return; } if (result == PopupMessageBox.PopupResult.Button1_YesOK) { var num1 = (int)printerBySerialNumber.ClearCurrentWarning(null, null); } else { var num2 = (int)printerBySerialNumber.AbortPrint(null, null); } }
private void ContinueCallBack(PopupMessageBox.PopupResult result, MessageType type, PrinterSerialNumber sn, object user_data) { if (result != PopupMessageBox.PopupResult.Button1_YesOK) { return; } ContinuePrint(); }
private void AbortCallBack(PopupMessageBox.PopupResult result, MessageType type, PrinterSerialNumber sn, object user_data) { if (result != PopupMessageBox.PopupResult.Button1_YesOK) { return; } if (settings.ShowAllWarnings) { messagebox.AddMessageToQueue("Aborting print. Please do not unplug your printer while it is aborting. If you unplug your printer, you will have to recalibrate it."); } var num = (int)AbortPrint(null, null); aborted = true; status_text.Visible = false; remain_text.Visible = false; progress_indicator.Visible = true; abort_button.Visible = false; }
public SpoolerMessage(MessageType type, PrinterSerialNumber serialnumber, string message) : this(type, serialnumber, message, "", "") { }