VDOeditor2. Micronas

Думаю что большинству из тех, кто работает с VDO приборными панелями VAG, хорошо известен то факт, что в 35 платформе использовались решения не только на базе NEC850, но и на базе Micronas Securised 3217G. Такие панели с внешним EEPROM объемом 4096 байт в большинстве своем ставились в Audi, чуть реже в VW и, на сколько мне известно, не применялись в Skoda.

Ранние версии VDOeditor 1 понимали такие дампы, но изменить ничего было нельзя. Поэтому поддержка Micronas не была реализована и вскоре полностью удалена.

Но все меняется и, очень похоже, что VDOeditor2 (VDOe2) получит поддержку дампов панелей на базе Micronas, включая полюбившуюся многим функцию замены и конвертации шкал, благодаря Antony из Électrovag.

Некоторое время назад на форуме появилась ветка на тему “Как на счет Audi A3 White/Red clusters?” На тот момент я мог ответить одним словом: никак. На руках нет ни дампов, ни панелей: одним словом нет ничего. В таких условиях сложно говорить о какой-либо реализации. Обсуждение можно было заканчивать.

Но обсуждение получило продолжение: был предоставлен дамп и смещение карты спидометра (пусть и не очень точное, но это не важно). И каково же было мое удивление, когда с минимальными модификациями в VDOe2 этот дамп был загружен и даже обработан в рендере шкал (не обращаем внимания на артефакты вроде контрольной точки).

Дамп Micronas в VDOe2
 Дамп Micronas в VDOe2

Начало хорошее, но для полноценного решения нужно знать алгоритм пересчета контрольной суммы и ее адрес. Без корректной суммы после загрузки исправленного дампа вы увидите сообщение об ошибке: DEF.

Ошибка целостности Micronas
 Ошибка целостности Micronas

Значит надо искать адрес и алгоритм. И тут была главная проблема: на одном дампе без тестовой панели далеко не уедешь. А панели у меня не было. Конечно, при наличии свободного времени можно и на базе одного дампа найти нужное, но мне, например, не хотелось бы тратить время на подобный вариант поиска.

Скорее всего, это обсуждение так бы и заглохло, если примерно в это же время ко мне не обратился Anthony со схожим же вопросом о поддержке Micronas в VDOe2. Однако, у него были весомые аргументы в виде структурированной коллекции дампов, желание и возможность протестировать промежуточные результаты.

Чтобы найти нужное пришлось написать временный  дополнительный код для VDOe2, который для начала сформировал обобщенную карту дампов EEPROM, а потом рассчитал  статистику распределения.

Карта выглядела примерно следующем образом:

Карта EEPROM Micronas
 Карта EEPROM Micronas

Байты 0x00 расположены по адресам, где потенциально может находится контрольная сумма. Байты 0xFF обозначают адреса, в которых контрольная сумма находится точно НЕ может.

После получения карты, все что осталось сформировать статистику, используя карту. Результат полученной таким образом статистики был более чем очевидным =) 

Распределение статистики
 Распределение статистики

Не представляю сколько времени могло бы потребоваться, чтобы проверить все варианты, если бы не было этой статистики. А так, все что мне оставалось этот попросить Anthony исправить байт по адресу, который набрал 42 совпадения. На рабочем дампе такая модификация, очевидно, должна дать DEF.

Просим Anthony поменять байт и бинго, заветный DEF!

DEF после изменения байта чексуммы
 DEF после изменения байта контрольной суммы

Ну и финальный тест. Берем дам от 8J0920930A со шкалой 300 км/ч.

Дамп 8J0920930A в VDOe2
 Дамп 8J0920930A в VDOe2
Шкала 300 кмч в панели 8J0920930A
 Шкала 300 кмч в панели 8J0920930A

И импортируем в этот дамп другую шкалу, благо это операция в VDOe2 требует всего пары кликов мышкой. Я брал в прямом смысле первую попавшуюся, это оказалась шкала в 160мч из дампа от 8P0920983G.

Импорт из дампа 8P0920983G
 Импорт из дампа 8P0920983G
