zephyr/subsys/zbus/Kconfig
Rodrigo Peixoto b8ecbfaa57 zbus: Add message bus subsystem to Zephyr
Add zbus message bus as a Zephyr subsystem. No message bus
or communication abstraction other than the usual (message queues,
mailboxes, etc.) enabled developers to implement event-driven systems in
Zephyr quickly. Zbus would fill that gap by providing the community with
a lightweight and flexible message bus. The implementation tries to be
closest as possible to the existing ones. We use the claim/finish
approach, and the API for publishing and reading channels are similar
in message queues. Zbus is about channels, messages, and observers.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2022-11-14 17:25:29 -05:00

43 lines
1.2 KiB
Text

# Copyright (c) 2022 Rodrigo Peixoto <rodrigopex@gmail.com>
# SPDX-License-Identifier: Apache-2.0
menuconfig ZBUS
bool "Zbus support"
help
Enables support for Zephyr message bus.
if ZBUS
config ZBUS_STRUCTS_ITERABLE_ACCESS
bool "Zbus iterable sections support."
depends on !XTENSA && !ARCH_POSIX
default y
config ZBUS_CHANNEL_NAME
bool "Channel name field"
config ZBUS_OBSERVER_NAME
bool "Observer name field"
config ZBUS_RUNTIME_OBSERVERS_POOL_SIZE
int "The size of the runtime observers pool."
default 0
help
When the size is bigger than zero this feature will be enabled. It applies the Object Pool Pattern,
where the objects in the pool are pre-allocated and can be used and recycled after use. The
technique avoids dynamic allocation and allows the code to increase the number of observers by
only changing a configuration.
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.
module = ZBUS
module-str = zbus
source "subsys/logging/Kconfig.template.log_config"
endif # ZBUS