Embedded SW/Firmware Engineer
Information
- Rating
- 126-th
- Location
- Москва, Москва и Московская обл., Россия
- Registered
- Activity
Specialization
Инженер встраиваемых систем, DevOps-инженер
Старший
Git
Bash
CI/CD
C
Встраиваемая система
Программирование микроконтроллеров
Разработка программного обеспечения
Алгоритмы и структуры данных
Системное программирование
Разработка драйверов
Вот есть в UDS пакет InputOutputControlByIdentifier и в нем есть механизм кратковременной подмены значения для конкретного DID.
Здорово! Отличная идея!
Вот только спецификация почему-то не конкретизирует сколько секунд надо считать под термином shortTermAdjustment. ShortTerm это сколько? 1 сек? 2 сек? 4 сек?
Казалось бы надо добавить в структуру пакета поле для указания timeOut, однако его в пакете по стандарту просто нет.
Вот такие пирожки…
Вот есть в UDS пакет InputOutputControlByIdentifier и в нем есть механизм кратковременной подмены значения для конкретного DID.
Здорово! Отличная идея!
Вот только спецификация почему-то не конкретизирует сколько секунд надо считать под термином shortTermAdjustment. ShortTerm это сколько? 1 сек? 2 сек? 4 сек?
Казалось бы надо добавить в структуру пакета поле для указания timeOut, однако его в пакете по стандарту просто нет.
Вот такие пирожки…
Здорово, что удалось накатить и стартануть прошивку!
Если найдете в ней баги, то пишите.
https://m.dzen.ru/a/aThUv1JLY2cMpjt3?utm_source=yxnews&utm_medium=mobile
Какой протокол Вы собираетесь использовать поверх CAN шины?
Как можно покрыть модульными тестами программу мат модели для Simulink?
Ведь там вместо кода рисунок алгоритма.
Как можно протестировать рисунок?
Если 32 битное DID значение изменить с 2000 на значение в 1 000 000 (пакетом WriteDataByIdentifier), то надо ли UDS серверу автоматически менять scale и корректировать мантиссу в ответных пакетах ReadScalingDataByIdentifier (с 2kilo на 1mega)?
Какие еще протоколы циркулируют в CAN на легковых автомобилях кроме UDS?
Общался с проектировщиками плат со всех уровней. Никто не мог из своих CAD просто сгенерить таблицу проводов в csv файле. Говорили что софт не позволяет.
Вот. Та же прошивка ,только добавлен виртуальный COM порт на USB mini
https://github.com/aabzel/Artifacts/tree/main/jz_f407vet6_usb_can_gcc_m
Какие параметры обычно есть у АКПП?
Какие там датчики и что они показывают?
Вижу по тексту какие-то обороты, скорость, дроссель, температуру, селектор, передача, блокировка, давления (три вида), диаметр колес, одометр, окружность.
Можно ли написать подробнее про метаданные тех параметров, что заложены в прошивку АКПП?
Вот можете почитать более полный перевод.
Обзор Автомобильного Протокола UDS [ISO 14229-1]
https://habr.com/ru/articles/795385/
В том то и суть. Протоколу UDS всё равно какой там микроконтроллер. UDS универсальный.
Есть ли в UDS протоколе сервис, который возвращает массив известных DID и их количество?
А то проверять DID отправляя каждый раз запрос ReadDataByIdentifier SID=0x22 и проверять все 65536 возможных ответов с таймаутом 100ms - это как-то уж очень долго (110 мин).
UDS плох тем, что для размерности и единиц измерения выделили одно и то же битовое поле. Происходит пере использование переменной.
Это мало того, что выглядит как костыль, дак еще и усложняет софт, как на стороне клиента, так и на стороне прошивки.
В UDS спеке ошибка. И для milli и для micro одинаковый размерный префикс.
Обычно для micro пишут букву u.
Пожалуйста, рад помочь
https://habr.com/ru/articles/683762/
https://github.com/aabzel/trunk/tree/main/source/asics/ssd1306
https://github.com/aabzel/trunk/tree/main/source/storage/font
Просто оставлю это здесь
Офисные джунгли (или особенности западной культуры общения на работе) / Хабр https://share.google/vKYt0YbtEB6YXJzAG
Ну ладно.
Аналогично.
Мне одному кажется, что в спеке на протокол UDS противоречие или это опечатка?
ISO 14229-1:2013(E).
ISO 14229-1 Second edition 2013-03-15
Как быть?
Надо или не надо в поле size указывать число отличное от нуля для типа unit/format?