Дамп 8J0920930A со шкалой от 8P0920983G
 Дамп 8J0920930A со шкалой от 8P0920983G

Опять просим проверить результат и вуаля. Все работает. Ошибка отсутствует.

Проверка дампа с измененной шкалой
 Проверка дампа с измененной шкалой

Вот таким образом, удалось найти решения для простой замены и конвертации шкал для панелей приборов на базе Micronas. В ближайшее время, все наработки, полученные в результате этих экспериментов будут реализованы в VDOeditor 2. База EEPROM также получит соответствующие обновление и поддержку дампов Micronas.

В завершении этой статьи, я хотел бы еще раз поблагодарить Anthony за помощь в решении этой задачи. Без его участия поддержка Micronas никогда бы не была реализована. 

Оставайтесь с нами. Надеюсь, что дальше будет не менее интересно…

VDOeditor2. Работа со шкалами

Лучше один раз увидеть, чем сто раз услышать

Пожалуй, одно из принципиальных отличий второй версии VDOeditor – это редактор шкал. При его реализации я постарался учесть все ваши пожелания и, надеюсь, это небольшое видео даст наглядное представление об основных изменениях.

Основные изменения в этой части программы:

  • правка данных в сыром режиме с наглядным отображением результата;
  • импорт данных из встроенной базы;
  • удалено бесполезное представление в виде графиков;
  • увеличена область рендера (минимальный размер теперь 340х340 px).

Конечно, сохранены все ранее доступные возможности:

  • импорт данных из файлов дампов EEPROM;
  • конвертация шкал спидометров.

Ваши пожелания всегда приветствуются. Их можно оставить на нашем форуме или написать мне на почту.

Про блоги и хостинги

Некоторое время назад я планово перенес все свои сервисы на новый сервер. Большинству пользователей видны только два из них: сайт osoTEC.com и блог skodapilot.com. На самом деле, сервисов чуть больше, есть ряд вспомогательных и именно один из них  требовал небольшого расширения. Все сервисы ни разу ненагруженные, но иногда там могут возникать кратковременные ресурсоемкие задачи. Те кто уже использовал мои программы знают, что я пишу под Windows и, вполне естественно, что мои серверные приложения тоже рассчитаны под эту операционную систему.
От нового сервера, который, естественно, обходится чуть дороже, я ожидал большей производительности и снижения времени ответа для всех сервисов.  На практике, все оказывается сложнее и интереснее, чем кажется в самом начале.

Достаточно давно работу всех сервисов я контролирую с помощью сервиса Pingdom. Отличный инструмент не только для мониторинга, но и для анализа, поэтому давайте посмотрим на статистику, которую он подготовил.

Время реакции сайта osoTEC.com за февраль
 Время реакции сайта osoTEC.com за февраль

Комментарии, как говорится излишни, момент перехода более чем понятен. Так же очевиден выигрыш во времени ответа: сервер нового хостинг провайдера явно менее загружен, поэтому он отвечает в два раза быстрее предыдущего. Задача выполнена, улучшение в работе сервисов достигнуто.

Оставалось перенести блог. Блог у меня на движке WordPress, поэтому для его работы нужен PHP и mySQL. Признаюсь, я не видел никаких причин для беспокойства касательно их работы под IIS10. В общем, ожидая увидеть, если не двукратное, то хоть сколько-нибудь существенное снижение времени реакции сервера, я перенес и блог…

Время реакции блога skodapilot.com за февраль
 Время реакции блога skodapilot.com за февраль

Кхм, да, разница не такая очевидная как выше, сервер стал отвечать быстрее и можно себя утешить, что 4 секунды, лучше чем 6 секунд. Но этот не тот результат, который мне хотелось получить на новом сервере.

Кроме этого, после переезда я получил ряд трудно диагностируемых проблем с работой плагинов WordPress. Стало очевидно, что новый сервер, работающий под управлением последнего IIS10 оказался хорошей площадкой для моих сервисов, написанных под связку .Net/MS SQL, но посредственной для работы моего блога, требующего PHP/mySQL. 

