Пример HTML-страницы
200cm3 (Стаканыч)

Диагностика своими руками

  • Ответить в эту тему
  • Ответить в эту тему

11 496 сообщений в этой теме

Рекомендуемые сообщения

3 hours ago, romaharoma said:

а каким образом и возможно ли сгенерироват csv файл на андроиде дя торкью?

Из под android сейчас это сделать нельзя....

27 minutes ago, romdn said:

Установил версию 0994 на Андроид, и после выбора модели сканирование проходит только на 3-5 раз (с/без --cfc ). Сканирование "подвисает" на 0/57 ecu. Тогда соответственно pyren_4a_launcher.py.log пустой.

--cfc вам не нужен - у вас нормальный адаптер.

В логе от 0994 только удачная попытка??? Интересно посмотреть на неудачную. Если там только одна команда ATWS то проблема в подключении по BT

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

Уважаемый автор скрипта! Ваш скрипт замечательно работает с Largus, чему я очень обрадовался. Но меня озадачивает ситуация, характерная для концерна Рено в целом: горит лампа Check Engine, а кодов ошибок нет (я-то раньше думал, что причина в том, что сканер не видит ошибки. Оказалось, что совсем даже и не в этом причина. Ваш скрипт это подтвердил). Что это означает именно на Рено? Когда счетчик количества ошибок отображается как N/A и статус контрольной лампы "включено". Из-за чего, по какой причине?

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

5 минут назад, ilja172 сказал:

Уважаемый автор скрипта! Ваш скрипт замечательно работает с Largus, чему я очень обрадовался. Но меня озадачивает ситуация, характерная для концерна Рено в целом: горит лампа Check Engine, а кодов ошибок нет (я-то раньше думал, что причина в том, что сканер не видит ошибки. Оказалось, что совсем даже и не в этом причина. Ваш скрипт это подтвердил). Что это означает именно на Рено? Когда счетчик количества ошибок отображается как N/A и статус контрольной лампы "включено". Из-за чего, по какой причине?

может межсервисный интервал зовет на ТО?

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

То есть Вы точно уверены, что из-за наступившего срока ТО загорается лампа "check engine"? Для меня это что-то новое. Это на самом деле так? Я приму это к сведению, если это на самом деле так. В общем-то важная информация.

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

28 minutes ago, ilja172 said:

Когда счетчик количества ошибок отображается как N/A и статус контрольной лампы "включено".

Когда счетчик ошибок показывает N/A это значит что блок имеет тип failflag. Чтобы на таком посмотреть ошибки нужно зайти в блок и там в меню ошибок. Там тоже пусто??

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

3 часа назад, ilja172 сказал:

То есть Вы точно уверены, что из-за наступившего срока ТО загорается лампа "check engine"? Для меня это что-то новое. Это на самом деле так? Я приму это к сведению, если это на самом деле так. В общем-то важная информация.

я написал "может", т.е. если не было признаков ошибки, а горит например ключик. 

А так уже автор дал комментарий выше.

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

20 часов назад, Shr-lnm сказал:

--cfc вам не нужен - у вас нормальный адаптер.

В логе от 0994 только удачная попытка??? Интересно посмотреть на неудачную. Если там только одна команда ATWS то проблема в подключении по BT

На выходных обратно установлю 0994 и попробую, потом отпишусь.

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

20 часов назад, Shr-lnm сказал:

Когда счетчик ошибок показывает N/A это значит что блок имеет тип failflag. Чтобы на таком посмотреть ошибки нужно зайти в блок и там в меню ошибок. Там тоже пусто??

Странно, у меня отображает N/A в ЦЭКБС, но ошибок внутри нет. В чем может быть проблема?

Есть конечно одна висящая ошибка по разорванной цепи датчика уровня масла, но она то висит в блоке панели приборов...

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

1 hour ago, GADZ12 said:

Странно, у меня отображает N/A в ЦЭКБС, но ошибок внутри нет. В чем может быть проблема?

Вы наверное меня не так поняли. FAILFLAG и N/A не означает что там есть ошибки. Это тип блока. У вас на сценике такого типа действительно только ЦЭКБС. На ларгусе такого типа может быть и блок зажигания.

Такой тип означает что ошибки с этого блока нужно считывать иначе, чем с обычных блоков STD-A и STD-B. Поэтому при сканировании скрипт их не считывает и показывает N/A. Чтобы посмотреть есть ли ошибки в этом блоке или нет, в него нужно войти. Ошибок там может и не оказаться. На своей машине вы, например, можете проверить вытащив лампочку заднего поворотника. Если после этого скриптом зайти в меню ошибок ЦЭКБС то он должен показать какая лампа не исправна.  

 А check engine на вашей машине горит или на ларгусе?

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

1 минуту назад, Shr-lnm сказал:

Вы наверное меня не так поняли. FAILFLAG и N/A не означает что там есть ошибки. Это тип блока. У вас на сценике такого типа действительно только ЦЭКБС. На ларгусе такого типа может быть и блок зажигания.

Такой тип означает что ошибки с этого блока нужно считывать иначе, чем с обычных блоков STD-A и STD-B. Поэтому при сканировании скрипт их не считывает и показывает N/A. Чтобы посмотреть есть ли ошибки в этом блоке или нет, в него нужно войти. Ошибок там может и не оказаться. На своей машине вы, например, можете проверить вытащив лампочку заднего поворотника. Если после этого скриптом зайти в меню ошибок ЦЭКБС то он должен показать какая лампа не исправна.  

 А check engine на вашей машине горит или на ларгусе?

Все понятно. Спасибо за комментарий. Чек не горит - так что все норм)

Если конечно вопрос про чек был ко мне)

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

1 minute ago, GADZ12 said:

Если конечно вопрос про чек был ко мне)

Да не к вам - перепутал ))

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

Прикупил себе Launch EasyDiag у китайцев. Диагностика 197 марок авто по всем блокам, адаптации, программирование и т.п. функции. Скачал бесплатную марку eobd, ну т.е. диагностика только моторов по obdII для разных авто. Подключаюсь к своему мегану, а он не видит эбу. Попробовал на фольксваген поло седан 2014 г, адаптер мотор увидел через eobd. Похоже на поло мотор по к лини читается, т.к. елм327 и приложение VAG Erase мотор не видит, зато видит остальные системы что по кан шине читаются - подушки, панель, абс, электрику и т.д.

Разблокировал я себе марку Рено для Easy Diag, соединяюсь со своим меганом, нашлась только магнитола, в ней активная ошибка DF006 - усилитель FM1 обрыв цепи, ошибка активная, не удалилась, радио плохо играет. Кстати, магнитола ни клипом, ни скриптом не определяется. Но остальные то системы лаунчем так и не определились. Так вот интересно это аппаратная проблема или программная. Такой впечатление, что у лаунча проблема с кан шиной. Хотя магнитола ведь тоже поидее по кан шине у меня читаться должна.

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

В 07.09.2016 at 22:02, Shr-lnm сказал:

Да - верно. Чтобы подбросить ему какие-нибудь тестовые данные можно воспользоваться примером в районе 470 строки mod_elm.py

 

Подебажил скрипт, вроде более-менее разобрался, как он работает. Логика у него "как в Clip'е" - сначала грузит список ECUs, позволяет выбрать один из них, потом показывает данные из файла "FGxxxxxxx.xml" соответствующего ECU и т.д.

