示例#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);
                }
            }
        }
示例#2
0
        public void BrakePositionsAcquired(double position) //TODO: refactor it to use external event
        {
            BrakePositionReceivedEventHandler brakePosReceived = evBrakePositionReceived;

            if (brakePosReceived != null)
            {
                brakePosReceived(this, new BrakePositionReceivedEventArgs(position));
            }
        }