03-07-2017 02:47 AM
I have a problem with NI-XNET 16. The 3c/3d diag messages are received fine but the rest generates CRC/Checksum error (0x6). Since the ldf of the DUT has protocol 1.3 I suspect the problem is the CRC/Checksum which is classic for every message in 1.3 while NI-XNET by default uses 2.1 with enhanced crc.
I can't force the database editor to classic checksum - the selector is grayed out on classic for diag messages and enhanced for the rest. Tried to define and ECU with protocol 1.3 but that does not has any influence on message definition window which keeps enhanced for my messages.
Is there a way to force protocol 1.3/classic checksum for every message in NI-XNET 16?
TY.
Solved! Go to Solution.
03-07-2017 10:21 AM
The checksum is determined from the LIN version of ECUs transmitting and receiving the frame. If the LIN version of both ECUs is 2.0 or higher, the frames are transmitted with enhanced; otherwise, the frame is transmitted with classic.
My machine has XNET 6.1 installed and I am not aware of any bug fixes related to LIN Checksums that were addressed from 16.0. Using the shipping example database "NIXNET_exampleLDF", I can change the slave ECU to protocol version 1.3 and I notice all frames are then set to "Classic". If I set both ECUs to 2.1 then only the diagnostic frames are shown as classic.
Experimentation with the examples appears to corroborate the manual. When I send a frame with one ECU set to 1.3 the frame is transmitted with the classic checksum.
03-08-2017 01:29 AM
My mistake was that I forgot to drag all the messages into the ECU created with protocol 1.3 - without that XNET 16 uses default protocol which is 2.1 ... After adding all the messages to the 1.3 master ECU managed to read my stuff fine.
TY for the help