Служба CAN предназначена для управления конфигурацией сети CAN.
Управление конфигурацией сети CAN возможно при наличии разрешения "can" или "all" в профиле пользователя, выполняющего запрос.
Управление осуществляется следующими командами в поле "querrytype":
getcan - получить информацию о стыке CAN. Дополнительные параметры:
- k - идентификатор сессии пользователя;
- if - имя стыка CAN ("can0" или "can1").
Ответ содержит информацию о состоянии модуля, а также о подключенных и сконфигурированных устройствах (если они есть), и имеет вид:
|
Где, значение атрибутов узла can:
- state - состояние стыка:
- "up" - интерфейс в работе;
- "down" - интерфейс отключен;
- mode - режим работы:
- "normal" - режим измерений;
- "config" - режим конфигурации;
- timestamp - время последнего обновления информации о стыке (формат Unix Time Stamp).
Значение атрибутов узла device:
- node_id - Node ID, идентификатор ноды;
- vid - Vendor ID, идентификатор производителя устройства CAN;
- pcode - Product Code, тип устройства CAN (цифровой код);
- rev - Revision, ревизия программного обеспечения устройства CAN;
- sn - Serial Number, серийный номер устройства CAN;
- state - текущее состояние устройства;
- desc - описание подключенного устройства.
deldevicecan - удалить устройство из конфигурации стыка CAN. Дополнительные параметры:
- k - идентификатор сессии пользователя;
- if - имя стыка CAN ("can0" или "can1");
- node_id - идентификатор ноды устройства на стыке CAN (1..127).
savecan - сохранить конфигурацию для стыка CAN. Дополнительные параметры:
- k - идентификатор сессии пользователя;
- if - имя стыка CAN ("can0" или "can1").
ctlcan - управление стыком CAN. Дополнительные параметры:
- k - идентификатор сессии пользователя;
- if - имя стыка CAN ("can0" или "can1");
- mode - режим работы демона низкого уровня. Возможные значения:
- normal - переводит стык в режим нормальной работы
- config - переводит стык в режим конфигурирования
- restart - рестарт демона низкого уровня (при изменении файла конфигурации).
Конфигурирование устройств на шине
Команда ctlcan, с полем mode=config, переводит соответствующий модуль в режим поиска и конфигурирования устройств, подключенных к шине. Процесс конфигурации занимает некоторое время, чем больше подключено устройств, тем больше времени требуется для их конфигурации. При этом состояние модуля можно проверять командой getcan, по полю mode в ответе, пока оно не вернется из значения config к значению normal. При этом, если были обнаружены устройства, модуль должен включиться в работу, т.е. поле state=up.