public UpdateForm(string portName, string fileName) { InitializeComponent(); controller = new BootloaderController(portName); lblStatus.Text = "Initializing Update Controller..."; this.fileName = fileName; }
public CommandResult WriteSerialdata(string base64data, int getbytes) { BootloaderController bootloaderController = GetBootloaderController(); if (bootloaderController == null) { return(CommandResult.Failed_NotInBootloader); } bootloaderController.WriteSerialdata(Convert.FromBase64String(base64data), getbytes); return(CommandResult.Success); }
public CommandResult GotoFirmware() { var num = (int)ReleaseLock(lockID); BootloaderController bootloaderController = GetBootloaderController(); if (bootloaderController == null) { return(CommandResult.Failed_NotInBootloader); } bootloaderController.GotoFirmware(); return(CommandResult.Success); }
public bool DoInitialHandShaking() { var result = 0; Thread.Sleep(1000); var asciiEncoding = new ASCIIEncoding(); try { var stopwatch1 = new Stopwatch(); stopwatch1.Stop(); stopwatch1.Reset(); stopwatch1.Start(); var stopwatch2 = new Stopwatch(); stopwatch2.Stop(); stopwatch2.Reset(); stopwatch2.Start(); WriteToSerial(asciiEncoding.GetBytes("M115\r\n")); InternalLogger.WriteLog("<< M115 :ASCII:", Logger.TextType.Write); var flag1 = true; var flag2 = false; var flag3 = false; var input = ""; while (!shared_shutdown.Value) { if (flag1 && stopwatch2.ElapsedMilliseconds > 2000L) { if (!flag2) { if (!WriteToSerial(asciiEncoding.GetBytes("M115\r\n"))) { return(false); } InternalLogger.WriteLog("<< M115 :ASCII:(Resend)", Logger.TextType.Write); stopwatch2.Stop(); stopwatch2.Reset(); stopwatch2.Start(); flag2 = true; } else { flag3 = true; } } input += ReadExisting(); Match match = Regex.Match(input, "B\\d+", RegexOptions.CultureInvariant); if (match.Success) { var str2 = match.Value; if (!int.TryParse(str2.Substring(1), out result)) { result = 0; } stopwatch1.Stop(); InternalLogger.WriteLog(">> " + str2, Logger.TextType.Read); ControllerSelf = new BootloaderController(result, this, printerInfo, internal_logger, shared_shutdown, broadcastserver, MyPrinterProfile); return(true); } var startIndex = input.IndexOf("ok"); if (startIndex >= 0) { if (flag1) { return(false); } stopwatch1.Stop(); ControllerSelf = new FirmwareController(input.Substring(startIndex), this, printerInfo, internal_logger, shared_shutdown, broadcastserver, MyPrinterProfile); RegisterFirmwarePlugins(); return(true); } var length = input.IndexOf('\n'); if (length >= 0) { var str2 = input.Substring(0, length); input = input.Substring(length + 1); InternalLogger.WriteLog(">> " + str2, Logger.TextType.Read); if (str2.Contains("e")) { flag3 = true; } } if (flag3) { flag3 = false; input = ""; if (!WriteToSerial(new GCode() { M = 115 }.getBinary(2))) { return(false); } InternalLogger.WriteLog("<< M115", Logger.TextType.Write); flag1 = false; } } } catch (Exception ex) { ErrorLogger.LogException("Exception in PrinterConnector.DoInitialHandshaking 3 " + ex.Message, ex); return(false); } return(false); }