Zephyr Kconfig reference#
This page is an auto-generated reference of all of the Kconfig-related options that are available when you use Pigweed with Zephyr.
Caution
This document is a work in progress. If something looks incorrect or incomplete, use the source links to double-check the information in the Kconfig source code.
pw_assert options#
CONFIG_PIGWEED_ASSERT#
Type: bool
Description: Link pw_assert library
See pw_assert for module details.
Source: //pw_assert_zephyr/Kconfig
pw_base64 options#
CONFIG_PIGWEED_BASE64#
Type: bool
Description: Link pw_base64 library
See pw_base64 for module details.
Source: //pw_base64/Kconfig
pw_bytes options#
CONFIG_PIGWEED_BYTES#
Type: bool
Description: Link pw_bytes library
See pw_bytes for module details.
Source: //pw_bytes/Kconfig
pw_checksum options#
CONFIG_PIGWEED_CHECKSUM#
Type: bool
Description: Link pw_checksum library
See pw_checksum for module details.
Source: //pw_checksum/Kconfig
pw_chrono options#
CONFIG_PIGWEED_CHRONO_SYSTEM_CLOCK#
Type: bool
Description: Link pw_chrono.system_clock library
See pw_checksum for module details.
Source: //pw_chrono_zephyr/Kconfig
pw_containers options#
CONFIG_PIGWEED_CONTAINERS#
Type: bool
Description: Link pw_containers library
See pw_containers for module details.
Source: //pw_containers/Kconfig
pw_function options#
CONFIG_PIGWEED_FUNCTION#
Type: bool
Description: Link pw_function library
See pw_function for module details.
Source: //pw_function/Kconfig
pw_hdlc options#
CONFIG_PIGWEED_HDLC_RPC#
Type: bool
Description: Link pw_hdlc.pw_rpc library
See pw_hdlc for module details.
Source: //pw_hdlc/Kconfig
pw_interrupt options#
CONFIG_PIGWEED_INTERRUPT_CONTEXT#
Type: bool
Description: Link pw_interrupt.context library
See pw_interrupt for module details.
Source: //pw_interrupt_zephyr/Kconfig
pw_log options#
CONFIG_PIGWEED_LOG_LEVEL#
Type: int
Default value: 0
Source: //pw_log_zephyr/Kconfig
CONFIG_PIGWEED_LOG_TOKENIZED_LEVEL_BITS#
Type: int
Default value: 3
Description: Number of bits required to present the log level
The total representation size of the metadata is the sum of
- CONFIG_PIGWEED_LOG_TOKENIZED_LEVEL_BITS
- CONFIG_PIGWEED_LOG_TOKENIZED_LINE_BITS
- CONFIG_PIGWEED_LOG_TOKENIZED_FLAG_BITS
- CONFIG_PIGWEED_LOG_TOKENIZED_MODULE_BITS
CONFIG_PIGWEED_LOG_TOKENIZED_LINE_BITS#
Type: int
Default value: 11
Description: Number of bits required to present the log line number
The total representation size of the metadata is the sum of
- CONFIG_PIGWEED_LOG_TOKENIZED_LEVEL_BITS
- CONFIG_PIGWEED_LOG_TOKENIZED_LINE_BITS
- CONFIG_PIGWEED_LOG_TOKENIZED_FLAG_BITS
- CONFIG_PIGWEED_LOG_TOKENIZED_MODULE_BITS
CONFIG_PIGWEED_LOG_TOKENIZED_FLAG_BITS#
Type: int
Default value: 2
Description: Number of bits required for implementation-defined flags
The total representation size of the metadata is the sum of
- CONFIG_PIGWEED_LOG_TOKENIZED_LEVEL_BITS
- CONFIG_PIGWEED_LOG_TOKENIZED_LINE_BITS
- CONFIG_PIGWEED_LOG_TOKENIZED_FLAG_BITS
- CONFIG_PIGWEED_LOG_TOKENIZED_MODULE_BITS
CONFIG_PIGWEED_LOG_TOKENIZED_MODULE_BITS#
Type: int
Default value: 16
Description: Number of bits required for logging the PW_LOG_MODULE_NAME
The total representation size of the metadata is the sum of
- CONFIG_PIGWEED_LOG_TOKENIZED_LEVEL_BITS
- CONFIG_PIGWEED_LOG_TOKENIZED_LINE_BITS
- CONFIG_PIGWEED_LOG_TOKENIZED_FLAG_BITS
- CONFIG_PIGWEED_LOG_TOKENIZED_MODULE_BITS
CONFIG_PIGWEED_MINIMAL_CPP_STDLIB#
Type: bool
Description: Link pw_minimal_cpp_stdlib
Uses the pw_minimal_cpp_stdlib C++ standard library implementation. The build must set -nostdinc++ to exclude the toolchain's standard library. This is NOT a full standard library implementation and may only be used to build pw_tokenizer. see :ref:'module-pw_minimal_cpp_stdlib' for module details.
Source: //pw_minimal_cpp_stdlib/Kconfig
pw_multisink options#
CONFIG_PIGWEED_MULTISINK#
Type: bool
Description: Multisink module used for forwarding multiple attached sinks
See pw_multisink for module details.
CONFIG_PIGWEED_MULTISINK_LOCK_INTERRUPT_SAFE#
Type: bool
Default value: y
Description: Use an interrupt safe lock
When reading and writing from the underlying ring-buffer. The multisink module will use an interrupt safe lock instead of a mutex.
Source: //pw_multisink/Kconfig
CONFIG_PIGWEED_MULTISINK_UTIL#
Type: bool
Description: Link pw_multisink.util library
Include the Pigweed provided utility functions for multisink operations.
Source: //pw_multisink/Kconfig
Source: //pw_multisink/Kconfig
pw_polyfill options#
CONFIG_PIGWEED_POLYFILL#
Type: bool
Description: Link pw_polyfill library
See pw_polyfill for module details.
Source: //pw_polyfill/Kconfig
pw_preprocessor options#
CONFIG_PIGWEED_PREPROCESSOR#
Type: bool
Description: Link pw_preprocessor library
See pw_preprocessor for module details.
Source: //pw_preprocessor/Kconfig
pw_result options#
CONFIG_PIGWEED_RESULT#
Type: bool
Description: Link pw_result library
See pw_result for module details.
Source: //pw_result/Kconfig
pw_router options#
CONFIG_PIGWEED_ROUTER_STATIC_ROUTER#
Type: bool
Description: Link pw_router.static_router library
See pw_router-static_router for library details.
Source: //pw_router/Kconfig
CONFIG_PIGWEED_ROUTER_EGRESS#
Type: bool
Description: Link pw_router.egress library
See pw_router-egress for library details.
Source: //pw_router/Kconfig
CONFIG_PIGWEED_ROUTER_PACKET_PARSER#
Type: bool
Description: Link pw_router.packet_parser library
See pw_router-packet_parser for library details.
Source: //pw_router/Kconfig
CONFIG_PIGWEED_ROUTER_EGRESS_FUNCTION#
Type: bool
Description: Link pw_router.egress_function library
See pw_router-egress for library details.
Source: //pw_router/Kconfig
pw_rpc options#
nanopb options#
CONFIG_PIGWEED_RPC_NANOPB_METHOD#
Type: bool
Description: Link pw_rpc.nanopb.method library
See pw_rpc_nanopb for module details.
Source: //pw_rpc/nanopb/Kconfig
CONFIG_PIGWEED_RPC_NANOPB_METHOD_UNION#
Type: bool
Description: Link pw_rpc.nanopb.method_union library
See pw_rpc_nanopb for module details.
Source: //pw_rpc/nanopb/Kconfig
CONFIG_PIGWEED_RPC_NANOPB_CLIENT#
Type: bool
Description: Link pw_rpc.nanopb.client library
See pw_rpc_nanopb for module details.
Source: //pw_rpc/nanopb/Kconfig
CONFIG_PIGWEED_RPC_NANOPB_COMMON#
Type: bool
Description: Link pw_rpc.nanopb.common library
See pw_rpc_nanopb for module details.
Source: //pw_rpc/nanopb/Kconfig
CONFIG_PIGWEED_RPC_NANOPB_ECHO_SERVICE#
Type: bool
Description: Link pw_rpc.nanopb.echo_service library
See pw_rpc_nanopb for module details.
Source: //pw_rpc/nanopb/Kconfig
CONFIG_PIGWEED_RPC_SERVER#
Type: bool
Description: Link pw_rpc.server library
See pw_rpc for module details.
Source: //pw_rpc/Kconfig
CONFIG_PIGWEED_RPC_CLIENT#
Type: bool
Description: Link pw_rpc.client library
See pw_rpc for module details.
Source: //pw_rpc/Kconfig
CONFIG_PIGWEED_RPC_CLIENT_SERVER#
Type: bool
Description: Link pw_rpc.client_server library
See pw_rpc for module details.
Source: //pw_rpc/Kconfig
CONFIG_PIGWEED_RPC_COMMON#
Type: bool
Description: Link pw_rpc.common library
See pw_rpc for module details.
Source: //pw_rpc/Kconfig
pw_span options#
CONFIG_PIGWEED_SPAN#
Type: bool
Description: Link pw_span library
See pw_span for module details.
Source: //pw_span/Kconfig
pw_status options#
CONFIG_PIGWEED_STATUS#
Type: bool
Description: Link pw_status library
See pw_status for module details.
Source: //pw_status/Kconfig
pw_stream options#
CONFIG_PIGWEED_STREAM#
Type: bool
Description: Link pw_stream library
See pw_stream for module details.
Source: //pw_stream/Kconfig
pw_string options#
CONFIG_PIGWEED_STRING#
Type: bool
Description: Link pw_string library
See pw_string for module details.
Source: //pw_string/Kconfig
pw_sync options#
CONFIG_PIGWEED_SYNC#
Type: bool
Source: //pw_sync_zephyr/Kconfig
CONFIG_PIGWEED_SYNC_MUTEX#
Type: bool
Description: Link pw_sync.mutex library
See pw_sync for module details.
Source: //pw_sync_zephyr/Kconfig
CONFIG_PIGWEED_SYNC_BINARY_SEMAPHORE#
Type: bool
Description: Link pw_sync.binary_semaphore library
See pw_sync for module details.
Source: //pw_sync_zephyr/Kconfig
CONFIG_PIGWEED_SYNC_INTERRUPT_SPIN_LOCK#
Type: bool
Description: Link pw_sync.interrupt_spin_lock library
See pw_sync for module details.
Source: //pw_sync_zephyr/Kconfig
CONFIG_PIGWEED_SYNC_THREAD_NOTIFICATION#
Type: bool
Description: Link pw_sync.thread_notification library
See pw_sync for module details.
Source: //pw_sync_zephyr/Kconfig
CONFIG_PIGWEED_SYNC_TIMED_THREAD_NOTIFICATION#
Type: bool
Description: Link pw_sync.timed_thread_notification library
See pw_sync for module details.
Source: //pw_sync_zephyr/Kconfig
pw_sys_io options#
CONFIG_PIGWEED_SYS_IO#
Type: bool
Description: Enable the Zephyr system IO module
The system I/O module uses the Zephyr console under the hood to perform I/O operations. See pw_sys_io for module details.
CONFIG_PIGWEED_SYS_IO_INIT_PRIORITY#
Type: int
Default value: 1
Description: The initialization priority of the system I/O module
The system I/O module uses the APPLICATION initialization level. Use this config to set the priority.
Source: //pw_sys_io_zephyr/Kconfig
CONFIG_PIGWEED_SYS_IO_USB#
Type: bool
Description: Use the USB for I/O
On init of the system I/O, also enable the Zephyr USB subsystem.
Source: //pw_sys_io_zephyr/Kconfig
Source: //pw_sys_io_zephyr/Kconfig
pw_system options#
CONFIG_PIGWEED_SYSTEM_LOG_BACKEND#
Type: bool
Description: Use pw_system.log_backend as the logging backend
See pw_log for logging module details.
Source: //pw_system/Kconfig
CONFIG_PIGWEED_SYSTEM_TARGET_HOOKS#
Type: bool
Description: Use the backend for the pw_system.target_hooks library
Configure the system's: - log thread - RPC thread - Work queue thread
Source: //pw_system/Kconfig
CONFIG_PIGWEED_SYSTEM_HDLC_RPC_SERVER#
Type: bool
Description: Link pw_system.hdlc_rpc_server library and set backend
Automatically include an HDLC (pw_hdlc) RPC server (pw_rpc) in the system.
Source: //pw_system/Kconfig
CONFIG_PIGWEED_SYSTEM_TARGET_HOOKS_LOG_STACK_SIZE#
Type: int
Default value: 4096
Description: Log thread stack size
Source: //pw_system/Kconfig
CONFIG_PIGWEED_SYSTEM_TARGET_HOOKS_RPC_STACK_SIZE#
Type: int
Default value: 4096
Description: RPC thread stack size
Source: //pw_system/Kconfig
CONFIG_PIGWEED_SYSTEM_TARGET_HOOKS_WORK_QUEUE_STACK_SIZE#
Type: int
Default value: 4096
Description: Work Queue thread stack size
Source: //pw_system/Kconfig
pw_thread options#
CONFIG_PIGWEED_THREAD_SLEEP#
Type: bool
Description: Link and set pw_thread.sleep library backend
See pw_thread for module details.
Source: //pw_thread_zephyr/Kconfig
CONFIG_PIGWEED_THREAD#
Type: bool
Description: Link and set pw_thread.thread and pw_thread.id backends
See pw_thread for module details.
Source: //pw_thread_zephyr/Kconfig
CONFIG_PIGWEED_THREAD_ITERATION#
Type: bool
Description: Link and set pw_thread.thread_iteration backend
See pw_thread for module details.
Source: //pw_thread_zephyr/Kconfig
CONFIG_PIGWEED_THREAD_DEFAULT_PRIORITY#
Type: int
Default value: MAIN_THREAD_PRIORITY
Description: Default thread priority
Source: //pw_thread_zephyr/Kconfig
CONFIG_PIGWEED_THREAD_NUM_COOP_PRIORITIES#
Type: int
Default value: NUM_COOP_PRIORITIES
Range of valid values: 0 to NUM_COOP_PRIORITIES
Description: Number of cooperative thread priorities
Source: //pw_thread_zephyr/Kconfig
CONFIG_PIGWEED_THREAD_NUM_PREEMPT_PRIORITIES#
Type: int
Default value: NUM_PREEMPT_PRIORITIES
Range of valid values: 0 to NUM_PREEMPT_PRIORITIES
Description: Number of preemptible thread priorities
Source: //pw_thread_zephyr/Kconfig
pw_tokenizer options#
CONFIG_PIGWEED_TOKENIZER#
Type: bool
Description: Link pw_tokenizer library
See pw_tokenizer for module details.
Source: //pw_tokenizer/Kconfig
CONFIG_PIGWEED_TOKENIZER_BASE64#
Type: bool
Description: Link pw_tokenizer.base64 library
See pw_tokenizer for module details.
Source: //pw_tokenizer/Kconfig
CONFIG_PIGWEED_DETOKENIZER#
Type: bool
Description: Link pw_tokenizer.decoder library
See pw_tokenizer for module details.
Source: //pw_tokenizer/Kconfig
pw_varint options#
CONFIG_PIGWEED_VARINT#
Type: bool
Description: Link pw_varint library
See pw_varint for module details.
Source: //pw_varint/Kconfig