Сканматик 3 помогите подружить с mancats 2

  • Автор темы Автор темы Shumadan
  • Дата начала Дата начала
[1] не будет никто эти пункты нажимать, а их количество со временем вырастет до [2] "чёрт ногу сломит в настройках" (и это мы тоже проходили). Именно по этим причинам конфигуратор пасстру выглядит так лаконично, а не потому мне лень туда добавлять галки.

Давайте просто начнём с того, что Mancats2 изначально был заточен под работу только одним определенным J2534 адаптером, там кроме ERR_TIMEOUT еще есть масса моментов, его разрабы стандарт читали "по диагонали". Это и есть КОРЕНЬ проблемы. И вот как раз всё ЭТО исправляется галкой "Интеграция Mancats2" у нас.
.
Нет, они его не по диагонали читали. На тот момент небыло второй редакции стандарта. Большая часть из "vendor specific" появилась во второй редакции. Все, что там было не по стандарту - это только один параметр протокола ISO15765. Я же занимался адаптацией MAN Cats 2 к Сканматику. Я сделал подмену этого id параметра, но оно и без этого прекрасно работало, так как разработчики MC2 сильно полагались на параметры по умолчанию их устройства, которые частично совпали с таковыми у Сканматика. Сам MC2 мало что вообще использует из возможностей устройства и мало что настраивает. Столкнетесь вы еще и с проблемой шлюзования через блок PTM, когда ваши тайминги iso15765 заданные по умолчанию не подойдут, а mc2 их просто не настраивает.
 
По диагонали. Вызывать два раза PassThruConnect(CAN) не закрыв старый канал (закономерно получая отлуп) это по стандарту? Показать где это происходит?... впрочем. Возьми они несколько устройств J2534 для тестов - большинство проблем было решено на начальном этапе. Но ругать из за это не вижу повода - у них не стояло задачи сделать совместимость ни с чем кроме одного единственного.

Давайте Вы лучше займётесь своим делом, а я своим. Все аргументы я Вам привёл, всё подробно расписал.
 
По диагонали. Вызывать два раза PassThruConnect(CAN) не закрыв старый канал (закономерно получая отлуп) это по стандарту? Показать где это происходит?... впрочем. Давайте Вы лучше займётесь своим делом, а я своим. Все аргументы я Вам привёл, всё подробно расписал.
Там таких багов полно (вызов PasstruConnect два раза и прочее), когда в результате предыдущих операций был получен неожиданный результат. ERR_TIMEOUT - один из таких. Возвращаешь правильный ответ (ERR_FAILED) и он выполняет PassthruDisconnect после всех трех попыток. Поверьте, я это все еще год назад прошёл и со всем этим разобрался за один вечер.
 
Там таких багов полно (вызов PasstruConnect два раза и прочее), когда в результате предыдущих операций был получен неожиданный результат. ERR_TIMEOUT - один из таких. Возвращаешь правильный ответ (ERR_FAILED) и он выполняет PassthruDisconnect после всех трех попыток. Поверьте, я это все год назад прошёл и со всем этим разобрался за один вечер.
Вот и отлично, Вы - молодец.

P.S. PassThruConnect вызывается два раза в определенных местах, и это не относиться к ошибке ERR_TIMEOUT. Будет интересно - я Вам покажу этот момент, если на то будет время.
 
Вот и отлично, Вы - молодец.

P.S. PassThruConnect вызывается два раза в определенных местах, и это не относиться к ошибке ERR_TIMEOUT. Будет интересно - я Вам покажу этот момент, если на то будет время.
Я и сказал, что это err_timeout - это один из моментов. Он просто наиболее заметный, так как из-за этого не работала диагностика EDC17, не работал поиск блоков, были моменты при замене FFR, да и при любом отсутствии ответа на к-линии вместо сообщения "блок управления не обнаружен", была ошибка "неустранимый программный сбой". А при поиске блоков, PassrhruDisconnect никогда не вызывалась, и MC2 каждый раз открывал новый канал, не закрывая предыдущий. Возврат верного ответа все исправил. Так что разбирайтесь с тем, что вы ему возвращали ранее. Адаптация к MC2 - это хороший повод задуматься над нестандартными костылями.

Ладно, я все. Просто в своём проекте в faq напишу "Поддержка $adaptername не гарантируется из-за неполного соответствия спецификации j2534. Используйте на свой страх и риск."
 
