socketcan Candump - Как я могу расширить CAN ID?

Я хотел бы получить данные CAN автомобиля в разъем CAN и отправить их на сервер. (необработанные данные)

Соответственно, CAN ID очень важен при постобработке необработанных данных, отправляемых на сервер. Идентификатор данных CAN, полученный Candump и wireshark, состоит всего из 3 цифр, поэтому трудно различить, какие это данные. Например, несмотря на то, что мне нужно получить CAN ID 0x1f532d10, из socketcan принимается и отображается только d10.

Есть ли способ получить длину идентификатора в целом?

candump


person youna    schedule 28.01.2021    source источник
comment
У меня сложилось впечатление, что он должен отображаться правильно, если виден расширенный кадр. Вы уверены, что отправляется расширенный кадр? Также, возможно, актуально, stackoverflow.com/q/57986218   -  person Hasturkun    schedule 28.01.2021


Ответы (1)


Если вы используете SocketCAN для отправки кадров, вам необходимо установить бит расширенного формата кадра в поле can_id структуры can_frame, например:

frame.can_id |= CAN_EFF_FLAG;
person Andreas Magnusson    schedule 03.02.2021