• Shteibezandt_VA released this 2026-06-01 15:20:58 +03:00 | 1 commits to CAN_Protocol since this release

    Описание релиза

    В рамках этого релиза добавлена возможность отправки сообщений по протоколу с помощью функции:

    PROTOCAN_StatusTypeDef PROTOCAN_SEND(ProtoCanId_t id, ProtoCanData_t data);

    Основные изменения

    Отправка по ProtoCan

    Добавлена функция PROTOCAN_SEND, которая позволяет отправлять сообщения по протоколу ProtoCan. Пока что поддерживается только сообщения с типом:
    PROTOCAN_MSGTYPE_GENERAL_ADDRESS_SPACE

    ProtoCanId_t

    Для подготовки сообщения необходимо заполнить структуру ProtoCanId_t, указав:

    • MsgType — значение PROTOCAN_MSGTYPE_GENERAL_ADDRESS_SPACE
    • Route — должно быть PROTOCAN_ROUTE_FROM_DEVICE
    • DeviceType и DeviceID — заполнить согласно текущим определениям CURRENT_TYPE_DEVICE и CURRENT_ID_DEVICE.
    • Остальные поля идентификатора заполняются по необходимости.

    ProtoCanData_t

    Передача данных осуществляется через структуру ProtoCanData_t, которая содержит вложенные структуры с полями, необходимыми для отправки сообщений конкретных типов.
    За PROTOCAN_MSGTYPE_GENERAL_ADDRESS_SPACE отвечает структура GeneralAddressSpaceData с следующими полями:

    • uint16_t RegStartAdr — Начальный адрес регистров.
    • uint16_t *Data — Указатель на массив данных.
    • unsigned RegCount — Количество регистров.

    Массив Data может содержать любое количество регистров, а функция сама сформирует пакеты, необходимые для передачи.

    Downloads