Esempio n. 1
0
        void ContinousCommunication()
        {
            while (true)
            {
                try
                {
                    SteeringWheelAngleInfoReceivedEventHandler tempAngleEvent = evSteeringWheelAngleInfoReceived;
                    if (tempAngleEvent != null)
                    {
                        tempAngleEvent(this, new SteeringWheelAngleInfoReceivedEventArgs(model.WheelAngle));
                    }

                    SpeedInfoReceivedEventHander tempSpeedEvent = evSpeedInfoReceived;
                    if (tempSpeedEvent != null)
                    {
                        tempSpeedEvent(this, new SpeedInfoReceivedEventArgs(model.Speed));
                    }

                    BrakePositionReceivedEventHandler temp = evBrakePositionReceived;
                    if (temp != null)
                    {
                        temp(this, new BrakePositionReceivedEventArgs(model.BrakePosition));
                    }

                    Thread.Sleep(COMMUNICATION_THREAD_SLEEP_PER_LOOP);
                }
                catch (Exception e)
                {
                    Logger.Log(this, String.Format("Fake car communicator exception catched: {0}", e.Message), 2);
                    Logger.Log(this, String.Format("Fake car communicator exception stack: {0}", e.StackTrace), 1);
                }
            }
        }
Esempio n. 2
0
        public void WheelAngleAcquired(double angle) //TODO: refactor it to use external event
        {
            SteeringWheelAngleInfoReceivedEventHandler evWheelAngleReceived = evSteeringWheelAngleInfoReceived;

            if (evWheelAngleReceived != null)
            {
                evWheelAngleReceived(this, new SteeringWheelAngleInfoReceivedEventArgs(angle));
            }
        }