コード例 #1
0
ファイル: SDCardPlugin.cs プロジェクト: urish/M3D
        public void ProcessGCodeResult(GCode gcode, string resultFromPrinter, PrinterInfo printerInfo)
        {
            if (!gcode.hasM || gcode.M != 27)
            {
                return;
            }

            var str1 = resultFromPrinter;

            char[] chArray = new char[1] {
                '\n'
            };
            foreach (var str2 in str1.Split(chArray))
            {
                if (str2.Contains("Not SD printing."))
                {
                    m_oPrinterSDCardStatus.IsPrintingFromSD = false;
                    m_oPrinterSDCardStatus.SDFileLength     = 0L;
                    m_oPrinterSDCardStatus.SDFilePosition   = 0L;
                }
                else if (str2.StartsWith("SD printing byte"))
                {
                    try
                    {
                        string[] strArray = str2.Substring("SD printing byte".Length).Split('/');
                        if (strArray.Length == 2)
                        {
                            long.TryParse(strArray[0], out m_oPrinterSDCardStatus.SDFilePosition);
                            long.TryParse(strArray[1], out m_oPrinterSDCardStatus.SDFileLength);
                            m_oPrinterSDCardStatus.IsPrintingFromSD = true;
                        }
                    }
                    catch (Exception ex)
                    {
                    }
                    if (printerInfo.current_job == null && m_OnActiveSDPrint != null)
                    {
                        m_OnActiveSDPrint();
                        m_OnActiveSDPrint = null;
                    }
                }
            }
        }
コード例 #2
0
ファイル: SDCardPlugin.cs プロジェクト: urish/M3D
 public SDCardPlugin(SDCard PrinterSDCardStatus, SDCardPlugin.ActiveSDPrintCallback activePrintCallback)
 {
     m_oPrinterSDCardStatus = PrinterSDCardStatus;
     m_OnActiveSDPrint      = activePrintCallback;
 }