Пользовательский API
В этом разделе представлен набор пользовательских функций, реализованных в библиотеке unican_ard.h.
Функции
Инициализация
uint8_t UCanArd.Init();
Возвращает 0 в случае успешного выполнения.
Смена собственного UniCAN ID
uint8_t UCanArd.ChangeSelfId(uint8_t self_id);
В качестве аргумента передаётся новый ID в диапазоне от 0х1 до 0х1F. Не рекомендуется использовать ID=0x1 или идентификатор который может быть использован другими устройствами. Значение по умолчанию: 0x1A.
Возвращает 0 в случае успешного выполнения.
Смена UniCAN ID головного устройства
uint8_t UCanArd.ChangeMasterId(uint8_t master_id);
В качестве аргумента передаётся новый ID в диапазоне от 0х1 до 0х1F. Не рекомендуется использовать ID=0x1 или идентификатор который может быть использован другими устройствами. Значение по умолчанию: 0x05.
Возвращает 0 в случае успешного выполнения.
Деинициализация
uint8_t UCanArd.DeInit();
Возвращает 0 в случае успешного выполнения.
Получение CAN сообщения
uint8_t UCanArd.ReceiveTask();
Возвращает 0 в случае успешного выполнения.
Отправка UniCAN сообщения:
uint8_t UCanArd.SendMessage(uint8_t receiver_id, uint16_t msg_id, uint8_t* data, uint8_t length);
Аргументы:
- UniCAN ID получателя;
- MSGid;
- указатель на первый байт данных и размер данных в байтах.
Возвращает 0 в случае успешного выполнения.
Отправка UniCAN сообщения головному устройству
uint8_t UCanArd.SendMessageToMaster(uint16_t msg_id, uint8_t* data, uint8_t length);
Аргументы:
- MSGid;
- указатель на первый байт данных и размер данных в байтах.
Возвращает 0 в случае успешного выполнения.
Прочитать последнее сохранённое сообщение
uint8_t UCanArd.ReadMessage(uint8_t* sender_id, uint16_t* msg_id, uint8_t* data, uint8_t* length);
Аргументы:
- указатель на переменные для UniCAN ID получателя;
- MSGid;
- указатель на первый байт данных и указатель на переменную для размер данных в байтах.
Возвращает 0 в случае успешного выполнения, 1 - в случае отсутсвия нового сообщения.
Ответить подтверждением
uint8_t UCanArd.SendAck(uint8_t receiver_id);
Используется стандартный MSGid 0x0118.
Аргументы:
- UniCAN ID получателя.
Возвращает 0 в случае успешного выполнения.
Ответить отказом
uint8_t UCanArd.SendNack(uint8_t receiver_id);
Используется стандартный MSGid 0x0119.
Аргументы:
- UniCAN ID получателя.
Возвращает 0 в случае успешного выполнения.