| # Copyright (c) 2022 Rodrigo Peixoto <rodrigopex@gmail.com> |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| menuconfig ZBUS |
| bool "Zbus support" |
| depends on MULTITHREADING |
| help |
| Enables support for Zephyr message bus. |
| |
| if ZBUS |
| |
| config ZBUS_CHANNELS_SYS_INIT_PRIORITY |
| default 5 |
| int "The priority used during the SYS_INIT procedure." |
| |
| config ZBUS_CHANNEL_NAME |
| bool "Channel name field" |
| |
| config ZBUS_OBSERVER_NAME |
| bool "Observer name field" |
| |
| config ZBUS_CHANNEL_PUBLISH_STATS |
| bool "Channel publishing statistics (Timestamp and count)" |
| |
| config ZBUS_MSG_SUBSCRIBER |
| select NET_BUF |
| bool "Message subscribers will receive all messages in sequence." |
| |
| if ZBUS_MSG_SUBSCRIBER |
| |
| choice ZBUS_MSG_SUBSCRIBER_BUF_ALLOC |
| prompt "ZBus msg_subscribers buffer allocation" |
| default ZBUS_MSG_SUBSCRIBER_BUF_ALLOC_DYNAMIC |
| |
| config ZBUS_MSG_SUBSCRIBER_BUF_ALLOC_DYNAMIC |
| bool "Use heap to allocate msg_subscriber buffers data" |
| |
| config ZBUS_MSG_SUBSCRIBER_BUF_ALLOC_STATIC |
| bool "Use fixed data size for msg_subscriber buffers pool" |
| |
| endchoice |
| |
| config ZBUS_MSG_SUBSCRIBER_NET_BUF_POOL_ISOLATION |
| default n |
| bool "Use isolated pools instead of only using the global pool." |
| |
| config ZBUS_MSG_SUBSCRIBER_NET_BUF_POOL_SIZE |
| default 16 |
| int "The count of net_buf available to be used simutaneously." |
| |
| if ZBUS_MSG_SUBSCRIBER_BUF_ALLOC_STATIC |
| |
| config ZBUS_MSG_SUBSCRIBER_NET_BUF_STATIC_DATA_SIZE |
| int "The size of the biggest message used with ZBus." |
| |
| endif # ZBUS_MSG_SUBSCRIBER_BUF_ALLOC_STATIC |
| |
| endif # ZBUS_MSG_SUBSCRIBER |
| |
| config ZBUS_RUNTIME_OBSERVERS |
| bool "Runtime observers support." |
| |
| config ZBUS_PRIORITY_BOOST |
| bool "ZBus priority boost algorithm" |
| default y |
| help |
| ZBus implements the Highest Locker Protocol that relies on the observers’ thread priority |
| to determine a temporary publisher priority. |
| |
| config ZBUS_ASSERT_MOCK |
| bool "Zbus assert mock for test purposes." |
| help |
| This configuration enables the developer to change the _ZBUS_ASSERT behavior. When this configuration is |
| enabled, _ZBUS_ASSERT returns -EFAULT instead of assert. It makes it more straightforward to test invalid |
| parameters. |
| |
| |
| config HEAP_MEM_POOL_ADD_SIZE_ZBUS |
| int |
| default 2048 if ZBUS_MSG_SUBSCRIBER_BUF_ALLOC_DYNAMIC && !ZBUS_RUNTIME_OBSERVERS |
| default 1024 if !ZBUS_MSG_SUBSCRIBER_BUF_ALLOC_DYNAMIC && ZBUS_RUNTIME_OBSERVERS |
| default 3072 if ZBUS_MSG_SUBSCRIBER_BUF_ALLOC_DYNAMIC && ZBUS_RUNTIME_OBSERVERS |
| |
| |
| module = ZBUS |
| module-str = zbus |
| source "subsys/logging/Kconfig.template.log_config" |
| |
| endif # ZBUS |