VW Scanner - портативный сканер для VAG небольшой отчетец

  • Автор темы Pasha@VR6
  • Дата начала
  • Ответы 348
  • Просмотры 225К
Cyber_RAT написал(а):
в исходниках 1 частотой связи стоит 10472 а не 9600 а вот пишет что 9600... а 23 - что соответствуе 9600 вообще нету, это глюк исходников или они не соответствуют готовой прошивке?

К сожалению, исходники не соответсвуют прошивке.
Самое неприятное (как я писал) в исходнике недоделана часть парсинга телеграммы, в прошивке она гораздо полнее.

Исходник, например, не захотел работать (точнее, нет нормальной инициализации дисплея или вывода на дисплей) при такой инициализации SP
;==== bad stack init begin
; ldi tmp, low(RAMEND) ; Setup stack
; out SPL, tmp
; ldi tmp, high(RAMEND)
; out SPH, tmp
;==== old stack init end

(при том, что в "8515def.inc" прописано
.equ RAMEND = 0x025f ),

но нормально работает при такой инициализации стека:
;==========================================
ldi tmp,$5F
out SPL,tmp
ldi tmp,$2
out SPH,tmp
;==========================================
o_O

С учетом того, что ассеблер я "читаю и перевожу со словарем" (ну, может быть лишь на чуть-чуть свободнее), я с содроганием готовлюсь к почти построчному сравнению функций парсинга в исходнике и в прошивке. Конечно, правильнее было бы овладеть мудростью идеологии парсинга телеграммы, но, боюсь что "не осилю, патамушта стихи"... :unsure:
 
Но (если я правильно понял идею) где-то в EEPROM MCU или во внешней EEPROM надо разместить для первого случая 20 заголовков к данным, а для второго - 36.
Тогда в начале должна идти разметочная таблица:
"количество ECU"/"адрес начала описания ECU 1"/.../"адрес начала начала описания ECU N"
Каждое описание ECU имеет структуру:
"Запросный ID ECU"/"Длина описания ECU"/"Описание ECU"/"Длина номера p/n"/"p/n"/"количество блоков"/"запросный ID блока 1"/"адрес метаданных блока 1"/.../"запросный ID блока M"/"адрес метаданных блока M"/
Каждый блок метаданных имеет структуру:
"Адрес метаданных поля 1"/"Длина метаданных поля 1"/..."Адрес метаданных поля 4"/"Длина метаданных поля 4"
"Метаданные поля 1"/.../"Метаданные поля 4"

Все поля, кроме "Описание ECU" (Двиг., АКПП, АБС и т.п.), "p/n" и собственно полей метаданных имеют фиксированную длину.

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

Ну, надергать данные из ELSA и вбить их в какую-то структуру (MS Excel?) - надо иметь ELSA, умение с ней работать и читать на ненашем языке с хорошим инженерным уровнем.

Ну а как происходит дело с VAG-COM, если не сидишь и не ждешь пока на голову вдруг свалится lbl файл ? Точно так.

Подготовить такой блок данных (по тому, что вбито в какой-то структуре) - нужна программа. Надо быть хотя бы средней руки программером на дельфях или чем-то подобном.

Согласен

Написать софт для MCU, который будет сам вс себя заливать ЭТО с расстановкой актуальных адресов,

Этого можно на стороне MCU и не делать, а сделать это (аллокировать все элементы, установить все относительные смещения (ссылки), размеры) на стороне компа, хоть на VB и потом весь такой BLOB передать в девайс для записи по любому адресу в EEPROM и последующего разгребания.

а потом искать/парсить - это надо быть КРУУУТЫМ эмбеддером и большим энтузиастом.

Прыгать по offsets не так сложно как выглядит. Особенно если структура данных заточена под последующий поиск.

Конечно, правильнее было бы овладеть мудростью идеологии парсинга телеграммы, но, боюсь что "не осилю, патамушта стихи"... 

Что еще за “мудрость идеологии парсинга телеграммы” ? Как создавать запросы и интерпретировать ответы KW1281 ? Так это ж как 2*6. В MonoComm.cpp ведь все расписано на C, что, наверное, даже более лаконично, чем на русском.
 
Hounddog написал(а):
Что еще за “мудрость идеологии парсинга телеграммы” ? Как создавать запросы и интерпретировать ответы KW1281 ?

Я имел в виду преобразование поля данных, которое имеет в телеграмме переменную длину/формат, к читабельному виду.

Так это ж как 2*6. В MonoComm.cpp ведь все расписано на C, что, наверное, даже более лаконично, чем на русском.
:unknw: Не знаком. Что такое MonoComm.cpp, где взять, что почитать, как пользоваться?
 
Что такое MonoComm.cpp, где взять, что почитать, как пользоваться?