Один недостаток - выбираю я, например, в ЭБУ АКПП "SY : System state", скрипт берет список состояний и параметров и по очереди считывает соответствующий фрейм (service) для каждого параметра по очереди. Только вот ВСЕ параметры и состояния "SY : System state" передаются одним фреймом (сервис-запросом) №3 и их можно было бы считать сразу все за один запрос, а не для каждого параметра из списка посылать запрос в ЭБУ АКПП. Было бы быстрее по времени и получался бы согласованный "мгновенный снимок" состояний и параметров.

Можно ли как-нибудь "малой кровью" "вывернуть" скрипт так, чтобы он плясал от запросов (service), а не от "скринов"?

Зачем это нужно? Например, сейчас я хотел бы позаписывать лог работы АКПП на ходу. Нужен максимально плотный поток данных с минимальным задержками между опросами параметров. 

Я так понимаю, нужно в mod_ecu.py в добавок к show_screens написать show_services, да?

Еще хотелось бы протоколировать "события" от пользователя - в моем конкретном случае, мне нужно фиксировать момент начала и окончания переключения передач в АКПП. Т.е. чтобы я мог по нажатию какой-нибудь кнопки на телефоне добавить в лог "событие от пользователя". Я так понимаю, что надо допилить блок кода на 314-й строке в том же mod_ecu.py

if kb.kbhit():
  c = kb.getch()
  if len(c)!=1: continue
  n = ord(c)-ord('0')
  if n>0 and n<=(pages+1):
    page = n-1
    continue
  kb.set_normal_term()
  if mod_globals.opt_csv and csvf!=0:
    csvf.close()
  return

так, чтобы при нажатии определенных кнопок цикл считывания не прерывался, а писал в лог "пользовательское событие". Правильно?

13 минут назад, quattro81 сказал:

Такой впечатление, что у лаунча проблема с кан шиной. Хотя магнитола ведь тоже поидее по кан шине у меня читаться должна.

Как там на мегане не смотрел :) Но в Лагуне на магнитолу отдельная CAN-шина на разъеме контакты 12 и 13. Клип умеет коммутировать контакты. А Лаунч может?

PS. Нашел Меган3. Так и есть - отдельная шина:

Скрытый текст
- <Connector name="OBD">
+ <CANNetwork canH="6" canL="14" netIndex="0">
- <CANNetworkParams brp="0">
  <TSEG1 value="11" />
  <TSEG2 value="2" />
  <SJW value="1" />
  <SAM value="simple" />
  <FrameFormat value="standard" />
  <BusLoad value="200" />
  <DefaultTimeOut value="300" />
  <HardwareFilterCode value="E0000000" />
  <HardwareFilterMask value="1FFFFFFF" />
  </CANNetworkParams>
- <EcuList>
- <EcuKind idFamily="1">
  <EcuRef name="10665" doc="F9Q_870_872_X95" />
  <EcuRef name="10706" doc="K9K832_K9K836_X95_SID305_Vdiag44_RM6_soft83" />
  <EcuRef name="10708" doc="INJ_EMS3110_X95_F4RT_M4R_RD9_44_B" />
  <EcuRef name="10710" doc="K9K830_K9K834 _DCM34_Vdiag44_RM6_Soft34_X95" />
  <EcuRef name="10742" doc="K9K832_K9K836_X95_SID305_Vdiag45_RM6_Soft83" />
  <EcuRef name="10743" doc="K9K830_K9K834_DCM34_Vdiag45_RM6_Soft4C_X95" />
  <EcuRef name="10745" doc="INJ_V40_K4M_X95_nonEMS" />
  <EcuRef name="10751" doc="F9Q_870_872_X95" />
  <EcuRef name="10778" doc="INJ_V40_H4J_X95_A" />
  <EcuRef name="10790" doc="INJ_M9R_X95_RS1_44_A" />
  <EcuRef name="10828" doc="F9Q_870_872_X95" />
  <EcuRef name="10985" doc="INJ_V40_Soft29_K4M_Vdiag55" />
  <EcuRef name="11025" doc="INJ_EDC17C42_R9M_X95_0017_C1_B" />
  <EcuRef name="11072" doc="INJ_V40_Soft29_K4M_Vdiag58" />
  <EcuRef name="11080" doc="X95_K9K636_00F7_01_81" />
  <EcuRef name="11092" doc="INJ_H5F_X95_0000_44_A" />
  <EcuRef name="11099" doc="INJ_EMS3110_X38_54_B" />
  <EcuRef name="11140" doc="X95_K9K636_00F7_01" />
  <EcuRef name="11155" doc="INJ_EDC17C42_R9M_X95_0017_D1_B" />
  <EcuRef name="11191" doc="X95_K9K636_00F7_02" />
  <EcuRef name="11192" doc="X95_K9K636_00F7_82" />
  <EcuRef name="11230" doc="INJ_EMS3110_X95_F4RT" />
  <EcuRef name="11245" doc="INJ_H5F_X95_0000_14_A" />
  <EcuRef name="11246" doc="INJ_H5F_X95_0000_54_A" />
  <EcuRef name="11247" doc="INJ_H5F_X95_0000_57_A" />
  <EcuRef name="11249" doc="INJ_H5F_X95_0000_47_A" />
  <EcuRef name="11272" doc="INJ_EDC17C42_R9M_X95_C2" />
  <EcuRef name="11289" doc="INJ_M9R_X95_RS1_44_7600" />
  <EcuRef name="11307" doc="INJ_V40_Soft29_K4M_Vdiag54" />
  <EcuRef name="11325" doc="15_40_R9M_Vdiag01" />
  <EcuRef name="11344" doc="SID310_00FE_200_V03_20130222T151807" />
  <EcuRef name="11348" doc="K9K836_X95_SID305_Vdiag49" />
  <EcuRef name="11367" doc="INJ_F4R_H79ph2_EMS3125_RDE_44_B" />
  <EcuRef name="11376" doc="EMS3155_D6_44_UDS" />
  <EcuRef name="11601" doc="EMS3155_D6_54_UDS" />
  </EcuKind>
- <EcuKind idFamily="2">
  <EcuRef name="10720" doc="ABS_X95_0000_08_A" />
  <EcuRef name="10721" doc="ABS_ESP_X95_0000_04_A" />
  <EcuRef name="10962" doc="ABS_ESP_X95_0000_05_A" />
  <EcuRef name="11259" doc="ABS_ESP_X95_B_06" />
  </EcuKind>
- <EcuKind idFamily="3">
  <EcuRef name="10701" doc="TDB_X95_0000_04_A" Programmable="false" />
  <EcuRef name="10775" doc="TDB_J95_0000_24_B" />
  <EcuRef name="10782" doc="TDB_L38_0000_05_A" Programmable="false" />
  <EcuRef name="10955" doc="TDB_BDKE95_L38T_B32DAD_0000_08_A" Programmable="false" />
  <EcuRef name="11210" doc="TDB L38-0000-06" Programmable="false" />
  <EcuRef name="11266" doc="TDB_J95_0000_28" />
  <EcuRef name="11278" doc="TDB_X95_0000_0C" Programmable="false" />
  <EcuRef name="11368" doc="TDB_X95_RS_GT_0000_0A_B" Programmable="false" />
  <EcuRef name="11374" doc="TDB_X95_0000_1A" Programmable="false" />
  <EcuRef name="11401" doc="TDB_X95_0000_1E" Programmable="false" />
  <EcuRef name="11434" doc="TDB_X95_RS_GT_0000_0E" Programmable="false" />
  <EcuRef name="11454" doc="TDB_X95_0000_22" Programmable="false" />
  <EcuRef name="11462" doc="TDB_X95_RS_GT_0000_0" Programmable="false" />
  </EcuKind>
