Custom Calculated values


Is there a possibility to add my own calculated values?

I can read fuel level of my car thru obd2. This is a percentage value. What I want is to be able to change it to actual liters. My car has a 45 liter fuel tank, so 100% fuel level means 45 liter.
I can change the XML file to add a conversion for this, but I want to be able to still select the percentage.
Can I add my own command line to the XML file, that acces the same PID, but with a conversion in the command line or will this cause problems when 2 command lines are requesting values from the same PID?

If this cause problems, can I add my own calculated value like: value of target ID 201 (wich is the fuel level ID within RD)*0,45

Thank you in advance

You can add multiple commands for same PID, no problem. Just give it an unique name attribute instead of targetId.

Oh good, thank you.

Follow up question: In another post here on this forum, I asked about a PID list from Alfa Romeo, wich maybe could also be used for my Fiat, and the PID’s always contains 4 characters, starting with 21 and the last 2 characters are all different. Now I am a little further by understanding how PID’s work, so I asume the 21 means the PID is in mode 21 and the last to characters refer to the actual PID. I see PID’s in that list all containing numbers, like 2103 (Odometer) and PID’s with a letter in it, like 210C (Odometer at last rewrite). Can I asume these PID’s are in HEX (and not Decimal)?

If I want to use these extended PID’s in the rotation section of the XML file, do I need to edit the INIT section as well, to get RD to cummunicate with mode OBD2 mode 21? Or doesn’t it work like that?

Yes, OBD2 protocol values are in hex.

You do not need to modify the init section unless you are using a custom header for all commands in rotation. Then it is handy to set the header in init section.

Ok, super. What about my question above that about if I am correct about PID mode and if the mentioned PID’s are HEX or Decimal?

Yes, all are in hex, and first byte in request is the mode. I recommend you go thru this wikipedia page to get good understanding of the basics of the OBD2:

Thank you. I already did some digging on that wiki page, but not all is clear to me, so that is why I asked here.

Does RD have a functionality to check if RD can get a response from a PID? Or like a PID scanner that lists every PID that will respond to RD or like a “sandbox” page, to test PID’s? Or is it only by trial and error?

Yes, go to the connection settings and tap ‘OBD2 monitor’

Thank you, I will try there