[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/dsuarezv/Netduino-gcode/master/StepperBasic/GCodeServer.cs [Back]  [Original]

using System;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.Netduino;
using System.Net.Sockets;

using NetduinoSocketServer;
using gcodeparser;

namespace StepperBasic
{
    public class GCodeServer: LineServer
    {
        // __ Internals _______________________________________________________

        
        static CncDevice mDevice = new CncDevice();

        
        // __ Port setup ______________________________________________________


        static OutputPort LED = new OutputPort(Pins.ONBOARD_LED, true);


        // __ Server impl _____________________________________________________

        
        public static void Main()
        {
            DeviceFactory.RegisterDevice(mDevice);

            new GCodeServer().Listen(82);
        }

        protected override void OnConnect(Socket socket)
        {
            SendString("Dave's CNC interface 0.70 with G-Code\r\n", socket);
        }

        protected override bool ProcessLine(string line, Socket socket)
        {
            string l = line.ToLower().Trim();

            if (l == "exit") return false;

            LED.Write(false);

            try
            {
                GCodeParser.ParseLine(l);

                SendString("+\r\n", socket);
            }
            catch (Exception ex)
            {
                SendString("ERROR: " + ex.Message + "\r\n", socket);
            }
            finally
            {
                LED.Write(true);
            }

            return true;
        }
    }
}

Web Proxy Viewer  |  New URL  |  Original Page