Проект

Общее

Профиль

Режим взаимодействия с шиной (FLAG_CONFIG_MODE 0x09) deprecated

Можно указать режим работы с CAN шиной: активный режим (Normal), когда доступен и приём и передача данных, или пассивный режим (Listen only), когда устройство только слушает шину данных. Для некоторых устройств доступен режим петли, когда канал не подключается к шине, а отправленные данные сразу попадают на вход.
Для настройки данного параметра используется следующая структура:

enum CHANNEL_MODES {
    MODE_NORMAL   = 0x00,
    MODE_LISTEN   = 0x01,
    MODE_LOOPBACK = 0x02
};

typedef struct {
    CommandHeader header;
    uint8_t mode;
} __attribute__((packed)) ChannelConfigureMode;

Запрос

Поле Значение
header.command 0x11
header.sequence порядковый номер запроса
header.flags FLAG_CHANNEL_x + FLAG_CONFIG_MODE
header.dSize 0x01
mode значение из CHANNEL_MODES

Ответ
Если запрос успешно обработан и значение режима работы канала задано из допустимого диапазона значений.

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

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

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

Пример
Задание режима работы канала 1 в режиме только прослушивания шины

⇒ 11 xx 29 01 01
⇐ 91 xx 00 00

Задание режима работы канала 1 с неправильным значением.

⇒ 11 xx 29 01 05
⇐ FF xx 00 00