Почистил я у себя ошибки. Ниже опишу как, может кому пригодится.
1. Дело было не в адаптере. У меня их два и оба изначально "как бы работали", то есть иногда начинали видеть мотоцикл и считывать блоки через ista/d, а иногда нет ))
Сброс ошибок при этом не работал, жаловался на то, что не видит зажигание. Тут на форуме да и вообще в интернете пишут, что можно взять патченную либу obd.dll для
edaibas, которая будет передавать в использующие ее приложения, что у вас всегда хорошее напряжение на батарее и включено зажигание. Я ее поставил, но проблему со сбросом ошибок это не решило, ista/d все так же ругалась на зажигание (пробовал на версии 4.16).
2. Работа адаптеров починилась установкой свежей версией драйверов. Причем важно, чтобы стояли свежие дрейвера для VCP (Virtual Com Port) и для USB to Serial. В моем случае у меня отличались версии драйверов для VCP и USB2Serial, видимо проблема с нестабильной работой адптеров была в этом. Я обновил драйвера до свежей версии с сайта
https://www.ftdichip.com/Drivers/VCP.htm 2.12.28 и оба адаптера стали работать стабильно.
3. ISTA/D при этом по-прежнему отказывается автоматически идентифицировать мотоцикл, ругается на что-то про разность региональных настроек, каждый раз приходиться указывать VIN руками, после чего блоки читаются, из них можно считывать диагностически параметры и ошибки, но вот стереть никак, ругается на зажигание, хотя edaibas у меня патченный. Справедливости ради я не провел тест на версии 3.47.10, как предлагал ferrum (после того, как решил проблему с драйверами), это еще попробую позже, видимо на следующих выходных.
4. Ну и самое главное, как чистить ошибки или как их еще называют DTC (Diagnostic Trouble Codes)
Для этого можно использовать
tool32, который есть в составе
edaibas. Качаем SP_DATEN для мотоциклов, раскладываем *.prg и *.grp файлы в папку ecu в
ediabas и запускаем
tool32, который по сути позволяет выполнять любые процедуры с блоками. Собственно подсмотрев в логах ista/d определил, что для моей конфигурации стоит смотреть на следующие файлы ECU:
DME -- mrbmskp2.prg
KOMBI -- mrkomb71.prg
DWA --mrdwa.prg
ZFE -- mrzfeb.prg
ABS -- mrabs1.prg
Дальше все просто, открываете блок, вызываете для него процедуру
initialisierung, после этого процедуру
fs_lessen, чтобы считать ошибки и
fs_loeschen, чтобы почистить. И все прекрасно работает без контроля зажигания!
Можно так же посмотреть детали ошибки процедурой
fs_lessen_detail, передав в качестве параметра код интересующей ошибки в шестнадцатеричном формате.
В итоге я потер у себя все старые ошибки, осталось только две активных.
Ну и немного картинок на примере блока ABS.
Считываем ошибки:
Посмотреть вложение 87934
Чистим:
Посмотреть вложение 87935
Проверяем:
Посмотреть вложение 87936
Если кому-то интересны детали, спрашивайте, распишу подробней.