Example #1
0
        private ICanMessage2 GetTestMessage()
        {
            ICanMessage2 msg = GetBaseMessage();

            msg[0] = (byte)MessageTypes.Test;
            msg[1] = 0x00;
            return(msg);
        }
Example #2
0
        private ICanMessage2 GetPingMessage()
        {
            ICanMessage2 msg = GetBaseMessage();

            msg[0] = (byte)MessageTypes.Ping;
            msg[1] = 0x00;
            return(msg);
        }
Example #3
0
 public bool SendMessage(ICanMessage2 message)
 {
     if (message.Identifier == 0)
     {
         return(false);
     }
     if (_writer == null)
     {
         return(false);
     }
     return(_writer.SendMessage(message));
 }
Example #4
0
 private void ReceivedMessage(ICanMessage2 message)
 {
     if ((MessageTypes)message[0] == MessageTypes.Pong)
     {
         _waitingForPong = false;
         _timeoutTimer?.Stop();
     }
     else if ((MessageTypes)message[0] == MessageTypes.Skip)
     {
         SkippedMessage?.Invoke(UsedDelay);
     }
 }
Example #5
0
        private ICanMessage2 GetBaseMessage()
        {
            IMessageFactory factory = VciServer.Instance().MsgFactory;
            ICanMessage2    message = (ICanMessage2)factory.CreateMsg(typeof(ICanMessage2));

            message.TimeStamp            = 0;
            message.Identifier           = 2;
            message.FrameType            = CanMsgFrameType.Data;
            message.SelfReceptionRequest = false;
            message.ExtendedFrameFormat  = false;
            message.DataLength           = 2;
            return(message);
        }
Example #6
0
        public async Task SendMessagesAsync()
        {
            _stopTestsFlag = false;

            await Task.Run(async() =>
            {
                if (!CheckCommunication())
                {
                    throw new Exception("Could not connect to the tested machine");
                }

                ICanMessage2 testMessage = GetTestMessage();
                uint sentMessages        = 0;
                while (!_stopTestsFlag)
                {
                    testMessage[1] = (byte)(sentMessages % 0xFF);
                    CanManager.Instance.SendMessage(testMessage);
                    SentMessage?.Invoke(UsedDelay);
                    sentMessages++;
                    await Task.Delay(UsedDelay);
                }
            });
        }