Проект

Общее

Профиль

Выставить ответ в шину (COMMAND_SLAVE_RESPONSE_SET 0x4A)

Данная команда используется для выставления Slave ответа в LIN шине. Данная команда использует следующую структуру данных:

typedef struct {
    uint32_t msgID;
    uint8_t dlc;
    uint8_t data[8];
} __attribute__((packed)) ToBusMessage;

typedef struct {
    CommandHeader header;
    ToBusMessage slave;
} __attribute__((packed)) SlaveResponse;

Если в поле slave.dlc указывается длина передаваемых данных меньше 8 байт, то поле data может соответствовать количеству данных, указанных в slave.dlc. Тогда header.dSize уменьшается на величину реально передаваемых данных.
Здесь указывается для какого сообщения необходимо выставить Slave ответ. Идентификатор сообщения может быть как с выставленными битами защиты, так и со сброшенными.

Запрос

Поле Значение
header.command 0x4A
header.sequence порядковый номер запроса
header.flags FLAG_CHANNEL_x
header.dSize длина передаваемых данных
slave.msgID идентификатор отслеживаемого сообщения
slave.dlc размер передаваемых данных в шину
slave.data данные, передаваемые в шину

Ответ

Поле Значение
command 0xCA
sequence порядковый номер запроса
flags 0x00
dSize 0x00

Если запрос не обработан.

Поле Значение
command 0xFF
sequence порядковый номер запроса
flags 0x00
dSize 0x00

Пример
Необходимо при получении сообщения (биты защиты сброшены) передать 4 байта данных.

⇒ 4A xx 20 09 00 00 00 01 04 00 00 07 F0
⇐ СA xx 00 00