MonoComm.cpp это файл из иходников MonoScan которые можно скачать
 
Hounddog написал(а):
MonoComm.cpp это файл из иходников MonoScan которые можно скачать

Откуда можно скачать? Гугль ни то, ни другое не находит... :unknw:
 
Скачал v.13b. Смотрю исходники.
Ощущаю себя как таракан, залезший в будильник - вокруг все мощно, круто и непонятно. :confused:

Но знакомые буквы есть - будем смотреть дальше...
 
Cделал 5 скоростей 10400(10472), 9600, 4800, 2400, 1200...
Добавил АБС в меню выбора блоков (проверить соединится ли она хотя бы), но пока нету железа испытать все это (в протеусе все показывает, мигает и подмигивает :lol2: )... (чуть изменил схему, но в прошивке там пару мест всего поменялось.... изменю под старую схему и выложу на проверку)... и еще сделал корректную инициализацию LCD как производитель хочет :)

Просьба тем кто это дело юзал и юзал немало - описать все глюки что встречались с данным девайсом...


p.s. есть мысль набросать на каком нибудь 51 контроллере эмулято ЭБУ для проверки и в протеус его тож запихать...)
 
Типа того, только интересен такой эмуль, чтобы он скорости мог изменять от 1200 до 10400... да и этот покупать нужно... или я чего-то недопонял :unknw:
 
Cyber_RAT написал(а):
Cделал 5 скоростей 10400(10472), 9600, 4800, 2400, 1200...
Добавил АБС в меню выбора блоков (проверить соединится ли она хотя бы), но пока нету железа испытать все это (в протеусе все показывает, мигает и подмигивает :lol2: )... (чуть изменил схему, но в прошивке там пару мест всего поменялось.... изменю под старую схему и выложу на проверку)... и еще сделал корректную инициализацию LCD как производитель хочет :)

Просьба тем кто это дело юзал и юзал немало - описать все глюки что встречались с данным девайсом...


p.s. есть мысль набросать на каком нибудь 51 контроллере эмулято ЭБУ для проверки и в протеус его тож запихать...)

Вот это споры поднялись :rolleyes:
Нда главный глю в прошиве который мешает работать устройству это висяк, виснет по прохождению не более 5мин, или дать газ практически до отсечки тож самое, виснет наглухо ,НО бывает и сам отвисает через некоторое время, очень редко, и програма скидывается к выбору модуля двигателя или трансмисии, если есть прошива под эту схему готов обкатать девайс собраный лежит прошивка нужна!
Только просьба не пинать СИЛЬНО! Т.к. у меня кварца нету на такую частоту стоит у меня щас 3.59мГц на нем конектится ,а на 4мГц ваще не хочет, скорость соединения для моих мозгов 4800 бит, не может виснуть из-за другого кварца? Кто что говорит!

ТО EagleB3: А ты на дачу не по кивухе ездиешь? Готов встретится и купить у тебя кварц! :) :love:

И это самое я дуб дубом в програмировании не надо на меня кричать, я просто высказал мнение что хорошобы былобы доделать яж не понимаю всех програмных тонкостей! :love:
И еще РАЗ ноут это хорошо а когда в машине встроен это другое, особенно в дороге! :love:
 
Vaxa20 написал(а):
ТО EagleB3: А ты на дачу не по кивухе ездиешь? Готов встретится и купить у тебя кварц! :) :love:

По ней, родимой...

Вот что бы тебе написать в четверг? В субботу (завтра) уже с кварцем был бы.
Теперь до следующей субботы.
Мои координаты - в P.M.

Или ежели вдруг сам в Москву заедешь - магазин, где они есть, в 10-ти минутах езды от пересечения МКАД и Киевского шоссе.
Но работает только в будни.
 
Только просьба не пинать СИЛЬНО! Т.к. у меня кварца нету на такую частоту стоит у меня щас 3.59мГц на нем конектится ,а на 4мГц ваще не хочет, скорость соединения для моих мозгов 4800 бит, не может виснуть из-за другого кварца? Кто что говорит!

Виснуть может еще как... кварцем стабилизируется скорость UART и задержки для 7 бодовой посылки...
поэтому периодически и сбрасывается на выбор модуля (в программе если теряется коннект - именна туда ведут все пути)

вопрос: хотелось бы вам видеть в данном сканере зачатки бортового компьютера? (тахометр, напряжение на аккумуляторе, пройденный путь, расход (может быть)) ?
стоит за это браться и двигаться еще и в этом направлении? (места в контроллере еще 3 кб - можно много запихать :) но само собой необходимо еще провод на форсунку и на датчик с коробки)
 
