Проект

Общее

Профиль

Задание скорости передачи данных на шине 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