DUDU-Meng fluctuations depend on the car and what information is being passed via obd or canbus.
I connected my obd service command to my diy canbox decoder and fed to Dudu. My car is Renault Clio III.
- fuel level is calculated by instrument panel which takes the level from the fuel tank resistor.
- instrument panel shows fuel level stable as it remembers the last reading before car is off and smoothes the values even if the car is on uneven ground and fuel level fluctuates
- when I have the obd session opened each car start, instrument panel resets its memory and doesn't remember the previous fuel level, the result was each time I started the car, fuel level on DUDU was slightly different, depending on how even was the ground the car was sitting on but during driving the fuel level stayed without fluctuations.
So, I guess, some cars - fuel levels on OBD:
- either are measured constantly and values sent instantly without smoothing and memory (like you noticed going up and down), this seems to be the case in most cars, it's just continuous value of the resistor in the tank translated into fuel level,
- or, are established during crank, and stay relatively stable until next crank (like my car).
I stopped using the obd way to grab the fuel level, and, as I have custom canbox, I connected one input of the esp32 as ADC directly to the fuel level resistor via high impedance buffer, and esp32 does all the processing including memory of the last level before car was off and does all long term smoothing.
If you are going to remove this functionality for now, please let me know, I will stop refining the algorithm, because I won't see fuel level in Dudu obviously if it's removed!
Thanks.