- <EcuKind idFamily="4">
  <EcuRef name="10666" doc="UCH_BCM_X95_0000_04_A" />
  </EcuKind>
- <EcuKind idFamily="5">
  <EcuRef name="10700" doc="ABG_MRSZ_X95_0000_04_A" Programmable="false" />
  </EcuKind>
- <EcuKind idFamily="8">
  <EcuRef name="10693" doc="X95_CAREG_V2_04_B" />
  <EcuRef name="10694" doc="X95_CAMAN_V2_05_B" Programmable="false" />
  </EcuKind>
- <EcuKind idFamily="9">
  <EcuRef name="10717" doc="FK0 CVT X95 Vdiag 24" />
  <EcuRef name="10756" doc="BVA_AJO_X95_VDiag04_B" />
  <EcuRef name="10932" doc="BVA_DC4_X95_0505_04_B" />
  <EcuRef name="10944" doc="FK0 CVT X95 Vdiag 25" />
  <EcuRef name="11207" doc="DC4_X43_VD08_B" />
  <EcuRef name="11504" doc="M5M 250_0C" />
  </EcuKind>
- <EcuKind idFamily="13">
  <EcuRef name="10752" doc="FPA_X95_0000_04_B" Programmable="false" />
  </EcuKind>
- <EcuKind idFamily="18">
  <EcuRef name="10718" doc="DAE_X95_V1_0000_04_B" Programmable="false" />
  </EcuKind>
- <EcuKind idFamily="20">
  <EcuRef name="10719" doc="UPC_X95_0000_04_A" Programmable="false" />
  <EcuRef name="10788" doc="UPC_JR95_L38_00_05_A" Programmable="false" />
  <EcuRef name="10896" doc="USM_JR95_X38_00_V09_A" Programmable="false" />
  <EcuRef name="11026" doc="USM_2010_SW3_X95_S&S_B110_24_B" />
  <EcuRef name="11109" doc="USM2010_X95SS_X91SS_C500_28_B" />
  <EcuRef name="11241" doc="UPC_X95_0000_36_B" />
  <EcuRef name="11291" doc="UPC_X95_0000_3A_B" />
  </EcuKind>
- <EcuKind idFamily="25">
  <EcuRef name="10730" doc="TO_X95" Programmable="false" />
  <EcuRef name="10936" doc="RCU_E95_0000_04_A" Programmable="false" />
  <EcuRef name="11054" doc="RCU_E95_0000_09_B" Programmable="false" />
  </EcuKind>
- <EcuKind idFamily="29">
  <EcuRef name="10711" doc="LAD_X95_0000_04_A" Programmable="false" />
  </EcuKind>
- <EcuKind idFamily="41">
  <EcuRef name="10456" doc="AAP_X91_0000_04_A" Programmable="false" />
  <EcuRef name="10786" doc="AAP_JR95_0000_24_A" Programmable="false" />
  <EcuRef name="11102" doc="AAP_X95_ph2_0009_55_B" Programmable="false" />
  </EcuKind>
- <EcuKind idFamily="60">
  <EcuRef name="10707" doc="DCM X95 V3 04 B" Programmable="false" />
  </EcuKind>
- <EcuKind idFamily="61">
  <EcuRef name="10895" doc="PSDM_E95_0000_04" Programmable="false" />
  </EcuKind>
- <EcuKind idFamily="65">
  <EcuRef name="10677" doc="SIEGES_MEMO_0104_04_A" Programmable="false" />
  </EcuKind>
- <EcuKind idFamily="70">
  <EcuRef name="11101" doc="FRONT_CAM_X95_0000_04_B" />
  <EcuRef name="11186" doc="FRONT_CAM_X95_0000_08" />
  </EcuKind>
- <EcuKind idFamily="77">
  <EcuRef name="11200" doc="TCU_GEN1_TH_0000_04_A" Programmable="false" />
  <EcuRef name="11237" doc="TCU_GEN2_X07_0000_08" />
  <EcuRef name="11258" doc="TCU_LC_0000_05_REFB" />
  <EcuRef name="11296" doc="TCU_LC_X95_1209_05_REFC" />
  <EcuRef name="11549" doc="TCU_GEN2_0000_1C" />
  <EcuRef name="11550" doc="TCU_GEN2_0000_17" />
  </EcuKind>
  </EcuList>
  <CanId targetAddress="7A" toolAddress="F1" addressExtension="00" MType="0" TAType="0" STmin="0" BS="1" idTx="07E0" idRx="07E8" />
  <CanId targetAddress="01" toolAddress="F1" addressExtension="00" MType="0" TAType="0" STmin="0" BS="1" idTx="0740" idRx="0760" />
  <CanId targetAddress="51" toolAddress="F1" addressExtension="00" MType="0" TAType="0" STmin="0" BS="1" idTx="0743" idRx="0763" />
  <CanId targetAddress="26" toolAddress="F1" addressExtension="00" MType="0" TAType="0" STmin="0" BS="1" idTx="0745" idRx="0765" />
  <CanId targetAddress="2C" toolAddress="F1" addressExtension="00" MType="0" TAType="0" STmin="0" BS="1" idTx="0752" idRx="0772" />
  <CanId targetAddress="29" toolAddress="F1" addressExtension="00" MType="0" TAType="0" STmin="0" BS="1" idTx="0744" idRx="0764" />
  <CanId targetAddress="6E" toolAddress="F1" addressExtension="00" MType="0" TAType="0" STmin="0" BS="1" idTx="07E1" idRx="07E9" />
  <CanId targetAddress="0D" toolAddress="F1" addressExtension="00" MType="0" TAType="0" STmin="0" BS="1" idTx="0755" idRx="0775" />
  <CanId targetAddress="04" toolAddress="F1" addressExtension="00" MType="0" TAType="0" STmin="0" BS="1" idTx="0742" idRx="0762" />
  <CanId targetAddress="27" toolAddress="F1" addressExtension="00" MType="0" TAType="0" STmin="0" BS="1" idTx="074D" idRx="076D" />
  <CanId targetAddress="1C" toolAddress="F1" addressExtension="00" MType="0" TAType="0" STmin="0" BS="1" idTx="074B" idRx="076B" />
  <CanId targetAddress="07" toolAddress="F1" addressExtension="00" MType="0" TAType="0" STmin="0" BS="1" idTx="0751" idRx="0771" />
  <CanId targetAddress="0E" toolAddress="F1" addressExtension="00" MType="0" TAType="0" STmin="0" BS="1" idTx="074E" idRx="076E" />
  <CanId targetAddress="A5" toolAddress="F1" addressExtension="00" MType="0" TAType="0" STmin="0" BS="1" idTx="0705" idRx="0725" />
  <CanId targetAddress="A6" toolAddress="F1" addressExtension="00" MType="0" TAType="0" STmin="0" BS="1" idTx="0706" idRx="0726" />
  <CanId targetAddress="2A" toolAddress="F1" addressExtension="00" MType="0" TAType="0" STmin="0" BS="1" idTx="074F" idRx="076F" />
  <CanId targetAddress="62" toolAddress="F1" addressExtension="00" MType="0" TAType="0" STmin="0" BS="1" idTx="07DC" idRx="07DD" />
  <CanId targetAddress="77" toolAddress="F1" addressExtension="00" MType="0" TAType="0" STmin="0" BS="1" idTx="07CA" idRx="07DA" />
  <CanId targetAddress="FF" toolAddress="F1" addressExtension="00" MType="0" TAType="1" STmin="0" BS="0" idTx="07D0" idRx="07D0" />
  </CANNetwork>
