Example #1
0
        private async void TCPClientHandler(TcpClient paramClient)
        {
            NetworkStream stream = null;
            StreamReader  reader = null;

            try
            {
                stream = paramClient.GetStream();
                reader = new StreamReader(stream);

                char[] buff = new char[64];

                while (true)
                {
                    Debug.WriteLine("*** Ready to read");

                    int nRet = await reader.ReadAsync(buff, 0, buff.Length);

                    /*
                     * System.Diagnostics.Debug.WriteLine("Returned: " + nRet);
                     *
                     * if (nRet == 0)
                     * {
                     *  RemoveClient(paramClient);
                     *
                     *  Console.WriteLine("Socket disconnected");
                     *  break;
                     * }
                     */
                    string receivedText = new string(buff);

                    Console.WriteLine($"{DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss")} => Incoming TCP data receieved");

                    receivedText = receivedText.TrimEnd('\0');

                    ServerHTTP.responseData = receivedText;        //changing data within recieved response data

                    ForwardHandler.TCP_HTTP_Forward(receivedText); // forwarding data to HTTP host

                    Array.Clear(buff, 0, buff.Length);

                    //SENDING DATA FROM SERVER TO TCP CLIENT

                    //SendToAll();
                }
            }
            catch (Exception e)
            {
                RemoveClient(paramClient);
                Console.WriteLine(e.ToString());
            }
        }
Example #2
0
        /// <summary>
        /// Alternate Constructor which will call your own functions for forward and backward steps.
        /// You can have multiple simultaneous steppers, all moving
        /// at different speeds and accelerations, provided you call their run()
        /// functions at frequent enough intervals. Current Position is set to 0, target
        /// position is set to 0. MaxSpeed and Acceleration default to 1.0.
        /// Any motor initialization should happen before hand, no pins are used or initialized.
        /// </summary>
        /// <param name="forward">forward void-returning procedure that will make a forward step</param>
        /// <param name="backward">backward void-returning procedure that will make a backward step</param>
        /// <param name="getMicrosecondsHandler">Custom time method. To be used when hardware allows time measurement with less latency then DateTime.UtcNow.Ticks</param>
        public AccelStepper(ForwardHandler forward, BackwardHandler backward, GetMicroSecondsHandler getMicrosecondsHandler)
        {
            _interface     = 0;
            _currentPos    = 0;
            _targetPos     = 0;
            _speed         = 0.0f;
            _maxSpeed      = 1.0f;
            _acceleration  = 0.0f;
            _stepInterval  = 0;
            _minPulseWidth = 1;
            _enablePin     = new Pin {
                Num = 0xff
            };
            _lastStepTime           = 0;
            _pin[0]                 = new Pin();
            _pin[1]                 = new Pin();
            _pin[2]                 = new Pin();
            _pin[3]                 = new Pin();
            _forward                = forward;
            _backward               = backward;
            _getMicroSecondsHandler = getMicrosecondsHandler;

            // NEW
            _n         = 0;
            _c0        = 0.0f;
            _cn        = 0.0f;
            _cmin      = 1.0f;
            _direction = Direction.DIRECTION_CCW;

            int i;

            for (i = 0; i < 4; i++)
            {
                _pinInverted[i] = 0;
            }
            // Some reasonable default
            SetAcceleration(1);
        }