Потратив весь остаток февраля на поиск и устранение проблем в работе блога, я понял что лучший вариант, это прекратить мучить техподдержку как хостинг провайдера, так и разработчиков плагинов. Они не виноваты 🙂  Разумный выход виделся только один: разрубить Гордиев узел и перенести блог на Unix сервер. Единственный критерием при выборе стала цена: не более ~5$ в месяц…

И такой сервер нашелся достаточно быстро на HostAdvice. 1 марта я в очередной раз перенес блог. С момента переезда прошло уже больше 48 часов и набрана статистика. Смотрим результат…

Сравнение реакции на shared серверах Unix и IIS10
 Сравнение реакции на shared серверах Unix и IIS10

Да, вы все правильно понимаете: 0.3 секунды.

Вот более подробная статистика за последние 24 часа.

Время реакции блога skodapilot.com за 24H
 Время реакции блога skodapilot.com за 24H

Просто блестящий результат! В итоге, сюда же перенес форум, что, в свою очередь, позволило перейти на более простой тарифный план на Windows хостинге. Скептики, которые не верят статичным картинкам, могут воспользоваться этим инструментом и проверить все еще раз самостоятельно.

Имя провайдера – SiteGround.

Если вы ищете Unix хостинг для мало или средне нагруженных сайтов за разумные деньги, то настоятельно рекомендую присмотреться к этим ребятам. 

Когда дешево не значит сердито

Увлечение радиоуправляемыми моделями и радиоэлектроникой тянет за собой необходимость периодически что-то паять: разъемы на аккумуляторах, микросхемы, провода… Конечно, такая необходимость возникает у меня не часто, но она возникает. Очевидно, что паять можно и старым добрым паяльником времен СССР с медным жалом (ничего против не имею), но все-таки приятнее держать в руках современный инструмент. С хорошим инструментом дело спорится.

На работе в моем распоряжении есть станция Goot RX-802AS. Отличная станция в случае, когда необходимость в пайке возникает не часто. Однако, одно дело получать что-то за счет работодателя и совсем другое дело, покупка за свой счет. Тратить 250$+ на возможность раз в месяц паять с комфортом желания нет. Именно поэтому прочитав огромное количество отзывов в Интернете остановил свой выбор на паяльной станции на базе микроконтроллера STM32 под жала T12.

На самом деле, выбор паяльной станции под T12 просто огромен, поэтому, признаюсь перед тем как сделать заказ я потратил несколько вечеров на поиск идеального для себя варианта. В итоге остановился вот на таком наборе для самостоятельной сборки от компании KSGER.

Паяльная станция KSGER T12
Паяльная станция KSGER T12

Почему я выбрал именно этот вариант?

Первое, полный комплект всех необходимых деталей из коробки, включая провода, и 5 жал на выбор. Единственное, что пришлось добавить из “своих” запасов это немного термоусадки, флюс и припой. Выбор жал большой плюс, так как можно заранее выбрать именно те жала, которые нужны. Так как я практически не занимаюсь пайкой микросхем с шагом менее 0.25 и SMD компонентов в корпусе 0603 и менее, то я выбирал из крупных и средних жал:

  • DL32;
  • K;
  • BC2;
  • D52;
  • BCF1.

Второе, ручка FX9501 в комплекте. Большинство подобных наборов по-умолчанию  комплектуются менее удобной, на мой взгляд, ручкой 900 серии. Но я уже привык к небольшому выносу жала на рабочей станции Goot, поэтому выбирал ручку с небольшим выносом. Надо признать, что в этом я не ошибся и по выносу жала FX9051 (нижняя) практически идентична ручке от Goot RX802AS (верхняя).

Сравнение ручки Goot RX802AS и FX9051
Сравнение ручки Goot RX802AS и FX9051

Третье, это алюминиевый корпус и продуманный вариант размещения блока питания внутри корпуса. Размеры печатной платы блок питания подобраны таким образом, что блок питания просто вставляется в направляющие внутри. Никаких стяжек, липучек или креплений под углом на пару винтов. Просто и надежно.

Четвертое, цена в 75USD.

В общем, к покупке рекомендую. Своих денег однозначно стоит.

