private void ParseM501(string dataReceived)
        {
            ParseInit(dataReceived);
            var responceData = new ResponceData(dataReceived);

            OnM501Responce(responceData);
        }
        private void ParseInit()
        {
            if (IsPortOpen == false)
            {
                _serialPort.SendASCIIString("M114" + Environment.NewLine);                      // Send M114 to get a ok/n
            }
            IsPortOpen = true;

            // Return if The _dataReceived not contains ok\n
            if (WaitForOkAndNewLineToBeReceived() == false)
            {
                return;
            }
            //// Return if The _dataReceived not contains ok\n
            //if (WaitForInitToBeDone() == false) return;

            // Create INIT responce Event
            var responce = new ResponceData(_dataReceived);

            ParseM851();



            OnInit(responce);

            //Delete the responce from the received bytes
            _dataReceived = string.Empty;


            // ReadyForNextCommand
            OnReadyForNextCommand(EventArgs.Empty);
        }
示例#3
0
        private void ParseM304()
        {
            // Return if The _dataReceived not contains ok\n
            if (WaitForOkAndNewLineToBeReceived() == false)
            {
                return;
            }

            var responceData = new ResponceData(_dataReceived);

            OnM304Responce(responceData);

            OnReadyForNextCommand(EventArgs.Empty);
        }
        private void ParseInit(string dataReceived)
        {
            IsPortOpen = true;

            // Create INIT responce Event
            var responce = new ResponceData(dataReceived);

            ParseM851(dataReceived);


            OnInit(responce);

            //Delete the responce from the received bytes
            dataReceived = string.Empty;
        }
示例#5
0
        private void ParseInit()
        {
            IsPortOpen = true;

            // Create INIT responce Event
            var responce = new ResponceData(_dataReceived);

            ParseM851();


            OnInit(responce);

            //Delete the responce from the received bytes
            _dataReceived = string.Empty;


            // ReadyForNextCommand
            OnReadyForNextCommand(EventArgs.Empty);
        }
        private string ReceiveDataUntilOk()
        {
            // Read all bytes in the buffer


            string dataReceived = null;



            while (true)
            {
                string line = _serialPort.ReadLine(1000); //Delete all "Busy ..."

                if (line.ToLower().Contains("busy"))
                {
                    continue;
                }


                // Handle temperatureResponce and quit
                if (Gcode == "M105")
                {
                    if (ParseTemperatures(line))
                    {
                        break;
                    }
                }



                if (ParseTemperatures(line))
                {
                    continue;                          // Delete all temperatures
                }
                dataReceived += line + linuxNewline;

                ParseM114(line);

                switch (Gcode)
                {
                case "M851":

                    break;

                case "M500":

                    break;

                case "M501":

                    break;



                case "M303":
                    var responceData = new ResponceData(dataReceived);
                    OnM303Responce(responceData);
                    break;

                case "G30":
                    if (line.ToLower().Trim() == "ok")
                    {
                        continue;
                    }
                    if (line.ToLower().Contains("bed"))
                    {
                        dataReceived += Environment.NewLine + "ok";
                        break;
                    }

                    OnG30ProbeResponce(ProbeResponceList);
                    continue;

                case "M48":

                    if (line.ToLower().Trim() == "ok")
                    {
                        continue;
                    }

                    var responceDataM48 = new ResponceData(line);
                    OnM48ProbeStatus(responceDataM48);
                    if (line.ToLower().Contains("standard deviation:"))
                    {
                        dataReceived += Environment.NewLine + "ok";
                        break;
                    }
                    continue;
                }


                if (dataReceived.ToLower().Contains("ok"))
                {
                    break;
                }
            }



            if (Showform != null)
            {
                _showcom.AddReceived = dataReceived;
            }


            return(dataReceived);
        }
        private void ParseM500(string dataReceived)
        {
            var responceData = new ResponceData(dataReceived);

            OnM500Responce(responceData);
        }
 private void ParseM280(string dataReceived)
 {
     Thread.Sleep(200);
     var responceData = new ResponceData(dataReceived);
 }
        private void OnM851Responce(ResponceData responce)
        {
            var handler = M851Responce;

            handler?.Invoke(this, responce);
        }
        /// <summary>
        /// Handle event that rise after M48
        /// </summary>
        private void OnM48ProbeStatus(ResponceData probeResponceList)
        {
            var handler = M48ProbeStatus;

            handler?.Invoke(this, probeResponceList);
        }
        private void OnInit(ResponceData responce)
        {
            var handler = Init;

            handler?.Invoke(this, responce);
        }