- <CANNetwork canH="13" canL="12" netIndex="1">
- <CANNetworkParams brp="0">
  <TSEG1 value="11" />
  <TSEG2 value="2" />
  <SJW value="1" />
  <SAM value="simple" />
  <FrameFormat value="standard" />
  <BusLoad value="200" />
  <DefaultTimeOut value="300" />
  <HardwareFilterCode value="E4000000" />
  <HardwareFilterMask value="1BFFFFFF" />
  </CANNetworkParams>
- <EcuList>
- <EcuKind idFamily="10">
  <EcuRef name="10727" doc="UCC_ITM_X95_0000_05_A" Programmable="false" />
  <EcuRef name="10826" doc="NFA_X62_X95_X91_X38_X43_0000_44_B" Programmable="false" />
  <EcuRef name="10876" doc="UCC_ITM_X95_0000_06_A" Programmable="false" />
  <EcuRef name="11035" doc="NFA_X43_000_48" Programmable="false" />
  <EcuRef name="11107" doc="NFA 2.5 X38" Programmable="false" />
  <EcuRef name="11217" doc="MFD_EUR_X38PH2_0000_14_B" />
  </EcuKind>
- <EcuKind idFamily="76">
  <EcuRef name="10723" doc="R108_X95_X62_X61_0000_A4_B" Programmable="false" />
  <EcuRef name="10724" doc="LPN_X95" Programmable="false" />
  <EcuRef name="10725" doc="R307_X95_0000_24_B" />
  <EcuRef name="10728" doc="R208_X95_X62_X61_0000_64_B" />
  <EcuRef name="11070" doc="R208_X95_0000_68_B" />
  <EcuRef name="11086" doc="RDO_FIRST_X95PH2_000_54_B" Programmable="false" />
  <EcuRef name="11193" doc="MID_X38PH2_0000_74_B" />
  <EcuRef name="11338" doc="R208_X95_X38_0000_69" />
  </EcuKind>
- <EcuKind idFamily="90">
  <EcuRef name="10726" doc="BIC_X95_X62_0000_14_B" Programmable="false" />
  </EcuKind>
- <EcuKind idFamily="92">
  <EcuRef name="10747" doc="CBOX_X95_X91_X62_X61_0000_04_B" Programmable="false" />
  </EcuKind>
  </EcuList>

 

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

так почему мой клип магитолу не видит и скрипт тоже? на счет лаунча не знаю, только разбираюсь с ним.

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

23 minutes ago, quattro81 said:

так почему мой клип магитолу не видит и скрипт тоже? на счет лаунча не знаю, только разбираюсь с ним.

Slava.Vrn прав - магнитола на другой шине сидит. ELM к ней просто не подключен. Еще на этой шине  (мультимедийной) скорость 1Мбит/с  а ELM такую не поддерживает. Почему клип не читает, не понятно.

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

47 minutes ago, Slava.Vrn said:

Один недостаток - выбираю я, например, в ЭБУ АКПП "SY : System state", скрипт берет список состояний и параметров и по очереди считывает соответствующий фрейм (service) для каждого параметра по очереди.

) - это по моей части. Секрет в модуле mod_elm. Там есть два кеша l1_cache и rsp_cache. В rsp_cache сохраняются ответы на команды. Перед каждой сменой экрана этот кеш сбрасывается функцией elm.clear_cache(). так при отображении одного экрана одна команда у ЭБУ дважды не запрашивается. l1_cache запоминает длину ответа на каждую команду и при повторной отправке команды (на следующем экране) подставляет в запрос на can шину ту самую последнюю "непарную" цифру, сообщая ELM сколько фреймов он должен вернуть - так удается избежать тайм-аута ожидания ответа (адаптивного тайминга ATST1)

Про события пользователя мысль очень интересная. А у АКПП нет состояния, которое бы показывало процесс переключения или текущую передачу? Если есть то можно сформировать свое меню в FG файле и включить туда интересующие параметры и это состояние, записать CSV и потом анализировать. Недостаток только в том, что скрипт одновременно работает только с одним блоком и если хочется скоррелировать события АКПП  и двигателя, то такой метод не работает, а ваш сработает. 

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

Фух. Про rsp_cache после твоей подсказки сразу нашел где как и что, а с l1_cache с трудом, но вроде осилил :) Только непонятно, зачем в кэше хранить длину ответа? Разве сразу посчитать нельзя длину по описанию service? Кстати, я не нашел "руками", где состав service прописан. В SG*.xml файле?

Скрытый текст

Key: Service\3
------------------------------------------------------------
<?xml version="1.0" ?>
<Service mode="1" serviceID="3">
  <Start>
    <Request val="2190"/>
    <Response>
      <Simple val="61">
        <MnemoLocations>
          <MnemoLocation name="_ETAT_SORTIE_EV1" rOffset="0" startBit="7" startByte="3"/>
          <MnemoLocation name="_ETAT_SORTIE_EV2" rOffset="0" startBit="6" startByte="3"/>
          <MnemoLocation name="_ETAT_SORTIE_EV3" rOffset="0" startBit="5" startByte="3"/>
          <MnemoLocation name="_ETAT_SORTIE_EV4" rOffset="0" startBit="4" startByte="3"/>
          <MnemoLocation name="_ETAT_SORTIE_EV5" rOffset="0" startBit="3" startByte="3"/>
          <MnemoLocation name="_ETAT_SORTIE_SHIFT_LOCK" rOffset="0" startBit="2" startByte="3"/>
          <MnemoLocation name="_COURANT_SORTIE_SLT" rOffset="0" startBit="0" startByte="4"/>
          <MnemoLocation name="_COURANT_SORTIE_SLS" rOffset="0" startBit="0" startByte="5"/>
          <MnemoLocation name="_COURANT_SORTIE_SLU" rOffset="0" startBit="0" startByte="6"/>
          <MnemoLocation name="_VITESSE_SORTIE_BOITE" rOffset="0" startBit="0" startByte="7"/>
          <MnemoLocation name="_VITESSE_ENTREE_BOITE" rOffset="0" startBit="0" startByte="8"/>
          <MnemoLocation name="_TEMPERATURE_HUILE_BOITE" rOffset="0" startBit="0" startByte="9"/>
          <MnemoLocation name="_TENSION_APC_MESUREE_PAR_CALCULATEUR_BOITE" rOffset="0" startBit="0" startByte="10"/>
          <MnemoLocation name="_REGIME_MOTEUR" rOffset="0" startBit="0" startByte="11"/>
          <MnemoLocation name="_COUPLE_MOTEUR_EFFECTIF" rOffset="0" startBit="0" startByte="12"/>
          <MnemoLocation name="_COUPLE_MOTEUR_HORS_CONSIGNE_TA" rOffset="0" startBit="0" startByte="13"/>
          <MnemoLocation name="_VOLONTE_CONDUCTEUR" rOffset="0" startBit="0" startByte="15"/>
          <MnemoLocation name="_TEMPERATURE_EAU_MOTEUR" rOffset="0" startBit="0" startByte="18"/>
          <MnemoLocation name="_VITESSE_VEHICULE" rOffset="0" startBit="0" startByte="19"/>
          <MnemoLocation name="_OCTET_DECODAGE_CMF" rOffset="0" startBit="0" startByte="21"/>
          <MnemoLocation name="_OCTET_DECODAGE_TEMPERATURE_ET_CONTACTS" rOffset="0" startBit="0" startByte="22"/>
          <MnemoLocation name="_OCTET_COMMANDE_GMV_PAR_BVA" rOffset="0" startBit="0" startByte="23"/>
          <MnemoLocation name="_INFO_ETAT_RAPPORT_BVA" rOffset="0" startBit="0" startByte="24"/>
          <MnemoLocation name="_OCTET_CHANGEMENT_DE_RAPPORT_ET_LOIS" rOffset="0" startBit="0" startByte="25"/>
          <MnemoLocation name="_CTRL_VIT_FCT_ADAPT" rOffset="0" startBit="0" startByte="26"/>
        </MnemoLocations>
      </Simple>
    </Response>
  </Start>
