не осилил всё прочитать но вставлю свои 5 копеек
Ничего особо сложного в CAN нету, для каждой машины используются свои протоколы! НО это не значит, что если на двух разных машинах одинаковый протокол, то и показания будут одинаковые, это всеголишь протокол общения узлов агрегата, но никак не фиксированное значение! Тоесть если абстрактно в машине N по адресу 0x0CFE6CEE находится уровень топлива, это не значит что в машине M там тоже уровень топлива, плюсом сюда нависает то, что производитель по разному закладывает информацию на бит, это значит что даже если в двух разных машинах по одному и тому же адресу лежит например температура жидкости, то в одной машине приходится 0,05 градуса на бит, а в другой 0.5 градуса на бит. Такую информацию можно получить только у производителя, ну или погуглить примерно так "CAN-Interface 18 E0 27 19 scania" получим вот такой документ с хорошим разъяснением
В добавок, в одной машине бывают разные CAN шины, по которым гуляет разная инфа, например в OBD разъеме скорее всего CAN агригата, а вот если хорошо поискать то наверняка можно найти ещё 2 провода CAN но там уже гуляет инфа другого рода, типа статус кондиционера, опускание поднимание стекол, статус ремня безопасности, лампочек какие только есть в машине, открыты или закрыты двери и т.п.
Так что реверс инжиниринг тут тоже не всегда работает, например уровень топлива с приборки можно получить просто доливая в бак горючки и смотреть что изменится, а вот с пробегом скорее всего у вас не получится ибо там уже не 1 байт используется, и только в даташите написано сколько км приходится на 1 бит, и если не использовать этут поправку то вы будете получать полный бред и запредельные цифры