Вольтметр просто супер!!!! :love: :love: :love: т.к. его нет в пасате вообще, тахометр относительно(но это я говорю так потомучто он у меня есть а на В3 не навсех он есть им нужен), т.к. нужен при точной настройке, чего либо, тоже не помешает! Я всеми руками за ,я вот подумывал вольтметр отдельно поставить, на счет бортовика я думаю при образовании 5 класов и дружбе с физикой 2 провода протянуть не сложно, на моей машине механический спидометр, но у меня датчик холла стоит внутри приборки можно сигнал с него взять(контакт 7) или на крайняк продаются проходные датчики, на трос! Можно его поставить цена вопроса с металической сердцивиной 200р с пластиком100р :) :) :)
Продаются в южном порту как мне сказали!

ЗЫ тока тебя ждет подводный камень в отображении скорости, т.к. все датчи имет разное количество импульсов на 1 оборот, как это впрос решать?
 
в контроллере 512 байт еепром :) коэффициент пересчета для себя кнопочками подогнать и всех делов, а вот насчет того что ВСЕ датчики разное колличество импульсов выдают - мне не верится...
p.s. ну да ладно - это в перспективе...
p.p.s. только что допаял сканер с индикатором от NOKIA-3410. завтра буду писать прошивку под него.
 
Vaxa20 написал(а):
главный глю в прошиве который мешает работать устройству это висяк, виснет по прохождению не более 5мин, или дать газ практически до отсечки тож самое, виснет наглухо

В процессе работы по доводке сканера Cyber_RAT нашел место, отжирающее память. Возможно, этот глюк вылечился. По крайней мере я этотглюк последний раз наблюдал уже очень давно. Вчера, например, по дороге домой проехался с подключенным сканером (последняя версия прошивки; поставил отображение блока данных #1 с двигателя и больше не трогал ни одну кнопку). За 50 минут поездки - не завис...

Правда до отсечки я движок не раскручивал.

Хорошо бы поточнее отловить условия прявления этого глюка.
 
Cyber_RAT написал(а):
в контроллере 512 байт еепром :) коэффициент пересчета для себя кнопочками подогнать и всех делов, а вот насчет того что ВСЕ датчики разное колличество импульсов выдают - мне не верится...

На тему коэффициента: если считать расход (нормально, в л/км, а не в л/час), то без знания пробега все равно не обойтись. А это только с коэффициентом, учитывающим диаметр резины. Так что заморочки с вводом коэффициента потребуются по любому.

А насчет того, что все датчики разные - КМК, нет. Во всяком случае не более разные, чем приборки, а еще точнее - уж наверняка не более разные, чем имеющийся у VAG асортимент главных пар КПП. К числу которой (КМК же) видимо и следует привязать этот коэффициент.
 
Cyber_RAT написал(а):
в контроллере 512 байт еепром :) коэффициент пересчета для себя кнопочками подогнать и всех делов, а вот насчет того что ВСЕ датчики разное колличество импульсов выдают - мне не верится...
p.s. ну да ладно - это в перспективе...
p.p.s. только что допаял сканер с индикатором от NOKIA-3410. завтра буду писать прошивку под него.

Прошивы скачал! :clapping: Сегодня постараюсь обязательно покатать и отписаться! :)

А от телефона не маленький дисплей будет??? мне кажется будет плохо на нем видно? В смысле что маленький дисплей!

Cyber_RAT как сделаешь можешь фоткнуть как будет отображаться интерестно, вообще мне кажется лучше использовать графический дисплей типа 64Х128 или что нибудь подобное но стоимоть таких диплеев значительно выше, если 2Х16 стоит 250-300Р то графический начиная от 450р, но это так для спарвки, если сканер будет стоищем то можно и дисплей купить дорогой! :)
 
Обновление прошивки:
теперь при обрыве связи на дисплей выводится:
"connection lost. press any key.."
(в архиве прошивки для кварцев на 4 и на 3.6864 мегагерц).

p.s. Атмегу8535 так просто не поставить :( (этим я сейчас маюсь), у нее и по другим адресам вектора прерываний и еще пачка нюансов впридачу.
 
Очередное мелкое обновление:
1.Cleanup кода.
2.при сбое связи в режиме чтения ошибок или измерений не очищался стек... (исправлено)

В архиве прошивки на 3.6864 и 4 мгц:
тут был УРЛ на первую на сегодня версию - уже не актуален


2-е изменение на сегодня - найдена ошибка при обрыве связи в блоке измерения: теперь сканер не виснет, а более правильнее сказать, не пишет во вторую страницу видеопамяти контроллера (невидимую для глаз 8) )



p.s. у кого есть возможность померять осцилом сигналы на К линии и на входе rxd txd контроллера и сфоткать (если цифровой то записать) осцилограммы?
 
Назад
Сверху Снизу