SGOeditor online. Часть 4. Работа над ошибками

Друзья, в очередной раз приветствую на страницах своего блога! Давно я здесь ничего не писал. Некоторые из Вас уже успели заметить, что кроме отсутствия новостей в блоге, в последнее время нет обновлений для ранее выпущенных программ. Конечно, у такой паузы были свои причины. Вернее, даже несколько причин. Но сейчас я расскажу только об одной, а именно о рефакторинге кода и редизайне, упоминавшегося ранее проекта онлайн конвертора файлов SGO, с одноименным названием SGOeditor.

Несмотря на то, что тестирование пилотной версии проходило в достаточно узком кругу, нам удалось определить целый ряд моментов, которые требовали доработки и улучшения. В результате, интерфейс был переписан, политики переопределены и внесен целый ряд исправлений в основной код…

Continue reading “SGOeditor online. Часть 4. Работа над ошибками”

Электроника ИМ02

I’m back in the USSR
You don’t know how lucky you are, boy
Back in the USSR

The Beatles

Некоторое время назад меня попросили помочь с поиском электронной игры “Электроника ИМ-02”, также известную как “Ну, погоди”.  Да, да, ту самую, которая для многих из нас была самым желанным подарком в детстве. Условие было только одно: игра обязательно должна была быть выпущена до 1990 г.

В настоящее время на рынке существует большое количество китайский копий и найти на рынке по разумной цене аутентичный экземпляр в хорошем состоянии задача непростая…

Continue reading “Электроника ИМ02”

Прошивка с отображением скорости круиз-контроля на MaxiDot. Skoda

Все проверки закончены, поэтому, если для кого-то из владельцев Skoda с двигателем CDAB с блоком 3T0907115F с версии ПО 0030 и H18, данная модификация представляет интерес, то у Вас теперь есть возможность воспользоваться полностью готовым решением в виде SGO файла. Файл может быть загружен в ЭБУ двигателя с помощью программного обеспечения, поддерживающего работу со стандартными SGO файлами, например, ODIS E или VAG CAN PROFESSIONAL.

Continue reading “Прошивка с отображением скорости круиз-контроля на MaxiDot. Skoda”

Отображение скорости круиз-контроля на MaxiDot. Skoda

Итак, самое время представить продолжение темы про активацию отображения скорости круиз-контроля на панели приборов MaxiDot. Если в прошлый раз, активация была произведена на достаточно редком Seat Freetrack 2.0TSI, то сегодня речь пойдет про “народный” вариант в виде Skoda Octavia A5FL с двигателем 1.8TSI. Очевидно, что решение без проблем может быть портировано на любой другой автомобиль с двигателем CDAB, например, Skoda Yeti.

Continue reading “Отображение скорости круиз-контроля на MaxiDot. Skoda”

Отображение скорости круиз-контроля на MaxiDot. Seat

Вчера принимал непосредственное участие в процессе активации вывода информации об установленной скорости криуз-контроля на дисплей MaxiDot. В очередной раз не перестаешь удивляться силе и особенностям маркетинга, т.к. понять логику, объясняющую то, что на том же VW Tiguan 2.0TSI или Skoda Octavia A5 FL 1.4TSI такой функционал доступен с завода, а на Seat Freetrack 2.0TSI или Skoda Octavia A5 FL 1.8TSI нет, у меня не получается.

Так сложилось, что почти всю неделю блог был недоступен, поэтому Олег меня немного опередил и разместил соответствующую запись ещё вчера, но, учитывая интерес пользователей к этой теме, добавлю немного деталей.

Continue reading “Отображение скорости круиз-контроля на MaxiDot. Seat”

SGOeditor. Online. Часть 3.

Очень давно ничего не писал  блоге на тему, хоть немного связанную с кодированием VAG, поэтому немного разбавлю молчание и после продолжительного перерыва подниму тему работы с SGO файликами. В этот раз утилита получалась не совсем обычная, т.к. скачивать и устанавливать ничего не надо: SGOeditor Online работает прямо в браузере…

Continue reading “SGOeditor. Online. Часть 3.”