Я использую cantools в python для декодирования некоторых сообщений CAN, прочитанных из socketcan.В python я могу прочитать сообщение из сокета и декодировать его просто:
message = can_bus.recv()
decoded_msg = db.decode_message(msg.arbitration_id, msg.data)
, где can_bus - сокет, а db - загруженный файл dbc.Теперь я сгенерировал файлы C .h и .c, начиная с моего файла .dbc.Как я могу декодировать сообщение CAN, полученное в C, используя автоматически сгенерированные файлы?Я могу прочитать сообщение из сокета следующим образом (в C):
nbytes = read(s, &frame, sizeof(struct can_frame));
, где s - сокет, а frame - это место, где хранится полученный кадр.Как я могу декодировать полученный кадр, используя автоматически сгенерированные файлы .h и .c?