Multiple applications simultaneously self-reception C#

Hello,
I’ve got things mostly working, just one issue that I have currently. I am running 2 (or more applications) that are accessing the same USB-to-CAN FD hardware. Each application has a bus monitor which shows received messages, and also allows transmission of messages.

I am connected to an ECU which is transmitting. Both applications show the messages transmitted from the ECU. correctly. If I try to send a message from application A, I see it appear in application A’s bus monitor (canMsg.SelfReceptionRequest = true) - however this transmitted message does not appear in the bus monitor of application B.

Is there a setting that I am missing, or is this not possible for Application B to see messages that Application A transmits?

Thanks

Hi,

This should work. Are you using the latest version (VCI V4.0.1003.0)?

I am using the latest NuGet package Ixxat.Vci4.StrongName v4.0.436

You can download the current DLLs using NuGet in MS Visual Studio:

(or you can copy the DLLs manually into the directory with the EXE File)

Also, please check which version of the VCI is displayed in the “Control panel | Programs and Features”:

Here is a sample program you can use:
t07.zip (1.0 MB)

You can start two instances (You will need a second CAN node for the acknowledgement) and send a CAN message with the T-Key.

According to the NuGet Pacakge Manager I have the latest version.

I also show that version 4.0.1003.0 of Ixxat VCI is installed via Programs and Features.

Running the example you provided I see the same behavior as my application. Note that I did have to make a couple changes to connect as a CAN FD device.
image

image

image

Exhibited behavior, you can see on left I used ‘T’ to transmit message, but it does not appear in right instance

Can you confirm that the message is received by the ECU?

Using independent CAN hardware I can verify the x100 message is on the bus when transmitting from the example.

OK thank you. I am going to have to escalate this to the developers and get their input. It looks to me like you are doing everything correctly and can confirm the message is transmitted to the bus, but the second application is not receiving it.

If you wouldn’t mind, it would be helpful if you created a case using our support portal at https://support.hms-networks.com. That would allow me to “officially” escalate and track this issue.

Thank you.

Thank you for the help! I submitted a request, ticket ID 57171

Moved to ticketing system to escalate. Will update post with results.

Thank you for the support. Per communications with the support team, a flag was missing from the channel init. The CanFilterModes.PassSelfReceptions flag is needed.

Ex:
mCanChn.Initialize(1024, 128, 100, CanFilterModes.Pass | CanFilterModes.PassSelfReceptions, false);

Great! Thanks for updating the thread with the solution!