Target IDs for 10 different voltages?

Hello everyone,

I need to evaluate the different voltage values ​​for 10 buttons from a total of two steering wheel controllers.
Each of the two controllers processes 5 buttons and outputs different voltages for them.

A Teensy 3.5 reads the voltage values ​​and outputs the data via USB – ideally directly with the corresponding, but as yet unknown, target IDs.

Or are there other ways to process the voltage values ​​in RD?

  • Which IDs can I use for the 10 different voltage values?
  • Is there a solution for this?

..

  • I only found 3 Target IDs related to voltage:
  • Battery voltage ID 12 (already used in my case)
  • Electric vehicles: Battery voltage ID 339
  • Charging voltage ID 340
  • Could a block of 10 or 20 Target IDs be added for additional voltage values ​​so that the values ​​received from USB can be processed directly?

Greetings from Germany

You can make custom input values by specifying ‘name’ attribute in your connection XML file.

Hello realdashdev,

Thanks for the information!

Can you give an example?
What exactly needs to be in the XML file if “name” is used instead of ID?
What about the syntax with special characters in the “name”?

Would something like this work as a “name”?
RealDash XML Taget ID = “Cntl1_Taste_Lst+”
RealDash XML Taget ID = “Cntl2_Taste_Lst-”
RealDash XML Taget ID = “Cntl1_Taste_<<”
RealDash XML Taget ID = "Cntl2_Taste_>> "
RealDash XML Taget ID = “Cntl1_Taste_■”

First, read the documentation of the XML file:

RealDash-extras/RealDash-CAN/realdash-can-description-file.md at master · janimm/RealDash-extras

Example in your case would be something like:

<value name="Cntl1_Taste_Lst+" offset="0" length="2"></value>
<value name="Cntl1_Taste_Lst-" offset="2" length="2"></value>
...

Hi realdashdev,

Thanks for the info!

I’m still not entirely clear on how the offset and length values ​​are applied.

If I understand correctly, length refers to the voltage output by the steering wheel controller for its buttons?

Like this:

e.g., 3.2498V = Length 5?

In my case, depending on which button is pressed, I get values ​​between 7.18mV and a maximum of 687.5mV.

For example,
at 0.00718V, length = 6?
at 0.6875V, length = 5?

Since a “name” is used instead of a target ID, the offset would be 0 in both cases?

Length and displacement are read by bytes and bits in the CAN screen.

Are those USB outputs CAN values? I’m a little confused on how that data is outputted.

No, these are not CAN values.
They are the raw values ​​of the measured voltages.

In my case, the voltages are measured by a Teensy 3.5 and sent via USB to a Rock5B running the latest version of RD.

Depending on which button on my steering wheel remote is pressed, I get values ​​between 7.18 mV and a maximum of 687.5 mV.

If I use “name” instead of Target ID in the XML file, what value should I use for length and offset in the example?

For example,

at 0.00718 V, length = 6, offset = 0?
at 0.6875 V, length = 5, offset = 0?

Would this be correct?

Please clarify…

No. When RealDash receives a CAN frame, it typically contains 8 bytes, for example:

0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88

Length attribute in XML determines how many of those bytes are read for a value.

Offset value in XML determines the start byte. For example:

offset=“2” length=“1” would read value 0x33 from the CAN frame.

offset=“4” length=“4” would read value 0x55667788 from the CAN frame.