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()); } }
/// <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); }