Retransmit messages from CAN bus
Use a loopback connection between two channels, so that:
The first channel transmits messages 2 seconds apart.
The second channel receives them.
replay function retransmits the messages
with the original delay.
The timestamp differentials between messages in the two receive arrays,
msgRx2, are equal.
ch1 = canChannel('Vector','CANcaseXL 1',1); ch2 = canChannel('Vector','CANcaseXL 1',2); start(ch1) start(ch2) msgTx1 = canMessage(500,false,8); msgTx2 = canMessage(750,false,8); % The first channel transmits messages 2 seconds apart. transmit(ch1,msgTx1) pause(2) transmit(ch1,msgTx2) %The second channel receives them msgRx1 = receive(ch2,Inf); % The replay function retransmits the messages with the original delay. replay(ch2,msgRx1) pause(2) msgRx2 = receive(ch1,Inf);
canch— CAN device channel
CAN device channel, specified as a CAN channel object, on which to retransmit.
message— Messages to replay
Messages to replay, specified as an array of message objects.