uholeschak / ediabaslib

.NET BMW and VAG Ediabas interpreter library
GNU General Public License v3.0
680 stars 158 forks source link

Additive trim(short term fuel trim) and rough running values incorrect on N42B20A engine(ME9K_NG4.prg) #106

Closed GyurkanM closed 3 years ago

GyurkanM commented 3 years ago

I have submitted trace from thepcmaniacc@gmail.com yesterday, as you can see STATUS_GEMISCH is read 3000 which is impossible value. The job used by inpa is STAT_ADD_WERT, but when I choose it from prg and read it again it is read 3000 which is still incorrect value, so I suppose there is bug in EdiabasLib. Rough running values should be read from STATUS_MOTORLAUFUNRUHE, but in BMW database it is from STATUS_LAUFUNRUHE which is wrong , shows implausible values 0-180, but its ok when I select from the prg file STATUS_MOTORLAUFUNRUHE job. I append xml files generated with xtract.exe from the ME9K_NG4.prg for your reference, and the decompiled IPO file which is used by INPA also, as I think it can be of use to you. files.zip

uholeschak commented 3 years ago

Could you test it with tool32 and and compare the results of EdiabasLib and Ediabas output? I expect more that this as problem in the .prg file.

GyurkanM commented 3 years ago

Yes have done that, when using Ediabas STAT_ADD_WERT is read correctly, with EdiabasLib the value is incorrect no matter if it is read on DeepOBD or Tools32/Inpa/Ista on PC. What files will be of use to you so you can understand what is going on? Thanks!

uholeschak commented 3 years ago

At least I have found your app trace files. Do you also have api and ifh traces from tool32 (both cases?)

GyurkanM commented 3 years ago

No at the moment, will generate traces for the both cases, thanks!

GyurkanM commented 3 years ago

Hi, I have generated api/ifh traces with both tool32/inpa for ediabas and ediabaslib and attach them traces.zip .

uholeschak commented 3 years ago

Thanks, which value I have to check? There is no STAT_ADD_WERT in the api traces.

GyurkanM commented 3 years ago

STATUS_GEMISCH in this case, eg shows same results as STAT_ADD_WERT, on ediabas it reads on line 15184 as " [ REAL ] STAT_RKAT_WERT = -7.968733E-001", but on ediabaslib as "apiResultText('STAT_RKAT_WERT', 1, '') =True ('3.071431E+003')" on line 652

uholeschak commented 3 years ago

The result STAT_RKAT_WERT?

GyurkanM commented 3 years ago

Yes, updated the comment above

uholeschak commented 3 years ago

Thanks, I will check that when I have some time.

uholeschak commented 3 years ago

Thanks, it should be fixed now, it was a sign extension problem for values with length of 1 and 2 bytes. Api32.zip

GyurkanM commented 3 years ago

Thanks for your efforts! Can I somehow fix this in the DeepObd app without waiting for the next update of the app?

uholeschak commented 3 years ago

No I could create a beta in the next days.

uholeschak commented 3 years ago

Here is a beta version: https://play.google.com/apps/testing/de.holeschak.bmw_deep_obd