Задание скорости передачи данных на шине CANFD (FLAG_CONFIG_BUS_SPEED_FD 0x01) deprecated¶
Данная настройка помечена как устаревшая (deprecated).
Для настройки скорости передачи данных канала устройства, подключенного к шине CANFD, используется структура:
typedef struct {
CommandHeader header;
uint8_t speed;
} __attribute__((packed)) ChannelConfigureSpeed;
Здесь в поле speed заносится индекс предзаданной скорости.
enum dataCanBitrate {
DATA_BITRATE_500K = 0,
DATA_BITRATE_1000K,
DATA_BITRATE_2000K,
DATA_BITRATE_4000K,
DATA_BITRATE_5000K
};
Запрос
Поле | Значение |
header.command | 0x11 |
header.sequence | порядковый номер запроса |
header.flags | FLAG_CHANNEL_x + FLAG_CONFIG_BUS_SPEED_FD |
header.dSize | 0x01 |
speed | значение из dataCanBitrate |
Ответ
Если запрос успешно обработан и значение индекса скорости в поле speed задано из допустимого диапазона значений.
Поле | Значение |
command | 0x91 |
sequence | порядковый номер запроса |
flags | 0x00 |
dSize | 0x00 |
Если запрос не обработан.
Поле | Значение |
command | 0xFF |
sequence | порядковый номер запроса |
flags | 0x00 |
dSize | 0x00 |
Пример
Настройка канала 2 на скорость данных 1000Кбит.
⇒ 11 xx 41 01 01
⇐ 91 xx 00 00
Настройка канала 2 с заданием неверного индекса скорости.
⇒ 11 xx 41 01 10
⇐ FF xx 00 00