COMPOSITE_ID stopped working in one position

hello, for some reason, the mapping with COMPOSITE_ID 0X8e in this xml snippet stopped working.

 <frame id="0x140810ff:0x8e,1,1" endianess="big">
      <value targetId="38" offset="2" length="2" signed= "true" conversion="V/10"></value>      <!-- Spark Advance -->

    </frame>

I had to change it to:

 <frame id="0x140810ff:0x01,0,1" endianess="big">

CAN Monitor:

What is your actual composite ID byte, 01 or 8e?

Currently 01,It was the 8E and in some update it stopped working.

i have same problem Composite ID need help - #4 by Falcon_S

1 Like

Edit: I found the issue, this same issue also affects @Falcon_S.

When using composite ID, the value having any of the:

signed="true"
float="true"
double="true"

will bleed into the composite id parsing resulting invalid composite id.

This is fixed for next release.

3 Likes

I still can’t use the composite ID. I have inverted the byte order. It didn’t help.
An example of a frame from CAN:

Blockquote
000007e8 : 05 62 24 D7 xx xx aa aa

056224D7 is a composite iD.
xx xx - this is data in two bytes.

<frame id="0x7e8 : 0xD724, 2, 2">
 <value targetId="31" offset="2" length="2"></value>

But the value is always “100” for some reason

please help me to match the values in XML correctly?

Seems like your composite ID is 4 bytes and data bytes start from offset 4:

<frame id="0x7e8:0xD7246205,0,4">
    <value targetId="31" offset="4" length="2"></value>

Or composite ID may be 0x056224D7 depending on endianness of the sending device.

1 Like