Virtual Fuel Tank (Fill a Volume vs Full)

We tested and used the Virtual Fuel tank at our last Endurance race and ultimately found that it was Very accurate for us.

What I’d like to know is if anyone has used this and “Filled” a certain number of gallons/liters vs just a full reset?

I ask because we are doing Endurance races and there might be times where we do a “Partial” fill vs a “Full” fill, for example Yellow Flag when we’re not 2 cans down or near the finish and only need a partial can, etc.

I’m thinking about a few options to provide a variable with the # of gallons. Either a driver rotary, actual fuel level sender (can read well exiting Pit Lane), even Pit to car telemetry. Once I have that variable, would it just be as simple as a button push to “Add” my gallons to the Virtual Tank? Actually thinking of a 2 stage situation, we have a partial fill and drive just does a single push on the button to fill the provided # of gallons, or we do a full fuel and the driver does a Push/hold to fully reset the tank.

Please check out the experimental firmware 104 features - there is an option for the partial fill.

https://www.ecumaster.com/testVersions.html

The how-to is available: https://www.ecumaster.com/files/ADU/HowTo/How_to_Use_Virtual_Fuel_Tank_in_ADU.pdf

image

2 Likes

While this new option is appreciated, it makes for a rather fiddly way to do the adjustment… eg:

If you have a 20gal tank that you reset full then drive down to a remaining fuel level of 7 gal before pitting, then only put in a single 5 gal can of fuel the driver must then observe what the calculated remaining fuel would be, add 5 to that, subtract the new 12 gallons from 20, then turn an encoder down 8 times to set the tank size to 12, then hit the fuel reset button. None of that is hard but it is a lot of steps when your are separately trying to get out on track as fast as possible and prone to errors (either messing up the fuel calc or the driver crashing while distracted doing it. ) Because there is no way to programmatically “set” a constant in the system, any attempts to automate this are going to be really painful because you can’t reference the “remaining fuel” value when calculating your tank size because then your tank size would be constantly changing as fuel is subsequently burned down.

It would be really nice if there were switch button channels defined like the “reset virtual tank” button which would let us direct modify the “calculated remaining fuel” value up and down. For instance, we use 5 gal dump cans so I would have a +5 gal button, a -1 gal button (just in case) and then also the fuel reset button for when we do a complete fill. But everyone would want to adjust the button values to their own needs/can sizes.

@Jan_Matlag_ECUMASTER thanks, this makes sense.

@Ratbert the driver would not need to do any math. All they need to do is set the volume of fuel going in the car (or find another way to set that volume)

You just build a formula, Fuel Tank Size Channel = adu.vft.remainingFuel + Fuel Added (set by rotary, or telemetry)

Alternately if you have a calibrated fuel sender that works well when the car is flat/level ie, exiting pits, you could make Fuel Tank Size Channel = Fuel Sender value.

Yeah, I can see ways to make it work, I just need to divorce myself from the “virtual fuel tank size” label and treat it as a “next fuel level” channel. Then build the fixed physical size into the display and calculations, never directly referencing the virtual size as an input into anything.

This is such a great feature. I am super happy!

Looking to advance this to my next step. I have the ability to send a number, from the pits to the car that will ultimately be sent via Canbus as a seperate Bit per digit. These would be sent as the HEX/ASCII value. IE. 30 = 0, 39 = 9. So example, I would send 13, this would be 31, 33, or 9 would be 39, 0.

I would want to then convert these Hex values back to a standard number that I could then use as a variable for addition in the Virtual Tank size.

What would be the best method do do this conversion? Then I’d want to reset that variable to the Max volume so any subsequent fill would be a full fill unless the variable was set via this number transmission.