реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Пишу свой автомобильный сканер., Нужна инфа
yurick
сообщение Aug 17 2016, 05:00
Сообщение #1





Группа: Участник
Сообщений: 6
Регистрация: 17-08-16
Пользователь №: 92 981



Собственно вот. Нашел этот ресурс и украл пару ссылок. Начну с предистории:
собственно диагностикой занимаюсь уже более 10 лет, программированием больше, с переменным успехом. Тут зародилася мысля сделать свой диагностический комплекс, порыл инфу и начал делать. Скажу сразу - получается. Не всегда как надо, но процесс идет.

Что я хочу от сей приблуды:
1. Проект будет коммерческим, но простейшие функции чтения-удаления ошибок, просмотра информации free. На данный момент, проект чисто интеллектуальный из раздела "я могу". Ни о какой коммерции я сейчас вопрос не ставлю.
2. Проект не будет привязан к шнурку. На данный момент программа работает с оборудованием по ISO22900.
3. Т.к. для работы с одним блоком иногда требуются разные шнурки для работы (вырвать ПИН, сделать сброс, перенести инфу из одного блока в другой, чтение FLASH EEPOM и т.д.), то хочу сделать все в одном месте.


А чего это я тут расписался?
Да просто так. Делаю в свободное время, вопросы по программированию, протоколам возникают постоянно. Кому задать эти вопросы - не знаю. Если тут кто есть, кто сможет ответить на них - приму любую помощь.

А помощь надо.

3 месяца пилил протоколы, чтобы писать проект на C#. Из-за проблемм с маршалингом отказался. Сейчас переделал на MFC. То что сделал - работает. Пока реализовал iso14230. Дальше - больше.


На данный момент проект работает с оборудованием GM MDI. Работу с мелкими шнурками, которые не поддерживают в полной мере ISO22900 работу вести не буду. Возможно потом добавлю J2534.


Сейчас интересует вопрос по 14230 - чтение параметров. Принять пакет данных - принял. Где взять инфу о том, какие это данные и какие формулы нужны, чтобы привести их читабельный вид (напряжение батареи, кол-во оборотов и т.д.)
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Aug 17 2016, 20:56
Сообщение #2


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Цитата(yurick @ Aug 16 2016, 22:00) *
3 месяца пилил протоколы, чтобы писать проект на C#. Из-за проблемм с маршалингом отказался. Сейчас переделал на MFC. То что сделал - работает. Пока реализовал iso14230. Дальше - больше.

bb-offtopic.gif Не по теме, но вот это зря. Вы эксгумировали разложившийся труп. Для протоколов может и правда С# не лучший путь, но С++ без всяких MFC отработал бы как надо. Вся обработка протоколов в отдельной С++ длл. А вот весь ГУИ на C# (да или на чем угодно современном) с вызовом функций той самой длл.
Go to the top of the page
 
+Quote Post
alexunder
сообщение Aug 17 2016, 22:04
Сообщение #3


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(jorikdima @ Aug 17 2016, 22:56) *
bb-offtopic.gif Не по теме, но вот это зря. Вы эксгумировали разложившийся труп. Для протоколов может и правда С# не лучший путь, но С++ без всяких MFC отработал бы как надо. Вся обработка протоколов в отдельной С++ длл. А вот весь ГУИ на C# (да или на чем угодно современном) с вызовом функций той самой длл.

Поддерживаю: mfc ради GUI изжила себя, хотя гарантированно работать будет даже под windows 2000, а если собрать в MSVS2005 то и в Windows 98SE, если кому-то интересна совместимость с этими динозаврами.


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
yurick
сообщение Aug 18 2016, 04:27
Сообщение #4





Группа: Участник
Сообщений: 6
Регистрация: 17-08-16
Пользователь №: 92 981



Фокус в том, что интерфейс работы с драйвером оборудования написан на С. И если писать изначально под шарпом, все функции вызываются прекрасно. Траблы начинаются при маршалинге параметров. Когда у тебя в параметрах указатель на структуру, в которой структура с указателями на массив структур, то маршалинг ломается как железный человек в последней части.

А так, есть рабочая версия, которая там ошибки читает, но она рабочая. Надо пробовать как-то переделывать под шарп, не спорю.
Go to the top of the page
 
+Quote Post
alexunder
сообщение Aug 18 2016, 08:22
Сообщение #5


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(yurick @ Aug 18 2016, 06:27) *
Траблы начинаются при маршалинге параметров. Когда у тебя в параметрах указатель на структуру, в которой структура с указателями на массив структур, то маршалинг ломается как железный человек в последней части.

