blob: 7bba3f84fa6fd1ea1a7654420199ebf1de8aa9a2 [file] [log] [blame]
# Copyright 2021 The Pigweed Authors
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
choice PIGWEED_LOG
prompt "Logging backend used"
help
The type of Zephyr pw_log backend to use.
config PIGWEED_LOG_ZEPHYR
bool "Zephyr logging for PW_LOG_* statements"
select PIGWEED_PREPROCESSOR
help
Once the Pigweed logging is enabled, all Pigweed logs via PW_LOG_*() will
be routed to the Zephyr logging system. This means that:
- PW_LOG_LEVEL_DEBUG maps to Zephyr's LOG_LEVEL_DBG
- PW_LOG_LEVEL_INFO maps to Zephyr's LOG_LEVEL_INF
- PW_LOG_LEVEL_WARN maps to Zephyr's LOG_LEVEL_WRN
- PW_LOG_LEVEL_ERROR maps to Zephyr's LOG_LEVEL_ERR
- PW_LOG_LEVEL_CRITICAL maps to Zephyr's LOG_LEVEL_ERR
- PW_LOG_LEVEL_FATAL maps to Zephyr's LOG_LEVEL_ERR
menuconfig PIGWEED_LOG_TOKENIZED
bool "Maps all Zephyr log macros to tokenized PW_LOG_* macros"
select PIGWEED_PREPROCESSOR
select PIGWEED_SYS_IO
select PIGWEED_TOKENIZER
select LOG_CUSTOM_HEADER
help
Map all the Zephyr log macros to use Pigweed's then use the
'pw_log_tokenized' target as the logging backend in order to
automatically tokenize all the logging strings. This means that Pigweed
will also tokenize all of Zephyr's logging statements.
config PIGWEED_LOG_NONE
bool "Do not use pigweed logging"
menuconfig PIGWEED_LOG_TOKENIZED_RPC
bool "Enables RPC tokenized logging"
select PIGWEED_SYNC_INTERRUPT_SPIN_LOCK
select PIGWEED_SYNC_THREAD_NOTIFICATION
select PIGWEED_SYNC_TIMED_THREAD_NOTIFICATION
select PIGWEED_SYSTEM_HDLC_RPC_SERVER
select PIGWEED_SYSTEM_LOG_BACKEND
select PIGWEED_SYSTEM_TARGET_HOOKS
select PIGWEED_THREAD
select PIGWEED_THREAD_ITERATION
select PIGWEED_TOKENIZER
select LOG_CUSTOM_HEADER
depends on CONSOLE_GETCHAR
help
Enable tokenized logging over RPC
endchoice
if PIGWEED_LOG_ZEPHYR || PIGWEED_LOG_TOKENIZED || PIGWEED_LOG_TOKENIZED_RPC
module = PIGWEED
module-str = "pigweed"
source "subsys/logging/Kconfig.template.log_config"
endif # PIGWEED_LOG_ZEPHYR || PIGWEED_LOG_TOKENIZED
if PIGWEED_LOG_TOKENIZED
rsource "Kconfig.tokenized"
endif # PIGWEED_LOG_TOKENIZED