Выставить ответ в шину (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