Режим взаимодействия с шиной (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