Последнее редактирование:
Я не имею привычки говорить кому что и как надо делать, и предпочитаю в спорах слышать другую сторону. Все аргументы "почему" и как Вам были озвучены.

P.S. Если бы с вашими "проэктами" все было так хорошо, и не было других проблем, на которые стоило бы обратить внимание (выбор адаптера, отвалы при диагностике, перепиновка, контроль зажигания... могу еще перечислить), то нас бы не просили сделать "нормальную поддержку" Mancats2. А форумы бы не были завалены темами, подобной этой.
 
Вот и отлично, так и сделайте.
Тогда это будет не моей головной болью, а вашей. Разрабатываемый софт очень востребован и тоже связан с грузовиками MAN. МАНов полно, а решений по ним на рынке мало, а хороших решений еще меньше.
 
Время покажет, когда Ваш проект найдёт ощутимое кол-во пользователей. А пока я только слышу про какой то "проэкт", коих я насчитал очень много: начинается всё бодро, учат "как надо", а потом это всё забрысвается, а пользователям остается только писать и писать на форумах "кто как решил проблему". Всё повторяется из года в год по кругу, меняются только действующие лица.
 
Последнее редактирование:
P.S. Если бы с вашими "проэктами" все было так хорошо...
Раз уж захотелось поговорить и наших "проектах".
Мой проект тоже относится к автомобилям MAN, но там только параметрирование, прошивка и адаптация неподходящих блоков, восстановление конфигурации автомобиля при потере VDF, образование пары и прочее. ПО подобного рода востребовано и очень сильно востребовано. Структура проекта сложная, декларативное описание блоков, их параметров и протоколов. Во всем коде проекта максимально все абстрагировано. Там даже стек протокола собирается динамически. В проекте нет никаких костылей, вроде ffr.dll, ecas.dll, ebs.dll, edc17.dll и прочей захардкоженной фигни. Все описано декларативно в базах по принципам ODX. Какой канал использовать, какой протокол второго уровння, какой третьего, в каких lid брать иденты, какие сессии поддерживаются, как пройти авторизацию в сессии и прочее. Если что-то нужно хардкодить (к примеру, работу через J2534 или алгоритмы авторизации в блоке или один из уровней протокола), то это все становится загружаемыми модулями, загрузку и использование которых тоже можно прописать декларативно.
Уровень проекта совершенно иной. Обратите внимание, что даже в старом MAN Cats 2 хардкода минимум и он весь в модулях.
Потому пожалуйста, не гребите всех под одну гребенку, называя их труд "проектами". У Вас тоже косяков хватает. Неверные соглашения о вызовах некоторых функций для sm3 в первых релизах, которые каким-то образом прошли тестирование (если оно вообще было) и попали в релиз. Это то, что я могу вспомнить. Тот же err_timeout, который по сути является костылем. Не хочу дальше продолжать и устраивать публичные перепалки.
 
За "пять лет", которые Вы сами обозначили и такую "сумасшедшую сложность", которую Вы тут сейчас описали, почему то никто не потрудился сделать выбор адаптера "по человечески" в своих "решениях" и не додумался привязывать другой адаптер методом, отличным от редактирования пути в TMVCI.DLL и её подменой (дичь), хотя ответ на это лежит на поверхности в реестре... не буду касаться ваших остальных решений, может они и правда такие гениальные как Вы расписывайте. Но есть проблема: СМ пользуют несколько тысяч человек ежедневно и это видно по активности тех же пользователей на форумах, а про ваши "проэкты" кроме ваших слов информации НОЛЬ. Где можно ознакомиться с ним? С какими адаптерами работает идеально? С какими машинами? Где купить? Какова поддержка? Вот когда будут ответы на эти вопросы, а потом я отвечу какие у нас там где вызовы, какое мы тестирование проводим и на чём. А то какой то разговор в одни ворота получается.

Учить "как надо правильно" начали именно Вы, выводить в публичную плоскость обсуждение - тоже Вы. Так что, как говорится: "замутили разговор - отвечайте".
 
За "пять лет", которые Вы сами обозначили и такую "сумасшедшую сложность", которую Вы тут сейчас описали, почему то никто не потрудился сделать выбор адаптера "по человечески" в своих "решениях" и не додумался привязывать другой адаптер методом, отличным от редактирования пути в TMVCI.DLL и её подменой (дичь), хотя ответ на это лежит на поверхности в реестре... не буду касаться ваших остальных решений, может они и правда такие гениальные как Вы расписывайте. Но есть проблема: СМ пользуют несколько тысяч человек ежедневно и это видно по активности тех же пользователей на форумах, а про ваши "проэкты" кроме ваших слов информации НОЛЬ. Где можно ознакомиться с ним? С какими адаптерами работает идеально? С какими машинами? Где купить? Какова поддержка? Вот когда будут ответы на эти вопросы, а потом я отвечу какие у нас там где вызовы, какое мы тестирование проводим и на чём. А то какой то разговор в одни ворота получается.

