cedricp / ddt4all

OBD tool
GNU General Public License v3.0
1.2k stars 235 forks source link

specific car model scan doesn't seem to work if not a trigram #1291

Closed cleb40 closed 3 weeks ago

cleb40 commented 3 weeks ago

Discussed in https://github.com/cedricp/ddt4all/discussions/1289

Originally posted by **cleb40** November 5, 2024 car : renault megane 2 phase 2 ( french ) , OS : debian 12 , python : 3.12.2 , OBD2 : vgate vlinker MC+, ddt4all : 3.0.2 ( git clone )
Hello, i already noticed that before in demo mode , but if i filter the ECU i want to scan by car model ( like X84 or X84Ph2 ) the scan only lauch for trigrams , per say : X84 will work while X84Ph2 not, i tried different models in demo mode, and it was the same (dummy data only shows with trigrams ). Though i noticed , my car ecus ( some ) shows up with a X84 scan because they can be included in multiples project as i could verify in the ecu/db.json
Is this the intended behavior ?
Update : after a bit of hacking , i found out that it is due to these line in ecu.py : projname = proj[0:3].upper() used when parsing database either ecu/*json or ecu.zip or xml files , so it appears 3 times in the code. as of now appears at lines :
for json files : 1238 for ecu.zip : 1282 for xml files : 1344
if i change it with for exemple : `projname = proj[0:18].upper()` the dummy scan works
though i don't know the impact, so i will wait for an answer here before trying with my car.
Furtif commented 3 weeks ago

reopen https://github.com/cedricp/ddt4all/discussions/1289