Гость Anonymous Опубликовано 26 марта, 2012 Поделиться Опубликовано 26 марта, 2012 SUZUKI SX4 (cтирание crash) Вашему вниманию скрипт для стирания крэша в airbag SUZUKI SX4. Скрипт позволяет вычитывать дамп блока Airbag, проверять на присутствие креша, стирать по необходимости. Ниже приведена часть кода, которая отвечает за проверку и стирание. Menu Read,Read,0,F3 Read status register,read_sr,,F9 - Write,Write,1,F2 Write changes,WriteC,2,F4 - Verify,Verify,3,F5EndMenuWindow(C="Suzuki Airbag";w=630;h=285;a=h){ group(c = "Память 25160"; l = 10; t = 10; w = 320; h = 185) { list(c="VCC = ";left=60;top=35; w=60;value=0;name=vcc;items="5.0V","4.3V","3.8V","3.4V","3.1V","2.9V","2.8V","2.6V") checkbox(c="Cтраничная запись";l=160;top=32;name=page_mode) checkbox(c="Пин тестер";l=160;top=60;name=pin_tester;value = 1) group(c = "Защита от записи"; l = 10; t = 90; w = 300; h = 85) { list(c=" ";left=50;top=28;w=200;items = "Нет защиты от записи", "Адреса 0х600-0х7FF - только чтение", "Адреса 0х400-0х7FF - только чтение", "Вся микросхема - только чтение";name=sr_value) button(c="Прочитать";l=50;w=99;t=53;h=22;proc = read_sr) button(c="Записать";l=151;w=99;t=53;h=22;proc = write_sr) } } group(c = "Дамп"; l = 10; t = 205; w = 320; h = 70) { Label(c = "Состояние:"; name = lbState; left = 50; top = 30; width = 100; height = 20) Label(c = "Нет"; name = lbDumpState; left = 115; top = 30; width = 100; height = 20) button(c="Проверить"; l=210; w=100; t=15; h=22; proc = on_dump_check_crash) button(c="Стереть CRASH"; l=210; w=100; t=40; h=22; proc = on_dump_clear_crash) } group(c="Внешний вид";l = 350; t = 10; w = 285; h = 265) { picture(c="Suzuki_SX4_Airbag.jpg"; l = 25; t = 25; w = 0; h = 0) }} Editor{ (C="EEPROM";size=2048;mode=8;bytes=16)}$HOSTexport Read,Write,WriteC,Verify;#define MEM_SIZE 2048 // размер памяти микросхемы в байтах#define BLOCK_SIZE 64 // размер блока для обмена между компьютером и программатором // блоковая передача применяется для ускорения обмена // передача одиночных байт туда-сюда через USB сильно замедляет обмен // для микросхем с объемом более 1024 байт торможение будет недопустимым #define WRITE_PAGE_SIZE 8emem fbuf=0,fsel=2; // объявляем буфера // fbuf - то, что видно на экране программы // fsel - для включения-выключения подсветки байт или слов byte buf[BLOCK_SIZE]; string s1;proc on_dump_check_crash(){ var v1, addr, dump_error; dump_error = 0; if(fbuf[0x260] = 0xFF){ dump_error = 1; } if(fbuf[0x261] = 0xFF){ dump_error = 1; } if(dump_error = 1) { lbDumpState = "Ошибка дампа!"; print("\n..Ошибка! Неверный дамп!"); } else { addr = 0x20; v1 = 0; while(addr != 0x21) { v1 = v1 | fbuf[addr]; addr = addr + 1; } if(v1 != 0xff) { lbDumpState = "CRASH!"; print("\n..обнаружен CRASH!"); } else { lbDumpState = "Чистый"; print("\n..дамп чистый"); } }}proc on_dump_clear_crash(){ var addr, dump_error; dump_error = 0; if(fbuf[0x260] = 0xFF){ dump_error = 1; } if(fbuf[0x261] = 0xFF){ dump_error = 1; } if(dump_error = 0) { print("\nЗатирание CRASH..."); addr = 0x20; while(addr != 0xA0) { fbuf[addr] = 0xFF; fsel[addr] = 2; addr = addr + 1; } addr = 0x2B0; while(addr != 0x800) { fbuf[addr] = 0xFF; fsel[addr] = 2; addr = addr + 1; } print("\n..ОК!"); } else { print("\n..Ошибка! Неверный дамп!"); }} кому нет желания разбираться в исходниках - ниже готовый к употреблению архив, нужно его только распаковать в Scripts/Car/SRS/ Suzuki.zip Ссылка на комментарий Поделиться на другие сайты Поделиться
u-vovchika Опубликовано 11 февраля, 2015 Поделиться Опубликовано 11 февраля, 2015 Вот еще один пример на тойоту камри Camry 89170-33510 .blr Ссылка на комментарий Поделиться на другие сайты Поделиться
+Roman_77 Опубликовано 11 февраля, 2015 Поделиться Опубликовано 11 февраля, 2015 Что то я присел аж с объема скрипта. Только где там основная часть поиска и удаления краша я не увидел)) Ссылка на комментарий Поделиться на другие сайты Поделиться
u-vovchika Опубликовано 11 февраля, 2015 Поделиться Опубликовано 11 февраля, 2015 Это тебя интересует ??? Это всего лишь пример, но рабочий Ссылка на комментарий Поделиться на другие сайты Поделиться
+Roman_77 Опубликовано 11 февраля, 2015 Поделиться Опубликовано 11 февраля, 2015 Ага, понятно. Я сразу не приметил - немного он тут по другому выглядит ) Ссылка на комментарий Поделиться на другие сайты Поделиться
u-vovchika Опубликовано 11 февраля, 2015 Поделиться Опубликовано 11 февраля, 2015 Думаю разберешься дальше )))) Ссылка на комментарий Поделиться на другие сайты Поделиться
+Roman_77 Опубликовано 11 февраля, 2015 Поделиться Опубликовано 11 февраля, 2015 Надо бы немного пояснить кое какие вещи к примеру - кто такие (dword w0, w1, w2;) и откуда они берутся, кто их назначил какой функцией. И что то не вижу привычную кнопку "применить" Ты бы мне отдельно, от линии до линии чирикнул бы пояснялку, а? Ссылка на комментарий Поделиться на другие сайты Поделиться
u-vovchika Опубликовано 11 февраля, 2015 Поделиться Опубликовано 11 февраля, 2015 Похже, работа Ссылка на комментарий Поделиться на другие сайты Поделиться
rain35 Опубликовано 11 февраля, 2015 Поделиться Опубликовано 11 февраля, 2015 Надо бы немного пояснить кое какие вещи к примеру - кто такие (dword w0, w1, w2;) и откуда они берутся, кто их назначил какой функцией. И что то не вижу привычную кнопку "применить" Ты бы мне отдельно, от линии до линии чирикнул бы пояснялку, а? Роман там много чего не ивестно Там есть и такие функции которые ни где не описаны Ссылка на комментарий Поделиться на другие сайты Поделиться
+Roman_77 Опубликовано 11 февраля, 2015 Поделиться Опубликовано 11 февраля, 2015 Ну скажем, к предыдущему ипрогу тоже было по началу не понятно. Потом дело привычки) Ссылка на комментарий Поделиться на другие сайты Поделиться
+Roman_77 Опубликовано 11 февраля, 2015 Поделиться Опубликовано 11 февраля, 2015 Было бы круто сделать следующий скрипт - Выбираем нужный авто из списка кальков, нужную модель, блок по номеру- тест микросхемы чтение верификация автоматическое сохранение в заранее установленное по списку место (к примеру- заранее создан текстовой файл с указанием мест расположения архивов с дампами пользователя - сортировка маркам, по моделям - в настройках) или если за ранее не определено в настройках - вывод окна с запросом сохранения дампа (куда сохранять и под каким именем) // к примеру выводится список марок- выбираем, потом выводится список моделей - выбираем, потом выводится год выпуска - выбираем или игнорируем, потом предложение ввести номер блока - вписываем. Дамп в итоге должен сохраняться в нужную папку с маркой, моделью, номером, микросхема после чтения уже по идее известна - значит и с указанием микросхемы. Всё это в следующем виде приблизительно (SRS_Toyota_Avensis_2007_89170-05220_25040_Crash.bin (Соответственно если каль обнаружил краш при проверке, то может подставить состояние дампа) После указания места сохранения - дамп автоматом сохраняется и выходит окно с запросом почистить. После чистки вопрос - записать? Если жмем кнопку записать полностью или только изменения - пишет, автоматом верификация и автоматом сохранение в папку рядом с крашнутым дампом с состоянием дампа в конце _Clear.bin При сохранении первого дампа - Crash , что бы в папке по примеру - тоёта- авенсис- создавалась автоматом папка с названием похожим на название дампа SRS_Toyota_Avensis_2007_89170-05220_25040. В неё будут складываться два этих дампа. Если там такая папка уже существует (часто с таким сталкиваюсь) то можно поправить при создании папки имя самостоятельно. К примеру я делаю какую нибудь букву в другом регистре. Как то так я вижу это. Это не идеал конечно, но очень продвинуто - мне так кажется. Иначе каждый раз приходится после чтения, сохранять самому, при этом начинается открытие папок, потом создание новой папки и её обзывание, потом обзывание дампа и так далее. Такая же фигня с сохранением чистого дампа. Кстати интересная идея в начале калька сделать запрос, откуда брать дамп - из файла или читать из микросхемы. Посмотрено в кальках к упе от Влада. Считаю очень удобной функцией. У кого есть критика или свои мысли в дополнение. А так же рассуждения о возможности или отсутствия таковой - Пишите! Мы когда то эту тему должны разжевать и поставить точку. Ссылка на комментарий Поделиться на другие сайты Поделиться
VladS Опубликовано 11 февраля, 2015 Поделиться Опубликовано 11 февраля, 2015 Все великолепно! Но вот только до всего этого надо определиться в какой карман капусту надо будет положить!:) Ссылка на комментарий Поделиться на другие сайты Поделиться
u-vovchika Опубликовано 11 февраля, 2015 Поделиться Опубликовано 11 февраля, 2015 Примеры есть )) дерзайте Ссылка на комментарий Поделиться на другие сайты Поделиться
audis Опубликовано 11 февраля, 2015 Поделиться Опубликовано 11 февраля, 2015 Было бы круто сделать следующий скрипт - Выбираем нужный авто из списка кальков, нужную модель, блок по номеру- тест микросхемы чтение верификация автоматическое сохранение в заранее установленное по списку место (к примеру- заранее создан текстовой файл с указанием мест расположения архивов с дампами пользователя - сортировка маркам, по моделям - в настройках) или если за ранее не определено в настройках - вывод окна с запросом сохранения дампа (куда сохранять и под каким именем) // к примеру выводится список марок- выбираем, потом выводится список моделей - выбираем, потом выводится год выпуска - выбираем или игнорируем, потом предложение ввести номер блока - вписываем. Дамп в итоге должен сохраняться в нужную папку с маркой, моделью, номером, микросхема после чтения уже по идее известна - значит и с указанием микросхемы. Всё это в следующем виде приблизительно (SRS_Toyota_Avensis_2007_89170-05220_25040_Crash.bin (Соответственно если каль обнаружил краш при проверке, то может подставить состояние дампа) После указания места сохранения - дамп автоматом сохраняется и выходит окно с запросом почистить. После чистки вопрос - записать? Если жмем кнопку записать полностью или только изменения - пишет, автоматом верификация и автоматом сохранение в папку рядом с крашнутым дампом с состоянием дампа в конце _Clear.bin При сохранении первого дампа - Crash , что бы в папке по примеру - тоёта- авенсис- создавалась автоматом папка с названием похожим на название дампа SRS_Toyota_Avensis_2007_89170-05220_25040. В неё будут складываться два этих дампа. Если там такая папка уже существует (часто с таким сталкиваюсь) то можно поправить при создании папки имя самостоятельно. К примеру я делаю какую нибудь букву в другом регистре. Как то так я вижу это. Это не идеал конечно, но очень продвинуто - мне так кажется. Иначе каждый раз приходится после чтения, сохранять самому, при этом начинается открытие папок, потом создание новой папки и её обзывание, потом обзывание дампа и так далее. Такая же фигня с сохранением чистого дампа. Кстати интересная идея в начале калька сделать запрос, откуда брать дамп - из файла или читать из микросхемы. Посмотрено в кальках к упе от Влада. Считаю очень удобной функцией. У кого есть критика или свои мысли в дополнение. А так же рассуждения о возможности или отсутствия таковой - Пишите! Мы когда то эту тему должны разжевать и поставить точку. Почти все что тут описано можно сделать. Другой вопрос нужно ли это... И целесообразно ли... Гораздо проще и удобнее при отдельных скриптах на каждую модель, так довольно не трудно тогда и новый сделать на основе первого. Бо если все свалить в кучу будет проблема разбиратся и чтото добавлять. В скриптах используется язык С, С++ Ссылка на комментарий Поделиться на другие сайты Поделиться
+Roman_77 Опубликовано 11 февраля, 2015 Поделиться Опубликовано 11 февраля, 2015 Парни, ну это всё для удобства в первую очередь. К тому же сейчас море прогеров с кальками. А вот как раз удобства и упрощение процесса дают большую привлекательность к прогеру и калькам. Кстати - возможность перетаскивать мышкой дамп из папки в поле редактора, это ваааще писк Ссылка на комментарий Поделиться на другие сайты Поделиться
+Roman_77 Опубликовано 11 февраля, 2015 Поделиться Опубликовано 11 февраля, 2015 Все великолепно! Но вот только до всего этого надо определиться в какой карман капусту надо будет положить!:) Ну кто то же сделал пример в начале темы. И что, кто то просит в свой карман что то? С таким подходом в принципе можно и хыпрогом китайским еепромки читать и писать, складывать самому в папки, из папок открывать в кальках к другому прогеру и таким образом работать. Я конечно же лично, не осилю написание скрипта под всё что сам придумал. По этому и вынес на обсуждение. Может кто то из ребят - разработчиков, потихоньку, по отдельным блокам скрипта когда нибудь соберет что то подобное. У меня много прогеров, кальки есть кним. Есть кальки к старому TTSmart, которые я научился редактировать и делать на образе одного - другие. Кстати Володя научил - ему респект!! Я могу и этими кальками пользоваться без проблем, но я решил изложить мысль, от реализации которой я бы лично тащился от таких кальков)) Это пипец, если все что наработано перевестив скрипты, на еще и красивыми сделать. Это очень много времени и труда надо Ссылка на комментарий Поделиться на другие сайты Поделиться
audis Опубликовано 11 февраля, 2015 Поделиться Опубликовано 11 февраля, 2015 Вон еще один пример для Acura. Только калькуляторная часть. Может кому то поможет разобратся что и как. 77960 S0K-A11-M1 - 24c02.blr Ссылка на комментарий Поделиться на другие сайты Поделиться
GROMOV Опубликовано 17 ноября, 2015 Поделиться Опубликовано 17 ноября, 2015 Стоит ли доводить до ума, добавить чтение? PSA NEC и Hyundai NEC https://youtu.be/W2bGKkd5pBw Ссылка на комментарий Поделиться на другие сайты Поделиться
eeprom+ Опубликовано 17 ноября, 2015 Поделиться Опубликовано 17 ноября, 2015 Конечно же лучше всё в одном модуле, раз уж есть схема подключения. Ссылка на комментарий Поделиться на другие сайты Поделиться
derby Опубликовано 11 декабря, 2015 Поделиться Опубликовано 11 декабря, 2015 В 17.11.2015в00:28, GROMOV сказал: PSA NEC и Hyundai NEC https://youtu.be/W2bGKkd5pBw это только, на посмотреть, а прикупить такое можно? Ссылка на комментарий Поделиться на другие сайты Поделиться
GROMOV Опубликовано 11 декабря, 2015 Поделиться Опубликовано 11 декабря, 2015 Чтение добавится и можно будет. Ссылка на комментарий Поделиться на другие сайты Поделиться
+navis Опубликовано 11 декабря, 2015 Поделиться Опубликовано 11 декабря, 2015 В 17.11.2015в00:28, GROMOV сказал: Стоит ли доводить до ума, добавить чтение? PSA NEC и Hyundai NEC https://youtu.be/W2bGKkd5pBw Есть блок PSA - тоже хотел почитать Ссылка на комментарий Поделиться на другие сайты Поделиться
GROMOV Опубликовано 12 декабря, 2015 Поделиться Опубликовано 12 декабря, 2015 Ну модуля два будет PSA и Hundai на нек Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Заархивировано
Эта тема находится в архиве и закрыта для дальнейших ответов.