</Service>
 

Можно ли сразу MnemoLocations вытащить в виде параметров/состояний и добавить в массив services объекта ECU (модуль mod_ecu.py)?

1 час назад, Shr-lnm сказал:

 

Про события пользователя мысль очень интересная. А у АКПП нет состояния, которое бы показывало процесс переключения или текущую передачу? Если есть то можно сформировать свое меню в FG файле и включить туда интересующие параметры и это состояние, записать CSV и потом анализировать. Недостаток только в том, что скрипт одновременно работает только с одним блоком и если хочется скоррелировать события АКПП  и двигателя, то такой метод не работает, а ваш сработает. 

Конечно, есть состояния, показывающие включенную передачу. Только мне надо сопоставить моменты времени подачи запроса на переключение от ЭБУ, подачи импульсов на шифтовые соленоиды, изменения скоростей на входе-выходе АКПП с РЕАЛЬНЫМ моментом переключения и при этом отследить изменения скважности импульсов на модулирующих клапанах. Так что "события пользователя" я бы добавил :)

Насчет того, чтобы дописать свой "экран" - это первое о чем я подумал. Правда, пока я не разобрался с тем, что в SG*.xml файлах находится. Достаточно только в FG*.xml новый "скрин" добавить и все, в SG*.xml менять ничего не надо?

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

Кстати, под дебаггером PyCharm в выньде KBHit из mod_utils не понимает нажатия клавиш:(

 

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

Добрый день!

 Стоит ли ждать поддержки сценариев или все же искать CLIP?

Скрытый текст

 ECU : 10119  TDB_BNEW74_0007_04_A
Screen : VP : VIN programming -> V004 [Command]

#############################  Command parameters  #############################


Prerequisite :

name         : V004
codeMR       : VP004
label        : ПРОБЕГ ДО ЗАМЕНЫ
type         : VP
scenario     : scenEngine:scenEngine?ScenEngine#scen=Autonomie de vidange&ecu=10
119
inputlist    +
serviceID    +

There is scenarium. I do not support them!!!

Press ENTER to exit

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

P.S. В теме чертовски не хватает шапки с полезной информацией и факом.

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

9 часов назад, Mikle King сказал:

Добрый день!

 Стоит ли ждать поддержки сценариев или все же искать CLIP?

  Показать контент

 ECU : 10119  TDB_BNEW74_0007_04_A
Screen : VP : VIN programming -> V004 [Command]

#############################  Command parameters  #############################


Prerequisite :

name         : V004
codeMR       : VP004
label        : ПРОБЕГ ДО ЗАМЕНЫ
type         : VP
scenario     : scenEngine:scenEngine?ScenEngine#scen=Autonomie de vidange&ecu=10
119
inputlist    +
serviceID    +

There is scenarium. I do not support them!!!

Press ENTER to exit

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

P.S. В теме чертовски не хватает шапки с полезной информацией и факом.

Кто сказал ФАК?

Друзья-коллеги, я сделаль :) Из-за ограничений форума по редактированию сообщений, тут сделать это невозможно (если ты не модератор), поэтому я сделал WIKI по диагностике Рено - http://rdiag.kotpusk.ru/ Прошу всех знатоков поучаствовать в наполнении!

Сейчас редактирование доступно всем, но я прошу всех редакторов зарегистрироваться.

Если будут какие-то неудобства или вопросы - задавайте в теме ФАКа по диагностике: http://www.club-renault.ru/forum/topic/71984-faq-по-самостоятельной-диагностике/!

 

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

14 hours ago, Mikle King said:

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

Из режима  cmd нужно воспользоваться командами

CF122[C122] С ЗАДЕРЖКОЙ ПЛАФОНА

CF123[C123] БЕЗ ЗАДЕРЖКИ ПЛАФОНА

 
не смотря на названия команд, CF122 пробег между заменами в километрах (тысячах или единицах, не знаю), CF123 пробег в месяцах.
 

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

22 hours ago, Slava.Vrn said:

Только непонятно, зачем в кэше хранить длину ответа? Разве сразу посчитать нельзя длину по описанию service?

В сервисе очень часто описаны не все параметры да и проще так - только первый раз команда читается с задержкой, т.е. только первый экран отображается медленнее.

22 hours ago, Slava.Vrn said:

Кстати, я не нашел "руками", где состав service прописан

Не совсем понял...

22 hours ago, Slava.Vrn said:

Можно ли сразу MnemoLocations вытащить в виде параметров/состояний и добавить в массив services объекта ECU (модуль mod_ecu.py)?

Тут не смогу ничего сказать...

22 hours ago, Slava.Vrn said:

Достаточно только в FG*.xml новый "скрин" добавить и все, в SG*.xml менять ничего не надо?

Да - скрины только в FG прописаны. В SG ничего менять не нужно. Тут уже одето было написано как правильно свой скрин добавить с со своим названием -сейчас уже не помню на какой странице...

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

2 минуты назад, Shr-lnm сказал:

В сервисе очень часто описаны не все параметры да и проще так - только первый раз команда читается с задержкой, т.е. только первый экран отображается медленнее.

Не совсем понял...

Тут не смогу ничего сказать...

Да - скрины только в FG прописаны. В SG ничего менять не нужно. Тут уже одето было написано как правильно свой скрин добавить с со своим названием -сейчас уже не помню на какой странице...

1. Да, чет я тупанул. В сервисах не все приходящие байты описаны, есть какие-то служебные или неиспользуемые.

2. Я не нашел, где в файлх прописаны сервисы. Параметры, идентификаторы, ошибки, состояния - они в FG*.xml. А сервисы не видел, только скриптом mod_optfile выгружал. 

3. Ну, я думаю, мне надо просто додебажить до загрузки SG*.xml. Пока не добрался еще...

4. А я вот даже не помню, натыкался я где-нибудь на такое или нет... Поэтому я и хочу собрать FAQ. Только сам я все страницы этой темы не осилю... Поможите, пожалуйста, хотя бы начало положить - создать недостающе страницы http://rdiag.kotpusk.ru/index.php/Pyren. Википедией все умеют пользоваться? Тут движок точно такой же, ничего сложного.

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

30 минут назад, Shr-lnm сказал:

Из режима  cmd нужно воспользоваться командами

CF122[C122] С ЗАДЕРЖКОЙ ПЛАФОНА

CF123[C123] БЕЗ ЗАДЕРЖКИ ПЛАФОНА

 
не смотря на названия команд, CF122 пробег между заменами в километрах (тысячах или единицах, не знаю), CF123 пробег в месяцах.
 

А что такое cmd режим и как в него войти (андроид) ?

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

8 минут назад, romaharoma сказал:

А что такое cmd режим и как в него войти (андроид) ?

В главном меню, где выбираете в какой блок заходить, набираете "cmd"

После этого во всех блоках добавится новый пункт начинающийся на "ECM"

 

48 минут назад, Shr-lnm сказал:

Из режима  cmd нужно воспользоваться командами

CF122[C122] С ЗАДЕРЖКОЙ ПЛАФОНА

CF123[C123] БЕЗ ЗАДЕРЖКИ ПЛАФОНА

 
не смотря на названия команд, CF122 пробег между заменами в километрах (тысячах или единицах, не знаю), CF123 пробег в месяцах.
 

А как Вы это вытащили?

Если с режимом когда скрипт сам показывает команды сценария понятно, то тут нет.

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

14 minutes ago, romaharoma said:

А что такое cmd режим и как в него войти (андроид) ?

 

4 minutes ago, DeviLav said:

Если с режимом когда скрипт сам показывает команды сценария понятно, то тут нет.

Покопался в сценарии. 

scenario     : scenEngine:scenEngine?ScenEngine#scen=Autonomie de vidange&ecu=10119

Autonomie de vidange Это название сценария из директории EcuRenault/Scenarios. Это bqm файл, который открывается mod_optfile.py. У этого сценария есть еще дополнительные файлы с похожими названиями в директориях EcuRenault/Scenarios/Ecudata и  EcuRenault/Scenarios/Scendata

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

35 minutes ago, Slava.Vrn said:

А я вот даже не помню, натыкался я где-нибудь на такое или нет... Поэтому я и хочу собрать FAQ.

Как появится время, постараюсь написать что-нибудь полезное в wiki

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

49 минут назад, Shr-lnm сказал:

Покопался в сценарии. 

scenario     : scenEngine:scenEngine?ScenEngine#scen=Autonomie de vidange&ecu=10119

Autonomie de vidange Это название сценария из директории EcuRenault/Scenarios. Это bqm файл, который открывается mod_optfile.py. У этого сценария есть еще дополнительные файлы с похожими названиями в директориях EcuRenault/Scenarios/Ecudata и  EcuRenault/Scenarios/Scendata

А как mod_optfile.py сказать какой файл открывать?

На компьютере он сразу же закрывается. В теле скрипта не знаю что менять

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

7 hours ago, DeviLav said:

На компьютере он сразу же закрывается. В теле скрипта не знаю что менять

На компьютере есть несколько вариантов запуска чтобы окошко не убегало с экрана

- bat файл с командой pause  в конце

- запускать и командной строки руками  ( cmd.exe и потом командами cd перейти в директорию со скриптом)

- запускать через far manager. ( снять/вернуть панели <ctrl-o>)

Запустите mod_optfile без параметров и он покажет как указывать какие файлы открывать

 

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

11 hours ago, Slava.Vrn said:

2. Я не нашел, где в файлх прописаны сервисы. Параметры, идентификаторы, ошибки, состояния - они в FG*.xml. А сервисы не видел, только скриптом mod_optfile выгружал. 

Сервисы и мнемоники описаны только в SG файлах. От сервисов отталкиваются в базе DDT, там они называются  <Request> и оттуда ссылаются на мнемоники <Data>. В клипе другая последовательность <Parametr|State|Identification> - <формула> - <Mnemonic> - <Service>  или <Command> - <Service>

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

12 часов назад, Shr-lnm сказал:

Из режима  cmd нужно воспользоваться командами

CF122[C122] С ЗАДЕРЖКОЙ ПЛАФОНА

CF123[C123] БЕЗ ЗАДЕРЖКИ ПЛАФОНА

 
не смотря на названия команд, CF122 пробег между заменами в километрах (тысячах или единицах, не знаю), CF123 пробег в месяцах.
 

Трэш-то какой :lol: В демо-режиме есть вот что:

Скрытый текст

CF122

Сейчас на приборке выставлено 30 тыщ. Хотел уменьшить до 15-ти. Вроде в CLIP-е этот пробег ступенями меняется (т.е. 30, 20, 15 - меньше не ставит). Непонятно, что менять: "6" или "3BC6" (это наверное адрес параметра)? и менять на что?

Напомню, Л1Ф2 расширенная приборка. Извините, если загружаю ветку тупыми вопросами.

Прошу прощения, скрытый контент из предыдущего поста:

 ECU : 10119  TDB_BNEW74_0007_04_A
Screen : ECM -> C122 [Command]

#############################  Command parameters  #############################


Prerequisite : ВКЛЮЧИТЕ ЗАЖИГАНИЕ.

name         : C122
codeMR       : CF122
label        : С ЗАДЕРЖКОЙ ПЛАФОНА
type         : CF
scenario     :
inputlist    +
serviceID    +
              : (6    ) 3BC6 <Params>

There are parameters. I do not support them!!!

Press ENTER to exit

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

7 minutes ago, Mikle King said:

Сейчас на приборке выставлено 30 тыщ. Хотел уменьшить до 15-ти.

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

Spoiler

ECU : 10119  TDB

1  - DE : Device errors
2  - ID : Identifications
3  - SY : System state
4  - SP : System parameters
5  - LC : System configuration
6  - CF : Changing configuration
7  - VP : VIN programming
8  - RZ : Resets
9  - EZ : EZSTEP
10 - ECM : Extended command set
Q  - <Up>
Choose :10


ECU : 10119  TDB
Screen : ECM
1  - CF047 [Command] РЕГУЛИРОВКА ДИСТАНЦИИ
2  - CF122 [Command] С ЗАДЕРЖКОЙ ПЛАФОНА
3  - CF123 [Command] БЕЗ ЗАДЕРЖКИ ПЛАФОНА
4  - CF125 [Command] ВЕРСИЯ ЯЗЫКА
5  - CF132 [Command] ТИП ДВИГАТЕЛЯ/КОРОБКИ ПЕРЕДАЧ
6  - CF136 [Command] ЕДИНИЦА ДАВЛЕНИЯ В ШИНАХ
7  - CF137 [Command] ТИП АВТОМОБИЛЯ
8  - CF152 [Command] P9X АКП
9  - CF153 [Command] P9X РКП
10 - CF154 [Command] АКП V4Y
11 - CF155 [Command] V4Y РКП
12 - CF156 [Command] ПРОЧИЕ АКП
13 - CF157 [Command] ПРОЧИЕ РКП
14 - RZ001 [Command] ЗАПОМИНАНИЕ НЕИСПРАВНОСТИ
15 - VP002 [Command] ЗАПИСЬ V.I.N.
16 - VP003 [Command] PARAMETRAGE PRIVE 1
17 - VP004 [Command] ПРОБЕГ ДО ЗАМЕНЫ
Q  - <Up>
Choose :2


ECU : 10119  TDB
Screen : ECM -> C122 [Command] 

#############################  Command parameters  #############################

Prerequisite : ВКЛЮЧИТЕ ЗАЖИГАНИЕ.

name         : C122
codeMR       : CF122
label        : С ЗАДЕРЖКОЙ ПЛАФОНА
type         : CF
scenario     : 
inputlist    +
serviceID    +
              : (6    ) 3BC6 <Params>

There are parameters. I do not support them!!!

Press ENTER to exit hex
Are you ready to execute the command? <yes/no>:yes

#############################  Execution  #############################

Parametr type: n  size: 
HEX:0F
cmd:3BC60F                           rsp: 

###############################  Done  ###############################

Press ENTER to exit 

 

21 minutes ago, Mikle King said:

Вроде в CLIP-е этот пробег ступенями меняется (т.е. 30, 20, 15 - меньше не ставит).

Судя по сценарию, там пользователю предлагается ввести значение X в единицах километров, а потом целочисленно пересвистывается Y = ( X + 500 ) / 1000

+ 500 для округления вверх

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

3 часа назад, Shr-lnm сказал:

На компьютере есть несколько вариантов запуска чтобы окошко не убегало с экрана

- bat файл с командой pause  в конце

- запускать и командной строки руками  ( cmd.exe и потом командами cd перейти в директорию со скриптом)

- запускать через far manager. ( снять/вернуть панели <ctrl-o>)

Запустите mod_optfile без параметров и он покажет как указывать какие файлы открывать

Хотя некоторые BQM открывает. У которых расширение с большой буквы пишется

Безымянный.jpg

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

2 minutes ago, DeviLav said:

Хотя некоторые BQM открывает. У которых расширение с большой буквы пишется

Нужно взять имя файла в кавычки, а то там пробелы есть....

и в директории Ecudata файлы в обычной  кодировке лежат.

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

Был на диагностике клипом. Диагност где то нарыл реальный пробег 178 00 км. На приборке 115 тыс. Говорит вин код приборки отличается от вин кода машины. Или ее меняли или отматывали. Реально увидеть клипом пробег на машине без сажевого?

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

3 часа назад, Shr-lnm сказал:

Нужно взять имя файла в кавычки, а то там пробелы есть....

и в директории Ecudata файлы в обычной  кодировке лежат.

Посмотрев несколько файлов, более стоящими оказались в формает XML из екудаты. Там какрас и были команды из сценария.

И ещё, а как узнать правильность команды и за что она отвечает из сценария? Вот даже для примера по изменению межсервисного на лагуне выше, как Вы определили что эти команды называются неправильно а должны исполнять именно то что написано и допустим не наоборот? В XML файлах только коды команд и всё.

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

Извините а русский язык в приборке  возможно сделать?

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

1 час назад, romaharoma сказал:

Извините а русский язык в приборке  возможно сделать?

Смотря в какой машине

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

1 минуту назад, DeviLav сказал:

Смотря в какой машине

Лагуна 3

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

48 минут назад, romaharoma сказал:

Лагуна 3

нет

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

Если кому интересно то смог подключится к авто Renault Symbol/Thalia 2007, по ELM v1.5, валялся 2 года без дела, а тут ВОСКРЕС. Смог прочесть следующие блоки.

Если выбрать профиль Renault Symbol/Thalia то читает только ЦЭКБС и подушку безопасности, а если выбрать профиль от Логана то читает Систему Впрыска. Впринцепе все что мне надо.  Может знает почему так кто то ? Автору огромное СПАСИБО за труд, и не забывать про проект, добавить бы еще графики, было бы супер. На выходных попробую на Трафике 2007 г интересует коррекция по форсам, смогу ли увидеть?

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

16 hours ago, DeviLav said:

И ещё, а как узнать правильность команды и за что она отвечает из сценария?

Детали как раз в том самом bqm файле. Там воедино сводятся и алгоритм работы и команды и подписи.

12 hours ago, yurets12 said:

Если выбрать профиль Renault Symbol/Thalia то читает только ЦЭКБС и подушку безопасности, а если выбрать профиль от Логана то читает Систему Впрыска.

Дайте посмотреть логи сканирования с обоими профилями???

16 hours ago, adamoff said:

Реально увидеть клипом пробег на машине без сажевого?

Зависит от того какие блоки стоят

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

В 15.09.2016 at 15:41, Shr-lnm сказал:

В логе от 0994 только удачная попытка??? Интересно посмотреть на неудачную. Если там только одна команда ATWS то проблема в подключении по BT

Да, в логе только at ws.

https://yadi.sk/d/wNqUv-mSvNdTT

Это либо адаптер, либо телефон иной раз работает неверно?

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

5 минут назад, romdn сказал:

Да, в логе только at ws.

https://yadi.sk/d/wNqUv-mSvNdTT

Это либо адаптер, либо телефон иной раз работает неверно?

При неудачных попытках проверьте, что никакие другие приложения не используют подключение к адаптеру (типа Torque в фоне не висит и т.д.)

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

Как сделать логи сканирования? 

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

Господа!

Я не могу понять как распечатать или конвертировать лог созданный pyren.

Заранее благодарю ответивших.

Изменено пользователем Дмитрий Lys

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

2 hours ago, yurets12 said:

Как сделать логи сканирования? 

запустить скрипт с ключом --log=log.txt или если под андроид, то раскоментарить соответствующую строчку в лаунчере.

28 minutes ago, Дмитрий Lys said:

не могу понять как распечатать или конвертировать лог созданный pyren.

А что вы хотите получить в итоге? зачем его печатать или во что вы хотите его конвертировать? 

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

В 18.09.2016 at 11:13, Shr-lnm сказал:

Сервисы и мнемоники описаны только в SG файлах. От сервисов отталкиваются в базе DDT, там они называются  <Request> и оттуда ссылаются на мнемоники <Data>. В клипе другая последовательность <Parametr|State|Identification> - <формула> - <Mnemonic> - <Service>  или <Command> - <Service>

Ага. Время будет - попробую разобраться с SG. Спасибо.

А сейчас такой вопрос возник. Если включить логирование в CSV, скрипт пишет так же как клип - параметры/состояния в виде их кодов (PR001,E012 и т.п.). Это не очень удобно, поскольку я наизусть их не помню, а копировать каждый раз в экселевский файл из документации очень долго. Кроме того, значения состояний/параметров храняться в виде кодов, а не в виде "человеческих" значений.

Я попытался переделать код немного. В mod_ecu_state в функцию get_state внес изменения:

  if mod_globals.os=='android':
    csv_val = st.value
    st.value = " "*(8-len(st.value)/2) + st.value
    #return "%-6s %-50s %-20s"%(st.codeMR,st.label,st.value), st.helps, tmp_val
    return "%-6s %-41s %-16s"%(st.codeMR,st.label,st.value), st.helps, csv_val
  else:
    csv_val = st.value
    st.value = " "*(16-len(st.value)/2) + st.value
    #return "%-6s %-50s %-20s"%(st.codeMR,st.label,st.value), st.helps, tmp_val
    return "%-6s %-50s %-20s"%(st.codeMR,st.label,st.value), st.helps, csv_val

Т.е. попробовал подменить значение, которое пойдет в CSV. Вместо кода значения в CSV будет передаваться "расшифрованное" значение.

В mod_ecu внес изменения, чтобы заголовки столбцов писались "человеческие":

    if mod_globals.opt_csv:
      # prepare to csv save
      csvline = u"time"
      nparams = 0
      for dr in datarefs:
        if dr.type=='State':
          #csvline = csvline + ";" + self.States[dr.name].codeMR
          csvline = csvline + ";" + self.States[dr.name].label + "(" + self.States[dr.name].codeMR + ")"
          nparams += 1
        if dr.type=='Parameter':
          #csvline = csvline + ";" + self.Parameters[dr.name].codeMR
          csvline = csvline + ";" + self.Parameters[dr.name].label + "(" + self.Parameters[dr.name].codeMR + ")"
          nparams += 1
      if nparams:
        csv_filename = datetime.now().strftime("%y_%m_%d_%H_%M_%S_")
        #csv_filename = csv_filename+self.ecudata['ecuname']+'_'+path+".csv"
        csv_filename += ".csv"
        #csv_filename = csv_filename.replace('/','_')
        #csv_filename = csv_filename.replace(' : ','_')
        #csv_filename = csv_filename.replace(' -> ','_')
        csvf = open("./csv/"+csv_filename, "wt")

Тут сразу пришлось отказаться от дефолтного наименования файла - у меня скрипт падал на андроиде. Фиг понял почему, скорее всего, из-за наличия русских буков. Поэтому сократил имя файла только до даты.

При записи заголовка скрипт тоже падал. Чисто наобум внес изменение - заработало:

      if mod_globals.opt_csv and csvf!=0:
        csvline = csvline + "\n"
        csvline = csvline.replace('.',',')
        #csvf.write( csvline )
        csvf.write( pyren_encode(csvline) )
        csvf.flush() 
        csvline = datetime.now().strftime("%H:%M:%S.%f")

Но поскольку я не питонщик, словил еще падение скрипта при записи CSV в файл и уже не пойму, что тут надо сделать. Я так понимаю, тоже из-за русских букв

        if mod_globals.opt_csv and csvf!=0 and (dr.type=='State' or dr.type=='Parameter'):
          csvline = csvline + ";" + str(csvd)

Сейчас пойду учить науку о сторках и прочих юникодах в питоне, но если кто сразу видит, где ошибка - скажите, плз :)

 

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

To:Slava.Vrn Спасибо за заинтересованность в развитии скрипта.
Названия параметров в заголовке вместо описания сделал только ради компактности таблиц.
Состояния специально делал численные без расшифровки, чтобы по ним можно было строить графики. Чтобы убить двух зайцев сразу можно возвращать и число и "расшифровку" через какой-нибудь символ
Например:
csv_val = tmp_val+'@'+st.value
потом в таблице можно будет разбить по колонкам. Только и шапке нужно этот символ вставить.

pyren_encode() универсальное лекарство от падений на русских буквах, если не получится, то пришлите свой вариант модулей и скриншот ошибки. Без него сложно понять в чем проблема.

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

24 минуты назад, PyRen сказал:


pyren_encode() универсальное лекарство от падений на русских буквах, если не получится, то пришлите свой вариант модулей и скриншот ошибки. Без него сложно понять в чем проблема.
 

Вроде что-то получилось, только эксель кракозяблы показывает при открытии непосредственно CSV-файла. Если делать импорт данных из текстового файла - определяет нормально кодировку UTF-8 и показывает нормально:

 

time НАПРЯЖЕНРР• РџРРўРђРќРРЇ КОМПЬЮТЕРА(PR008) РџРћР›,РЫЧ,ПЕР,ПЕРЕДАЧ(ET012) ВКЛЮЧЕННОЕ ПЕРЕДАТОЧНОЕ РћРўРќРћРЁ,(ET013) ПЕДАЛЬ РўРћР РњРћР—Рђ(ET018) ПОЛОЖЕНРР• ПЕДАЛРАКСЕЛЕРАТОРА(PR022) РЕЖРРњ ДВРГАТЕЛЯ(PR006) ВХОДНОЙ РЕЖРРњ КОРОБКР(PR014) РЕЖРРњ РќРђ ВЫХОДЕ КОРОБКР(PR005) РЎРљРћР РћРЎРўР¬ РђР’РўРћРњРћР‘РЛЯ(PR105) ТЕМПЕРАТУРА МАСЛА КОРОБКРПЕРЕДАЧ(PR004) ТЕМПЕРАТУРА ВОДЫ(PR001)
51:25,8 0 P ВО ОТПУЩЕНА 0 0 0 0 0 -50 -40
52:32,8 0 P ВО ОТПУЩЕНА 0 0 0 0 0 -50 -40
52:40,1 0 P ВО ОТПУЩЕНА 0 0 0 0 0 -50 -40
52:43,1 0 P ВО ОТПУЩЕНА 0 0 0 0 0 -50 -40
52:46,6 0 P ВО ОТПУЩЕНА 0 0 0 0 0 -50 -40

 

Вот от этого бы сейчас избавиться... А потом я допилю нормально, чтобы это через опции выбиралось, в каком формате CSV сохранять

Фух. Вроде получилось все.

Изменено пользователем Slava.Vrn

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

Знач, в итоге так. Я понимаю, что я щас быдлокодю ради быстрого результата, но пока это работает.

Вот 3 файла, которые я поменял в скрипте: https://yadi.sk/d/BlGzN3dhvQ7do

 

Вопрос к знатокам питона:

С точки зрения быстродействия, различные варианты формирования CSV-файла лучше сделать условиями в коде (традиционный подход), перезагрузкой методов (для каждого варианта своя функция) или подсовыванием модулей?

Дело в том, что у меня пока адово медленное быстродействие. На запись примерно 30 параметров, получаемых одним-единственным запросом, уходит 800 миллисекунд. Это очень много. Поэтому сейчас хотелось бы оптимизировать код. Правда, это на андроиде. Надо с компа попробовать

Поделиться этим сообщением


Ссылка на сообщение
Ссылка на комментарий
Поделиться на других сайтах

  • MrAlex закрепил тему форума

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Дни Рождения сегодня:

    • Владислав_SR
    • Старый_Партизан
    • SHAGIK
    • DemonDnepr
    • Василий9272
    • AlexClean
    • Smolit74
    • АртёмКерчь
    • HID
    • DIFMON
    • Kostean
    • Andruxa51RUS
    • Евгений_51
    • rgyozh
    • AJIEHA
    • romprik
    • Алеся
    • нэмо
    • Альберто
    • loganr
    • Всеволод
    • dvs
    • yakub
  • Статистика пользователей

    82 416
    Всего пользователей
    5 686
    Максимальный онлайн
    BobbyeriStype
    Новый пользователь
    BobbyeriStype
    Регистрация