public override bool Connect() { con.isMarlin = con.isRepetier = con.isSprinter = false; connected = true; virtualPrinter.open(int.Parse(baudRate)); GCode gc = new GCode(); gc.Parse("M105"); virtualPrinter.receiveLine(gc); connected = true; if (transferProtocol < 2) { binaryVersion = 0; } else { binaryVersion = transferProtocol - 1; } con.binaryVersion = binaryVersion; readyForNextSend = true; lock (nackLines) { nackLines.Clear(); } linesSend = errorsReceived = bytesSend = 0; gc.Parse("N0 M110"); virtualPrinter.receiveLine(gc); gc.Parse("M115"); virtualPrinter.receiveLine(gc); gc.Parse("M105"); virtualPrinter.receiveLine(gc); con.FireConnectionChange(Trans.T("L_CONNECTED") + ":" + con.printerName); Main.main.Invoke(Main.main.UpdateJobButtons); return(true); }