yurick 0 17 августа, 2016 Опубликовано 17 августа, 2016 · Жалоба Собственно вот. Нашел этот ресурс и украл пару ссылок. Начну с предистории: собственно диагностикой занимаюсь уже более 10 лет, программированием больше, с переменным успехом. Тут зародилася мысля сделать свой диагностический комплекс, порыл инфу и начал делать. Скажу сразу - получается. Не всегда как надо, но процесс идет. Что я хочу от сей приблуды: 1. Проект будет коммерческим, но простейшие функции чтения-удаления ошибок, просмотра информации free. На данный момент, проект чисто интеллектуальный из раздела "я могу". Ни о какой коммерции я сейчас вопрос не ставлю. 2. Проект не будет привязан к шнурку. На данный момент программа работает с оборудованием по ISO22900. 3. Т.к. для работы с одним блоком иногда требуются разные шнурки для работы (вырвать ПИН, сделать сброс, перенести инфу из одного блока в другой, чтение FLASH EEPOM и т.д.), то хочу сделать все в одном месте. А чего это я тут расписался? Да просто так. Делаю в свободное время, вопросы по программированию, протоколам возникают постоянно. Кому задать эти вопросы - не знаю. Если тут кто есть, кто сможет ответить на них - приму любую помощь. А помощь надо. 3 месяца пилил протоколы, чтобы писать проект на C#. Из-за проблемм с маршалингом отказался. Сейчас переделал на MFC. То что сделал - работает. Пока реализовал iso14230. Дальше - больше. На данный момент проект работает с оборудованием GM MDI. Работу с мелкими шнурками, которые не поддерживают в полной мере ISO22900 работу вести не буду. Возможно потом добавлю J2534. Сейчас интересует вопрос по 14230 - чтение параметров. Принять пакет данных - принял. Где взять инфу о том, какие это данные и какие формулы нужны, чтобы привести их читабельный вид (напряжение батареи, кол-во оборотов и т.д.) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jorikdima 0 17 августа, 2016 Опубликовано 17 августа, 2016 · Жалоба 3 месяца пилил протоколы, чтобы писать проект на C#. Из-за проблемм с маршалингом отказался. Сейчас переделал на MFC. То что сделал - работает. Пока реализовал iso14230. Дальше - больше. :bb-offtopic: Не по теме, но вот это зря. Вы эксгумировали разложившийся труп. Для протоколов может и правда С# не лучший путь, но С++ без всяких MFC отработал бы как надо. Вся обработка протоколов в отдельной С++ длл. А вот весь ГУИ на C# (да или на чем угодно современном) с вызовом функций той самой длл. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexunder 4 17 августа, 2016 Опубликовано 17 августа, 2016 · Жалоба :bb-offtopic: Не по теме, но вот это зря. Вы эксгумировали разложившийся труп. Для протоколов может и правда С# не лучший путь, но С++ без всяких MFC отработал бы как надо. Вся обработка протоколов в отдельной С++ длл. А вот весь ГУИ на C# (да или на чем угодно современном) с вызовом функций той самой длл. Поддерживаю: mfc ради GUI изжила себя, хотя гарантированно работать будет даже под windows 2000, а если собрать в MSVS2005 то и в Windows 98SE, если кому-то интересна совместимость с этими динозаврами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yurick 0 18 августа, 2016 Опубликовано 18 августа, 2016 · Жалоба Фокус в том, что интерфейс работы с драйвером оборудования написан на С. И если писать изначально под шарпом, все функции вызываются прекрасно. Траблы начинаются при маршалинге параметров. Когда у тебя в параметрах указатель на структуру, в которой структура с указателями на массив структур, то маршалинг ломается как железный человек в последней части. А так, есть рабочая версия, которая там ошибки читает, но она рабочая. Надо пробовать как-то переделывать под шарп, не спорю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexunder 4 18 августа, 2016 Опубликовано 18 августа, 2016 · Жалоба Траблы начинаются при маршалинге параметров. Когда у тебя в параметрах указатель на структуру, в которой структура с указателями на массив структур, то маршалинг ломается как железный человек в последней части. Возможно, стоит изменить модель передаваемых данных? Год назад сталкивался с аналогичной задачей: сделать обертку как раз для сишной библиотеки (от клиента) для работы с их "железом", но передаваемые данные были проще организованы чем у Вас. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yurick 0 18 августа, 2016 Опубликовано 18 августа, 2016 · Жалоба С такими данными я бы изначально на шарпе сделал. У меня половина данных идет типа структура, в структуре uint определяет какой тип второго параметра. Второй параметр void*. А там может быть структура, массив структур, просто массив, просто число, структура структур в которых массив из структур. В довесок ко всему еще функция обратного вызова драйвера и работа на два потока по ISO. Кароч, сломал маршалинг, а остатками сломал мозг. Пока сделал так, на MFC есть рабочая обертка для драйвера. Можно отрабатывать алгоритмы работы со сканером и блоком управления. Сделал класс c++/cli обертку для драйвера, чтобы там применять эти алгоритмы. И на шарпе уже интерфейс будет. Из-под cli функции драйвера работают и маршалинг не ломается, но из-за проблем с отладкой я не вижу неуправляемую память, а там такие косяки вылазят, что пипец. Как-то так.... Но пока все получается и это радует. вообще, посмотрел на "родной" софт для этого сканера. А софт этот разрабатывал Бош. Так вот, я думал, что это у меня получается игла в утке, утка в зайце. А там вообще пипец. Софт сделанный Бошем для Мерседеса (XENTRY OPEN SHELL) это такой тихий ужас. Там программа - грибная солянка из С++, JAVA, .NET, вешается сервак Appache и все это написано под Eclipce. То же самое с VAG. Но самый лютый писец - это DiagBox от PSA. Потом узнал, что Бош для сторонних клиентов пишет программы от имени своей индийской дочки. Видел фотку - 200 сотрудников, все в чалмах. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexunder 4 18 августа, 2016 Опубликовано 18 августа, 2016 · Жалоба С diagbox работал - тихий ужас. Peugeot Planet ещё терпимо, но за диагбокс создателей нужно долго бить ногами по лицу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yurick 0 2 сентября, 2016 Опубликовано 2 сентября, 2016 · Жалоба Ну, все. Проблему маршалинга решил. Теперь все работает на чистом шарпе. у кого-нить есть таблица идентификаторов блоков управления Мерса? А то к Опелю коннект вижу, читаю, а к Мерсу нифига. Вроде как и тайминги и адресация должны быть одинаковые. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexunder 4 2 сентября, 2016 Опубликовано 2 сентября, 2016 · Жалоба Цитата(yurick @ Sep 2 2016, 08:03) <{POST_SNAPBACK}> Ну, все. Проблему маршалинга решил. Теперь все работает на чистом шарпе. у кого-нить есть таблица идентификаторов блоков управления Мерса? А то к Опелю коннект вижу, читаю, а к Мерсу нифига. Вроде как и тайминги и адресация должны быть одинаковые. Поздравляю. Поделитесь решением пожалуйста. По поводу таблиц, на форуме есть некто Vasily_, попробуйте узнать у него. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
os88 0 16 ноября, 2016 Опубликовано 16 ноября, 2016 · Жалоба Привет yurick! Какаю платформу (железо) планируешь использовать для своего сканера? Могу предложить мобильную платформу для твоего софта. Будет подключаться непосредственно к ГУ авто и работать как встроенный сканер. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
YanAlexandrov 0 7 сентября, 2017 Опубликовано 7 сентября, 2017 · Жалоба Добрый день. Есть какие-нибудь подвижки со сканером? Чем все закончилось? Наверно, пора в массы нести... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться