Pull to refresh

Comments 6

Сталкивался с тем, что размер одного DID не может превышать 7 байт на Volvo поколения P3. На Haval вообще, поддерживается только режим чтения адресов памяти через Read Memory By Addr, и то, только движок. Прошивка робота вообще данные не отдаёт. Короче, всё сильно ограничено у производителей. Хоть дописывай свои обработчики. Если бы было больше выхлопа с этого, то написал бы уже.

 на Volvo поколения P3. На Haval вообще, 

Какие еще протоколы циркулируют в CAN на легковых автомобилях кроме UDS?

UFO landed and left these words here

Если 32 битное DID значение изменить с 2000 на значение в 1 000 000 (пакетом WriteDataByIdentifier), то надо ли UDS серверу автоматически менять scale и корректировать мантиссу в ответных пакетах ReadScalingDataByIdentifier (с 2kilo на 1mega)?

Вот есть в UDS пакет InputOutputControlByIdentifier и в нем есть механизм кратковременной подмены значения для конкретного DID.

Здорово! Отличная идея!

Вот только спецификация почему-то не конкретизирует сколько секунд надо считать под термином shortTermAdjustmentShortTerm это сколько? 1 сек? 2 сек? 4 сек?


Казалось бы надо добавить в структуру пакета поле для указания timeOut, однако его в пакете по стандарту просто нет.
Вот такие пирожки…

В UDS вообще все очень просто:

  1. UDS описывает общую идею и как это примерно должно работать

  2. UDS оставляет производителям право поддерживать, не поддерживать либо менять под себя куски спецификации (на деле - что можно менять оговорено, но от этого не легче, ибо этого уж очень много).

В итоге имеем этакий очень обтекаемый простокол: у кого-то есть UDS, но в нем не поддерживается вообще никакой сахар. список DID есть у производителя, и этот список не сквозной, а разбит на кучку по 5 чисел. Причем разные части доступны в сессиях разного уровня, а в этих сессиях они доступны в разных режимах работы.

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

Sign up to leave a comment.

Articles