Страница 1 из 5 1 2 3 ... ПоследняяПоследняя
Показано с 1 по 30 из 144

Тема: Проект: доступный Tech2 - каждому астраводу

  1. Монстр астраколхозинга Заслуженный флудер CoDeMasteR Астранафт Аватар для CoDeMasteR
    Регистрация
    17.01.2008
    Адрес
    Москва ЗАО
    Сообщений
    6,358
    Спасибо
    88 / 2
     0реlац т0й

    Проект: доступный Tech2 - каждому астраводу

    Стандарт найден

    Для обще-клубно-полезного-дела, а именно для проекта "софтверный TECH2 за $100 каждому Астроводу" ищется стандарт:

    ISO 22900-2
    Road vehicles -- Modular vehicle communication interface (MVCI) -- Part 2: Diagnostic protocol data unit application programming interface (D-PDU API)
    Может кто работает со стандартами, и может подсобить в доставание этого чудесного PDF-ника за вменяемые деньги (не за 9000р как хотят на сайте ISO).

  2. Местный Гигант мысли Mex@niK на верном пути Аватар для Mex@niK
    Регистрация
    08.02.2007
    Адрес
    Ландон
    Сообщений
    16,067
    Спасибо
    2 / 0
    CoDeMasteR
    Вообще то хотят 309фунтов, у офф. дилеров может быть такая пдфка???
    Букет цветов-3000рублей по карте MasterCard,пузырь шампанского -2000 рублей по карте MasterCard, презики -500рублей по карте MasterCard, Жарка-БЕСЦЕННО!!! Для всего остального есть MasterCard.

  3. Местный Магистр АСТРАномии -Vic- Астранафт
    Регистрация
    16.05.2008
    Адрес
    С.-Петербург
    Сообщений
    3,809
    Спасибо
    15 / 0
    Не фунтов, а шведских крон.

    Иллюстрации

    Opel 320dX


  4. Местный Астравод cosmonavt на верном пути Аватар для cosmonavt
    Регистрация
    25.01.2009
    Адрес
    Moscow
    Возраст
    39
    Сообщений
    121
    Спасибо
    0 / 0
    Вот здесь его можно почитать:
    http://www.docin.com/p-58282063.html#

    Сам сайт на китайском, но текст на английском
    Скачать как я понял тоже можно, стоит это 2 йены
    Как эти йены туда запихнуть - вот это уже вопрос

    Audi A4 B8 2.0 TFSI

  5. Местный Заслуженный Астравод Locust на верном пути Аватар для Locust
    Регистрация
    20.03.2009
    Адрес
    ВАО Предупреждений: сто500
    Сообщений
    671
    Спасибо
    0 / 0
    В правом верхнем углу плеера кнопка "домик с табуреткой" во весь экран делает.
    Если надо - могу в pdf перегнать весь документ с того плеера.
    АПД. Вру - на 100 странице ругаеццо и не дает дальше читать.
    Enjoy 1.6 5D MT. аццтойные рамки.
    мотоциклисты как вампиры-в зеркалах не отражаются (с)
    Ненавижу мотоциклистов!
    32см в холодной воде

  6. Монстр астраколхозинга Заслуженный флудер CoDeMasteR Астранафт Аватар для CoDeMasteR
    Регистрация
    17.01.2008
    Адрес
    Москва ЗАО
    Сообщений
    6,358
    Спасибо
    88 / 2
     0реlац т0й
    cosmonavt
    сенькью вери матч

    Locust
    ну хотя бы 100стр сделай, нужная инфа туда попадает

  7. Местный Заслуженный Астравод Locust на верном пути Аватар для Locust
    Регистрация
    20.03.2009
    Адрес
    ВАО Предупреждений: сто500
    Сообщений
    671
    Спасибо
    0 / 0
    Продублирую тут. CoDeMasteR скинь свой мыл.
    Enjoy 1.6 5D MT. аццтойные рамки.
    мотоциклисты как вампиры-в зеркалах не отражаются (с)
    Ненавижу мотоциклистов!
    32см в холодной воде

  8. Местный Заслуженный Астравод Yevgeny на верном пути Аватар для Yevgeny
    Регистрация
    29.12.2006
    Адрес
    Саров - Москва
    Сообщений
    683
    Спасибо
    0 / 0
    хм, а я все 334 страницы посмотреть смог :/

  9. Местный Заслуженный Астравод Locust на верном пути Аватар для Locust
    Регистрация
    20.03.2009
    Адрес
    ВАО Предупреждений: сто500
    Сообщений
    671
    Спасибо
    0 / 0
    Yevgeny
    Ага, я тоже
    Enjoy 1.6 5D MT. аццтойные рамки.
    мотоциклисты как вампиры-в зеркалах не отражаются (с)
    Ненавижу мотоциклистов!
    32см в холодной воде

  10. Местный Заслуженный Астравод sN.Alexis на верном пути
    Регистрация
    07.03.2010
    Адрес
    Санкт-Петербург
    Сообщений
    939
    Спасибо
    4 / 2
    На всякий случай, продублирую файлик: http://narod.ru/disk/24160937000/ISO%2022900-2(2009-02).pdf.html
    Вдруг кому-то ещё понадобится.

    Странно, когда ссылку запихиваю в тег URL, то сообщение становится пустым... В общем, ссылку придётся скопировать просто.

  11. Местный Бакалавр АСТРАномии AleXRE скоро станет знаменитостью
    Регистрация
    01.07.2010
    Адрес
    Зеленоград
    Возраст
    42
    Сообщений
    1,321
    Спасибо
    14 / 0
    А может взять MDI и ковырять его на предмет взаимодействия с прогой? На сколько я понимаю, эмуляция процессора TECH2 реализована програмно в MDI, а сам адаптер служит некоторым связующим звеном, причем низкого уровня. Посмотреть что там за пакеты сыпятся по USB и что вылетает по CAN проблем, я думаю, нет. Где взять на время MDI я знаю.

  12. Монстр астраколхозинга Заслуженный флудер CoDeMasteR Астранафт Аватар для CoDeMasteR
    Регистрация
    17.01.2008
    Адрес
    Москва ЗАО
    Сообщений
    6,358
    Спасибо
    88 / 2
     0реlац т0й
    Цитата Сообщение от AleXRE
    На сколько я понимаю, эмуляция процессора TECH2 реализована програмно в MDI
    не правильно понимаешь. Есть оригинальный симулятор Tech2 на ПК, называется Tech2Win. Он работает даже без MDI: загружает карту, делает self-test Tech2. MDI - это только адаптер шин CAN для ПК.
    Tech2Win использует D-PDU API для доступа к шинам автомобиля, есть оригинальная GM-овская реализация этого API через MDI и его Connection Manager.
    Вся эта сложная система MDI нужна только для организации доступа с одного рабочего места диагноста ко всем машинам. Что бы диагност GM не отрывал свой зад от теплого места

    Нам эта мега функция не актуальна, думаю всех устроит просто проводной адаптер между ноутом и машиной (~1-2м от ноута до диагностического разъема).

  13. Местный Бакалавр АСТРАномии AleXRE скоро станет знаменитостью
    Регистрация
    01.07.2010
    Адрес
    Зеленоград
    Возраст
    42
    Сообщений
    1,321
    Спасибо
    14 / 0
    Ну я это и имел ввиду, просто не корректно выразился, сорри. Tech2Win и MDI щупал уже у дяди Ромы. Можно по крайней мере хотя бы глянуть что там шатается по USB на предмет сэмулировать это дело на ATMege или еще чем-нибудь.

  14. Местный Бакалавр АСТРАномии AleXRE скоро станет знаменитостью
    Регистрация
    01.07.2010
    Адрес
    Зеленоград
    Возраст
    42
    Сообщений
    1,321
    Спасибо
    14 / 0
    Я отобрал MDI у дяди Ромы (на время). Распотрошил. Внутри обнаружил бутерброд из двух плат. нижняя, видимо, интерфейсная. Из "мозгов" там стоит Altera Cyclone II. На верхней плате стоит через соответствующие разъемы CF WiFi, SD 512MB и через разъем mini PCI (по-моему) процессорная плата с SDRAM, FLASH и злющим процессором PXA270. Повторять "в лоб" такое не целесообразно, ценник на выходе будет дааалеко за 100$. На днях попробую посмотреть какие данные шатаются по USB при диагностике.

  15. Монстр астраколхозинга Заслуженный флудер CoDeMasteR Астранафт Аватар для CoDeMasteR
    Регистрация
    17.01.2008
    Адрес
    Москва ЗАО
    Сообщений
    6,358
    Спасибо
    88 / 2
     0реlац т0й
    Цитата Сообщение от AleXRE
    у дяди Ромы
    У него один из первых MDI, он его купил когда народ еще не просек фишку и ценник был адекватен


    Цитата Сообщение от AleXRE
    Повторять "в лоб" такое не целесообразно
    так я про это и говорил, повторять не только не целесообразно, но и слишком сложно.

    Цитата Сообщение от AleXRE
    На днях попробую посмотреть какие данные шатаются по USB при диагностике
    может проще снять трафик с подключения MDI по сетке?

    Вчера вкурил примерно треть стандарта ISO, похоже что DLL с реализацией D-PDU API - идеальное место для перехвата трафика, пакеты там идут в чистом виде, без обертки, прям как надо для CAN-шины.
    Следующий этап - написать DLL-заглушку и положить вместо GM-овской, слить инфу об используемых вызовах и на ее базе думать как переделать эту заглушку для использования самодельного USB-3xCAN адаптера.

  16. Местный Бакалавр АСТРАномии AleXRE скоро станет знаменитостью
    Регистрация
    01.07.2010
    Адрес
    Зеленоград
    Возраст
    42
    Сообщений
    1,321
    Спасибо
    14 / 0
    Да дядя Рома вообще человек предусмотрительный. Сколько лет с ним работаю...
    Ну мне проще USB проснифить, хотя можно и по сетке, а потом еще сравнить.
    У нас с дядей Ромой сложилось мнение что вышеуказанный стандарт относится к новым машинам (инсигниям, джейкам), а эмуляция тех2 идет каким-то своим стандартом, хотя мож и не так.
    К сожалению, не работал раньше с CAN-ом, поэтому не знаю как должны выглядеть пакеты. И проснифить CAN мне пока нечем. Есть пример диагностического пакета?
    Про DLL-ку мы тоже думали и этот пдф-ник у меня, оказывается, давно валялся, просто забыл я про него. Надо глянуть где проще сэмулировать.

  17. Местный Бакалавр АСТРАномии AleXRE скоро станет знаменитостью
    Регистрация
    01.07.2010
    Адрес
    Зеленоград
    Возраст
    42
    Сообщений
    1,321
    Спасибо
    14 / 0
    Сегодня установил GlobalTIS, активировал TECH2Win. MDI устанавливается как USB сетевая карта, т.е. далее буду исследовать сетевой трафик.
    Очень хотелось бы видеть пример диагностического CAN запроса-ответа, чтобы было с чем сравнивать.

    И еще попутные проблемы...
    Пытался установить Tech2Win без GLobalTISа на другой комп. (Чтобы установить GLobalTIS нужен аппаратный ключ). Для активации требуется получить доступ к защищенной области из GlobalTIS. Для этой цели нами была написана маленькая прога MicroTIS (потом и девайс к Tech2 сделан). Так вот, доступ получает, но Tech2Win не активируется.

  18. Местный Бакалавр АСТРАномии AleXRE скоро станет знаменитостью
    Регистрация
    01.07.2010
    Адрес
    Зеленоград
    Возраст
    42
    Сообщений
    1,321
    Спасибо
    14 / 0
    Покопался я с TCP/IP пакетами, собрал свой адаптер CAN шины на AT90CAN128, написал прошивку под него. Написал MDI эмулятор и MDI client. Теперь могу перехватывать пакеты от Tech2Win к MDI, изменять их и отправлять обратно в MDI, перехватывать CAN пакеты из MDI. Вчера посидел, попробовал разобраться с форматом сообщений. Продвижения есть, но так и не понял где находится поле данных CAN запросов в TCP/IP пакетах.
    Пытаюсь подключиться к SDM (однопроводная шина)
    Есть вот такой пакет:

    Ident: 0x00000100 data: 00 55 55 55 55 55 55 55

    Что это может быть? Может это какой-то стандартный запрос?

  19. Монстр астраколхозинга Заслуженный флудер CoDeMasteR Астранафт Аватар для CoDeMasteR
    Регистрация
    17.01.2008
    Адрес
    Москва ЗАО
    Сообщений
    6,358
    Спасибо
    88 / 2
     0реlац т0й
    AleXRE

    CAN id=0x100 - это спец сообщение, которое выдается с целью разбудить шину. Данные значения не имеют, все равно спящий блок их пропустит мимо пока проснется.

    Тут вся фишка в лайн-драйвере однопроводного CAN: он врубается в wake-up режим и выдает биты с 12V уровнем вместо обычного. При этом сообщение никакой полезной инфы не передает, байты 0x55=01010101b нужны для формирования большого кол-ва горбов - CAN-контроллеры блоков по ним синхронизируют свои клоки и резко повышается стабильность шины.

  20. Местный Бакалавр АСТРАномии AleXRE скоро станет знаменитостью
    Регистрация
    01.07.2010
    Адрес
    Зеленоград
    Возраст
    42
    Сообщений
    1,321
    Спасибо
    14 / 0
    CoDeMasteR
    Спасибо, я так и думал. Буду дальше ковыряться.

  21. Местный Бакалавр АСТРАномии AleXRE скоро станет знаменитостью
    Регистрация
    01.07.2010
    Адрес
    Зеленоград
    Возраст
    42
    Сообщений
    1,321
    Спасибо
    14 / 0
    Вчера решил попробовать со стороны DLL. Покурив немного ISO PDF, написал DLL-вставку:

    Tech2Win->Моя DLL->ETAS-VCI.DLL
    ..................... |
    ......................V
    ..................dlllog.txt

    Ну MDI manager работать с ней отказался, и это понятно, так как не описаны функции VCI...... типа VCIAPIConstruct, но Tech2Win поидее должен работать.
    В моей DLL описал все 29 функций D-PDU + функцию CallBack и еще описал функции VCI ввиде:

    //файл main.cpp:
    #define EXTERNC extern "C" __export

    EXTERNC T_PDU_ERROR PDUConstruct(CHAR8* OptionStr, void *pAPITag)
    {
    T_PDU_ERROR res;
    write_log_line("PDUConstruct");
    if (I_PDUConstruct!=NULL)
    {
    showparam(OptionStr,0,"OptionStr");
    showparam(pAPITag,0,"pAPITag");
    res=I_PDUConstruct(OptionStr,pAPITag);
    showparam(&res,sizeof(res),"res");

    }
    else return PDU_ERR_FCT_FAILED;
    return res;


    }

    __________________________

    EXTERNC void VCIAPIConstruct()
    {
    write_log_line("VCIAPIConstruct");
    }

    // файл connectdll.h:
    HMODULE vcilib;

    vcilib=LoadLibraryA(path);
    __________________

    I_PDUConstruct=(T_PDUConstruct)GetProcAddress(vcil ib,"PDUConstruct");
    _____________________
    write_log_line("DLL imported");

    //файл DPDUfunc.h

    typedef T_PDU_ERROR (*T_PDUConstruct)(CHAR8* OptionStr, void *pAPITag);
    static T_PDUConstruct I_PDUConstruct=0;

    EXTERNC void VCIAPIConstruct()
    {
    write_log_line("VCIAPIConstruct");
    }

    функции showparam и write_log_line пишут в лог-файл:
    void write_log_line(String line);
    void showparam(void *param,int paramsize,String paramname);

    При попытке запуска Tech2Win он падает с "emulator.exe - обнаружена ошибка. Приложение будет закрыто. "
    При этом содержимое dlllog.txt

    24.09.2010 9:46:09:C:\Program Files\General Motors\Tech2Win\bin\emulator.exe
    24.09.2010 9:46:09LL imported
    24.09.2010 9:46:09:PDUConstruct
    OptionStr
    _____________
    pAPITag
    NULL
    _____________
    res
    00 /.
    _____________


    Из чего видно, что DLL нормально подгружается, функции импортируются, конструктор вызывается.
    Пытался вызвать конструктор из своего приложения. Все отлично вызывается и не падает. В чем трабла может выть? Писано на C++ Builder 6 (только на нем я могу писать на работе)

  22. Монстр астраколхозинга Заслуженный флудер CoDeMasteR Астранафт Аватар для CoDeMasteR
    Регистрация
    17.01.2008
    Адрес
    Москва ЗАО
    Сообщений
    6,358
    Спасибо
    88 / 2
     0реlац т0й
    AleXRE
    А можешь свой исходник под C++ Builder скинуть мне на почту? попробую разобраться что падает. Есть идея зарядить emulator.exe в IDA Pro и проследить место сваливания в ошибку.

  23. Местный Бакалавр АСТРАномии AleXRE скоро станет знаменитостью
    Регистрация
    01.07.2010
    Адрес
    Зеленоград
    Возраст
    42
    Сообщений
    1,321
    Спасибо
    14 / 0
    Сейчас закину

  24. Монстр астраколхозинга Заслуженный флудер CoDeMasteR Астранафт Аватар для CoDeMasteR
    Регистрация
    17.01.2008
    Адрес
    Москва ЗАО
    Сообщений
    6,358
    Спасибо
    88 / 2
     0реlац т0й
    Цитата Сообщение от AleXRE
    В чем трабла может выть?
    похоже дело в кривом calling convention

    Отписал тебе на мыло, а то тут у многих крышу сорвет на раз от таких подробностей... будем беречь психическое здоровье соклубникофф

  25. Местный Бакалавр АСТРАномии AleXRE скоро станет знаменитостью
    Регистрация
    01.07.2010
    Адрес
    Зеленоград
    Возраст
    42
    Сообщений
    1,321
    Спасибо
    14 / 0
    Прописал:
    #define EXTERNC extern "C" __export __stdcall
    Теперь T2W не падает, но и нормально не работает. Надпись CANdi module attached не появляется. В dlllog.txt только:

    24.09.2010 15:12:59:C:\Program Files\General Motors\Tech2Win\bin\emulator.exe
    24.09.2010 15:12:59LL imported
    24.09.2010 15:12:59:PDUConstruct
    OptionStr
    _____________
    pAPITag
    NULL
    _____________
    res
    00 /.
    _____________
    Получается, что кроме конструктора больше ничего не вызывает почему-то.

    Не понял куда добавлять DEF-файл.

  26. Монстр астраколхозинга Заслуженный флудер CoDeMasteR Астранафт Аватар для CoDeMasteR
    Регистрация
    17.01.2008
    Адрес
    Москва ЗАО
    Сообщений
    6,358
    Спасибо
    88 / 2
     0реlац т0й
    Цитата Сообщение от AleXRE
    Теперь T2W не падает, но и нормально не работает. Надпись CANdi module attached не появляется.
    Уже шаг вперед
    Теперь надо дебажить emulator.exe на оригинальной и подменной DLL, брейк выставить как раз на вызов конструктора из DLL.


    Цитата Сообщение от AleXRE
    Не понял куда добавлять DEF-файл.
    забей на него, он нужен только если __export убрать из кода

    Добавлено спустя 17 минут 46 секунд:

    Есть еще идейка: вместо функций-оберток извратится на ассемблере и сделать что-то типа:
    1. подменить стек на временный
    2. записать все параметры в log
    3. вернуть стек "как было"
    2. jmp на адрес в оригинальной DLL

    Тогда подменка никак не будет влиять на вызовы. Только результаты вызовов записать не будет возможности.

    Ты VCI* экспорты сносить не пробовал? без них не падает?

  27. Местный Бакалавр АСТРАномии AleXRE скоро станет знаменитостью
    Регистрация
    01.07.2010
    Адрес
    Зеленоград
    Возраст
    42
    Сообщений
    1,321
    Спасибо
    14 / 0
    Победил! во всем виновата была строчка:
    showparam(&res,sizeof(res),"res");

    я ее закомментил и все заработало. Появилась надпись "CANDi Module attached" и в dlllog насыпало функций на 3кила при запуске T2W

    Буду ковырять тогда эту функцию, что я там накосячил.

  28. Монстр астраколхозинга Заслуженный флудер CoDeMasteR Астранафт Аватар для CoDeMasteR
    Регистрация
    17.01.2008
    Адрес
    Москва ЗАО
    Сообщений
    6,358
    Спасибо
    88 / 2
     0реlац т0й
    Цитата Сообщение от AleXRE
    Победил!
    Поздравляю
    log можешь скинуть на мыло?

  29. Местный Бакалавр АСТРАномии AleXRE скоро станет знаменитостью
    Регистрация
    01.07.2010
    Адрес
    Зеленоград
    Возраст
    42
    Сообщений
    1,321
    Спасибо
    14 / 0
    Сделаю чтоб аргумены и результат писал тогда пришлю, а так могу сказать что вызывает:
    PDUConstruct
    PDURegisterEventCallback
    PDUGetModuleIds
    PDUDestroyItem
    PDUModuleConnect
    PDURegisterEventCallback
    PDUGetVersion
    PDUGetObjectId
    CallBackFunc - сработал мой калбак!
    PDUGetEventItem
    PDURegisterEventCallback
    PDUModuleDisconnect
    PDURegisterEventCallback
    PDUDestruct
    и много раз вызывается PDUGetObjectId

  30. Монстр астраколхозинга Заслуженный флудер CoDeMasteR Астранафт Аватар для CoDeMasteR
    Регистрация
    17.01.2008
    Адрес
    Москва ЗАО
    Сообщений
    6,358
    Спасибо
    88 / 2
     0реlац т0й
    Цитата Сообщение от AleXRE
    CallBackFunc - сработал мой калбак!
    ты его тоже в __stdcall переделал?

    Добавлено спустя 1 минуту 12 секунд:

    Цитата Сообщение от AleXRE
    могу сказать что вызывает
    10 из 29 - не так уж плохо

Страница 1 из 5 1 2 3 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)