Проект

Общее

Профиль

Формат трейса (версия 3)

Строка 1: <Format, always TEXT> <Version, always 3> <System, 32 or 64> <Devices count, always 0> <RowCount> <Time in ms> <Time hh:mm:ss.zzz>
Строка 2: # Meta information
Строка N: # Meta information
Строка M: <TimeStamp>TAB<Channel>TAB<Flags>TAB<MsgID>TAB<DLC>TAB<Data>TAB<CRC>TAB<ASCII>TAB<Comment>

Теперь рассмотрим детально поля.

Строка 1: @ TEXT @ 3 @ 64 @ 0 @ 3008 @ 82453 @ 00:01:22.453 @
Поле Описание Значение из лога
Format Формат данных представленных в логе. На данный момент оставлен только TEXT TEXT
Version Версия формата лога. Текущая 3 3
System В какой системе сделан лог, 32-битной или 64-битной. Просто информационное поле 64
Device count Количество устройств, участвовавших в формировании лога. Игнорируется 0
RowCount Количество строк с данными.Игнорируется 3008
Time in ms Информационное поле, в котором отмечен интервал времени в мс, за который снят лог. Игнорируется, можно задать 0 82453
Time Информационное поле, в котором отмечен интервал времени, за который снят лог. Игнорируется, можно задать 00:00:00 00:01:22.453

Строка 2..N: # $LocalTime=12:05:10.123
На данный момент в метаинформации поддерживается только задание локального времени, во сколько начата запись лога.

Строки N:

26,678369    1    80000004    001    8    00 00 00 00 00 00 00 00    00000000                

Столбцы в данных должны быть разделены символом табуляции.

Поле Описание
TimeStamp Временная метка, полученная от CAN-Hacker. Разделена на 2 части, разделенные символом "," (запятая). Первая часть, значение в секундах. Вторая часть, значение в мс или мкс
Channel Логический номер канала
Flags Битовые флаги с видом данных
MsgID Шестнадцатеричный идентификатор сообщения
DLC Длина сообщения. Зависит от типа сообщения
Data Шестнадцатеричное представление байтов данных с разбивкой пробелами. Для больших данных пробелы могут игнорироваться.
CRC Контрольная сумма. Используется для данных из LIN-шины
ASCII Текстовое представление данных. В разборе данных не участвует.
Comment Комментарий к записи в логе

Доступные флаги

#define ciFlag29bit                  0x00000001U
#define ciFlagError                  0x00000002U
#define ciFlagCAN                    0x00000004U
#define ciFlagRTR                    0x00000008U
#define ciFlagCAN_FD                 0x00000010U
#define ciFlagBRS                    0x00000020U
#define ciFlagLIN                    0x00000100U
#define ciFlagCRC_fail               0x00000200U
#define ciFlagCRC_ok                 0x00000400U
#define ciFlagMaster                 0x00000800U
#define ciFlagSlave                  0x00001000U
#define ciFlagClassicCRC             0x00002000U
#define ciFlagEnhancedCRC            0x00004000U
#define ciFlagESI                    0x00020000U
#define ciFlagTX_ALS                 0x00100000U
#define ciFlagTX_ERR                 0x00200000U
#define ciFlagTX_ABR                 0x00400000U
#define ciFlagJ1939                  0x08000000U
#define ciFlagCRC_1b                 0x10000000U
#define ciFlagTX                     0x80000000U