И так что на сейчас получилось: лайвдата в терминал. Значения датчиков в вольтах и физических величинах, ошибки, режимные флаги двигателя (пуск, пониженные обороты, fuel trim, итоговые значения впрыска и УОЗ, а так же их базовые величины) , куча входных флагов (AC/AT, octanCorr и т.д.). Теперь дело за GUI с циферблатами и графиками. Ну и добавить возможность загружать в плис патчи. Т.к. на разных версиях ПО ЭБУ используются разные регистры, для одних и тех же значений. А так получится универсальней. Если уже знаешь на нужные регистры на новом эбу, то правишь два файла и все готово. Хз как скинуть сюда видео
Здесь нужно очень длинное пояснение. На блоках сильно после 95-го года уже бывает DCL, т.е. ЭБУ уже сам готовит лайвДату, и посылает её наружу, нужно только знать протокол DCL. Это под силу даже Ардуинке.
На старых блоках этого всего нет. Ни лайвдаты, ни uart передатчика. Есть просто прошивка которую исполняет ЭБУ. Входные значения датчиков, расчитанные величины и все остальное, хранится даже не в микросхеме памяти, а в самом процессоре, в его регистрах. И содержимое этих регистров наружу процессора не попадает. Шнурок на ПЛИС эмулирует микросхему памяти и заводскую отладочную консоль одновременно. В него помещается небольшой машинный код, который заставляет процессор самому отдать шнурку значения требуемых регистров. А так как адреса искомых регистров меняются в разных версиях прошивок ЭБУ, то и микрокод нужно писать разный.
К примеру берем платформу eec-iv vm100. На ней есть версии прошивок EA и CA, есть и другие. Так вот, ЕА и СА разные релизы одной и той же прошивки, одинаковые процентов на 95. Но из-за того что релизы разные, компилятор использовал разные номера регистров для переменных.
Так что, шнурок по сути предоставляет доступ к процессору. Но требуются два файла: микрокод и протокол парсера. А составить их можно декомпилировав прошивку очередного ЭБУ.р