Возможно, стоит изменить модель передаваемых данных? Год назад сталкивался с аналогичной задачей: сделать обертку как раз для сишной библиотеки (от клиента) для работы с их "железом", но передаваемые данные были проще организованы чем у Вас.

Прикрепленный файл  Screen_Shot_08_18_16_at_10.12_AM.PNG ( 22.21 килобайт ) Кол-во скачиваний: 34



--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
yurick
сообщение Aug 18 2016, 12:10
Сообщение #6





Группа: Участник
Сообщений: 6
Регистрация: 17-08-16
Пользователь №: 92 981



С такими данными я бы изначально на шарпе сделал. У меня половина данных идет типа структура, в структуре uint определяет какой тип второго параметра. Второй параметр void*.

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

Пока сделал так, на MFC есть рабочая обертка для драйвера. Можно отрабатывать алгоритмы работы со сканером и блоком управления. Сделал класс c++/cli обертку для драйвера, чтобы там применять эти алгоритмы. И на шарпе уже интерфейс будет. Из-под cli функции драйвера работают и маршалинг не ломается, но из-за проблем с отладкой я не вижу неуправляемую память, а там такие косяки вылазят, что пипец.

Как-то так....

Но пока все получается и это радует.

вообще, посмотрел на "родной" софт для этого сканера. А софт этот разрабатывал Бош. Так вот, я думал, что это у меня получается игла в утке, утка в зайце. А там вообще пипец. Софт сделанный Бошем для Мерседеса (XENTRY OPEN SHELL) это такой тихий ужас. Там программа - грибная солянка из С++, JAVA, .NET, вешается сервак Appache и все это написано под Eclipce.
То же самое с VAG. Но самый лютый писец - это DiagBox от PSA.

Потом узнал, что Бош для сторонних клиентов пишет программы от имени своей индийской дочки. Видел фотку - 200 сотрудников, все в чалмах.
Go to the top of the page
 
+Quote Post
alexunder
сообщение Aug 18 2016, 14:12
Сообщение #7


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



С diagbox работал - тихий ужас. Peugeot Planet ещё терпимо, но за диагбокс создателей нужно долго бить ногами по лицу.


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
yurick
сообщение Sep 2 2016, 06:03
Сообщение #8





Группа: Участник
Сообщений: 6
Регистрация: 17-08-16
Пользователь №: 92 981



Ну, все. Проблему маршалинга решил. Теперь все работает на чистом шарпе.

у кого-нить есть таблица идентификаторов блоков управления Мерса?

А то к Опелю коннект вижу, читаю, а к Мерсу нифига. Вроде как и тайминги и адресация должны быть одинаковые.
Go to the top of the page
 
+Quote Post
alexunder
сообщение Sep 2 2016, 12:03
Сообщение #9


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(yurick @ Sep 2 2016, 08:03) *
Ну, все. Проблему маршалинга решил. Теперь все работает на чистом шарпе.

у кого-нить есть таблица идентификаторов блоков управления Мерса?

А то к Опелю коннект вижу, читаю, а к Мерсу нифига. Вроде как и тайминги и адресация должны быть одинаковые.

Поздравляю. Поделитесь решением пожалуйста.

По поводу таблиц, на форуме есть некто Vasily_, попробуйте узнать у него.


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
soa
сообщение Nov 16 2016, 11:10
Сообщение #10





Группа: Новичок
Сообщений: 2
Регистрация: 3-07-06
Пользователь №: 18 535




Привет yurick!

Какаю платформу (железо) планируешь использовать для своего сканера?
Могу предложить мобильную платформу для твоего софта.
Будет подключаться непосредственно к ГУ авто и работать как встроенный сканер.
Go to the top of the page
 
+Quote Post
YanAlexandrov
сообщение Sep 7 2017, 14:54
Сообщение #11





Группа: Новичок
Сообщений: 1
Регистрация: 4-10-16
Из: Екатеринбург
Пользователь №: 93 588



Добрый день. Есть какие-нибудь подвижки со сканером? Чем все закончилось? Наверно, пора в массы нести... biggrin.gif

Сообщение отредактировал YanAlexandrov - Sep 7 2017, 14:54


--------------------
Я бы мир изменил, но никто не дает исходников...
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th April 2024 - 20:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.01476 секунд с 7
ELECTRONIX ©2004-2016