Всім привіт!
Хочу поділитися своїм досвідом оновлення програмного забезпечення панелі приладів на нашому авто.
Перш за все, велике дякую одноклубнику @Queequeg за допомогу та консультації під час оновлення. Чесно кажучи, на початку я був у цій темі 'ні бе ні ме'.
Мета оновлення
Головною причиною було бажання отримати білі стрілки на панелі приладів. На мою думку, штатні сині виглядають досить застаріло і не дуже гармонійно.
Невдала спроба прошивки на столі
Першим ділом зняв панель та поніс до-дому. Хотілось зробити оновлення як то кажуть "на столі". Для цього придбав джерело живлення на 12В та зібрав піни с дротами для з'єднання.
Керувався цією схемою для OBD2
Та цією для самої панелі приладів
ForScan бачив панель як окремий модуль, але не міг нормально зчитати її дані. Найімовірніше, потрібно було якось емулятувати увімкнене запалення. Я навіть пробував відправляти відповідний біт по CAN-шині, але панель на це ніяк не реагувала.
На ці експерименти пішло приблизно пів дня, після чого я вирішив не витрачати більше часу та встановив панель назад в автомобіль. Ну я хоча би полірнув скрло приборки.
Прошивка в автомобілі
Для оновлення використав UCDS, оскільки через нього процедура проходить швидше. Прошивав безпосередньо в автомобілі при ввімкненому запалюванні.
Мій конфіг до оновлення:
Файли що я шив.
CAN-BUS: HS3
Результат
Сам процес оновлення займає близько 15 хвилин і супроводжується певною часткою хвилювання, але результат того вартий.
До оновлення панель виглядала так:
А після оновлення отримав саме те, що хотів — сучасні та акуратні білі стрілки.
Звуки від лінкольна
Для того щоб зробити звуки лінкольна треба правити EEPROM.
Про це я дізнався знову ж з поста https://driver.top/exp/708357/
Для активації білих стрілок необхідно змінити байт за зміщенням 0x128.
Було:
C8 = 11001000
Стало:
DC = 11011100
За відображення білих стрілок відповідає 6-й біт.
При цьому також змінюється 4-й біт, який відповідає за відображення позначень температури та рівня пального:
Втім, на цій кастомній прошивці немає різниці, змінювати 4-й біт чи ні — у будь-якому випадку відображатимуться C/H та E/F.
Після внесення змін необхідно обов'язково перерахувати контрольну суму EEPROM. Контрольна сума розраховується для області даних до зміщення 0x158.
Якщо цього не зробити, панель приладів може визначити EEPROM як пошкоджений і, найімовірніше, не працюватиме коректно.
Для роботи використовував:
Контрольну суму коригував в одному з перших байтів зі значенням FF.
UPD: після оновлення перестало працювати розпізнавання дорожних знаків але це питання я вже вирішив то розповім про це у наступному дописі.
Не бійтесь експерементів 😬