Hello.
Found incomprehensible behavior when transmitting CAN data from an xml file.
Example:
<!-- ID101 transmission test 1 -->
<frame id="0x101" writeInterval="1000" size="8">
<value targetId="test_tx1" offset="0" length="4" initialValue=123456790></value>
<value targetId="test_tx2" offset="4" length="4" initialValue=223567890></value>
</frame>
<!-- ID102 transmission test 2 -->
<frame id="0x102" writeInterval="1200" size="8">
<value targetId="test_tx3" offset="0" length="4" initialValue=0x12345679></value>
<value targetId="test_tx4" offset="4" length="4" initialValue=0x22356789></value>
</frame>
<!-- ID103 transmission test 3 -->
<frame id="0x103" writeInterval="1400" size="8">
<value targetId="test_tx5" offset="0" length="2" initialValue=0x1234></value>
<value targetId="test_tx6" offset="2" length="2" initialValue=0x6789></value>
<value targetId="test_tx7" offset="4" length="2" initialValue=0x2235></value>
<value targetId="test_tx8" offset="6" length="2" initialValue=0x6185></value>
</frame>
<!-- ID104 transmission test 4 -->
<frame id="0x104" writeInterval="1600" size="8">
<value targetId="test_tx9" offset="0" length="1" initialValue=0x34></value>
<value targetId="test_tx10" offset="1" length="1" initialValue=0x12></value>
<value targetId="test_tx11" offset="2" length="1" initialValue=0x89></value>
<value targetId="test_tx12" offset="3" length="1" initialValue=0x67></value>
<value targetId="test_tx13" offset="4" length="1" initialValue=0x35></value>
<value targetId="test_tx14" offset="5" length="1" initialValue=0x22></value>
<value targetId="test_tx15" offset="6" length="1" initialValue=0x85></value>
<value targetId="test_tx16" offset="7" length="1" initialValue=0x61></value>
</frame>
The device for receiving data is your own. Correctly I only get ID104. All others have errors, but the incoming checksum is correct.
-
By ID101
Received 44 33 22 11 01 01 00 00 18 cd 5b 07 10 60 53 0d c3
where 1 value is 0x075bcd18, should be 0x075BCD16 (123456790)
… 2 value is 0x0d536010, should be 0x0D536012 (223567890) -
By ID102
Received 44 33 22 11 02 01 00 00 80 56 34 12 80 67 35 22 07
where 1 value is 0x12345680, should be 0x12345679
… 2 value is 0x22356780, should be 0x22356789 -
By ID103
Received 44 33 22 11 03 01 00 00 34 12 89 67 35 22 85 61 21 while the program RD is starting
… 44 33 22 11 03 01 00 00 00 00 00 00 35 22 00 00 05 when the program RD is running
where 1 value is 0x0000, should be 0x1234
… 2 value is 0x0000, should be 0x6789
… 3 value is 0x2235, should be 0x2235
… 4 value is 0x0000, should be 0x6185 -
By ID104 everything comes right.
Received 44 33 22 11 04 01 00 00 34 12 89 67 35 22 85 61 22
Can you check and fix the issue?