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

Source: //pw_log_zephyr/Kconfig.tokenized

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

Source: //pw_log_zephyr/Kconfig.tokenized

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

Source: //pw_log_zephyr/Kconfig.tokenized

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

Source: //pw_log_zephyr/Kconfig.tokenized

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