Учить "как надо правильно" начали именно Вы, выводить в публичную плоскость обсуждение - тоже Вы. Так что, как говорится: "замутили разговор - отвечайте".
Все, о чем вы тут пишете - это не мое решение. Это решение других людей, которым все пользовались и мучались. А мое во вложении. Работает даже с китайскими адаптерами, sm3 и другими адаптерами. Это первый релиз, но этого для нормальной работы достаточно. По желанию можно заменить старую tmvci32.dll, можно положить в другом месте и прописать в реестре. Конфигуратор и селектор под нее писали другие люди, потому выкладывать их не буду. Ее целью был удобный реверс протоколов, а не решение по Сканматику.
Может быть в будущем оно перерастет в универсальную прокси-библиотеку для решения различных проблем с совместимостью софта и адаптеров, но это если будут запросы на такое.
 

Вложения

You must be registered for see attachments list
Последнее редактирование:
Я надеюсь, не помножил Ваши труды на ноль, выложив решение? А то ведь теперь ваша фича уже не является киллер-фичей, которая побудила бы обладателей клонов покупать оригинал.
 
Посмотрел. Можете мне ответить на вопросы:
- Вы видели хоть одного диагноста, который знает, будет разбираться как писать на языке Lua?
- А почему в списке всего пять адаптеров?
- Почему жестко указаны пути "C:\\Program Files\\Scanmatik\\"?
- Вы уверены, что пользователь установил именно в эту папку?
- Вы читали в J2534 как правильно определять пути DLL из реестра (уверен, что читали, раз говорите про "строгое следование стандарту J2534")?
- Почему тогда не реализовали?

Может тогда с себя следует начать ему строго соответсвовать?

P.S. Вопросы все риторические, можно не отвечать.
 
Посмотрел. Можете мне ответить на вопрос: Вы видели хоть одного диагноста, который знает, будет разбираться как писать на языке Lua? А почему в списке всего пять адаптеров? Почему жестко указаны пути "C:\\Program Files\\Scanmatik\\"? Вы уверены, что пользователь установил именно в эту папку? Вы читали в J2534 как правильно определять пути DLL из реестра (уверен, что читали, раз говорите про "строгое требование стандарту J2534")? Может тогда с себя следует начать им строго ?
Я Вам уже сказал, что это не решение по Сканматику изначально. И удобные окошки со сканированием реестра написали другие люди, релизы которых я выкладывать не имею права.
И раз уж люди научились править путь в hex редакторе, то исправить его в блокноте будет гораздо проще.
 
Ну и резюмируя всю дискуссию.
MAN Cats 2 прекрасно работал с DPA, Dialink, Texa, Toyota VCI и другими. И работал криво только со Сканматиком.

Представитель Сканматика обосрал то решение, назвав его "кривым проектом", которым люди пользовались много лет.

Решение было сделано еще тогда, когда Сканматик не поддерживал J2534-2 (он это дополнение не поддерживал даже в версии 2.21.22, а решение делалось еще раньше), что заставило разработчиков того старого решения отсекать команды настройки пинов OBD и подменивать протокол.

Обосрали и мое решение, которым по факту люди довольны. Оно обходит костыли сканматика, которые они не хотят исправлять ради совместимости с каким-то древним ПО. Видимо потому что их проект оброс спагетти-кодом, который сопровождать становится крайне тяжело. Говоришь - добавьте настройку, отключение которой уберёт костыли, но тебе говорят "пользователь не будет ничего настраивать", хотя настройки у адаптера имеются.

Обсирать чужие решения не хорошо, когда у самих косяков хватает. А потом еще гордо заявляют, что героически починили MANCats и сделали самое "крутое решение". Я даже не представляю, сколько костылей они добавили, чтобы только не исправлять err_timeout.
 
1. Где я назвал ваше решение кривым проектом?

2. Сканматик поддерживал j2534-2 с момента выхода.

Дальнейшие ваши фантазии про спагетти код и тд… обсуждать не буду.
 
Назад
Верх Низ