Expand description
Запуск задач, общих для всех компонентов, выполняющих опрос устройств по шине
Структура компонентов, выполняющих функцию опроса устройств по протоколам I2C, SPI и UART, практически идентична. Компоненты, работающие по заданной структуре:
– cmp_linux_i2c_master
– cmp_linux_spi_master
– cmp_linux_uart_master
– cmp_esp_i2c_master
– cmp_esp_spi_master
– cmp_esp_uart_master
– cmp_modbus_client
Цифрами 1, 2, 3, 4 помечены каналы передачи данных, соответствующие каналам на структуре драйвера устройства.
| Название | Описание |
|---|---|
| MsgbusToBroadcast | Задача принимает входящие сообщения из шины MsgBus и рассылает их всем драйверам устройств DeviceDriver_i |
| DeviceDriver_i | Драйвера устройств. На основе входящих сообщений создают запросы для передачи по шине. Также формируют периодические запросы. |
| AddIndex_i | Добавляет индекс драйвера устройства к запросу. Индекс необходим для передачи ответа из шины конкретному драйверу устройства. |
| FieldbusProcess | Задача коммуникации через интерфейс. Конкретная реализация для разных компонентов отличается (I2C, SPI и т.д.). |
| Split | Задача принимает ответные данные из интерфейса и передаёт конкретному драйверу устройства по индексу. |
| DeviceDriver_i | Драйвера устройств. В данном случае драйвера обрабатывают ответы из интерфейса и формируют исходящие сообщения. |
| FilterIdentical | Фильтрация исходящих сообщений. На выход передаются только те сообщения, в которых изменились данные. Фильтрация необходима, чтобы снизить нагрузку на шину сообщений. |
| MpscToMsgbus | Передаёт полученные сообщения в шину MsgBus. |
Документация по драйверам устройств - master_device
Structs§
- Fieldbus
Execution - Запуск задач, общих для всех компонентов, выполняющих опрос устройств по шине