| # Copyright Runtime.io 2018. All rights reserved. |
| # Copyright Nordic Semiconductor ASA 2020-2022. All rights reserved. |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| # The Kconfig file is dedicated to OS management group of |
| # of MCUmgr subsystem and provides Kconfig options to configure |
| # group commands behaviour and other aspects. |
| # |
| # Options defined in this file should be prefixed: |
| # MCUMGR_GRP_OS_ -- general group options; |
| # |
| # When adding Kconfig options, that control the same feature, |
| # try to group them together by the same stem after prefix. |
| |
| menuconfig MCUMGR_GRP_OS |
| bool "Mcumgr handlers for OS management" |
| imply REBOOT |
| help |
| Enables MCUmgr handlers for OS management |
| |
| if MCUMGR_GRP_OS |
| |
| if REBOOT |
| |
| config MCUMGR_GRP_OS_RESET_MS |
| int "Delay before executing reset command (ms)" |
| default 250 |
| depends on REBOOT |
| help |
| When a reset command is received, the system waits this many milliseconds |
| before performing the reset. This delay allows time for the MCUmgr |
| response to be delivered. |
| |
| config MCUMGR_GRP_OS_RESET_HOOK |
| bool "Reset hook" |
| depends on REBOOT |
| depends on MCUMGR_MGMT_NOTIFICATION_HOOKS |
| help |
| Allows applications to control and get notifications of when a reset |
| command has been issued via an MCUmgr command. With this option |
| disabled, modules will reboot when the command is received without |
| notification, when this is enabled and a handler is registered, the |
| application will be notified that a reset command has been received |
| and will allow the application to perform any required operations |
| before accepting or declining the reset request. |
| |
| endif |
| |
| config MCUMGR_GRP_OS_TASKSTAT |
| bool "Support for taskstat command" |
| depends on THREAD_MONITOR |
| |
| if MCUMGR_GRP_OS_TASKSTAT |
| |
| config MCUMGR_GRP_OS_TASKSTAT_ONLY_SUPPORTED_STATS |
| bool "Send only data gathered by Zephyr" |
| default y |
| help |
| Response will not include fields the Zephyr does not collect statistic for. |
| Enable this if your client software is able to process "taskstat" response |
| that would be missing "runtime", "cswcnt", "last_checkin" and "next_checkin" |
| map entries for each listed task. |
| Enabling this option will slightly reduce code size. |
| |
| choice MCUMGR_GRP_OS_TASKSTAT_THREAD_NAME_CHOICE |
| prompt "Characteristic used as thread name in taskstat" |
| default MCUMGR_GRP_OS_TASKSTAT_USE_THREAD_NAME_FOR_NAME if THREAD_NAME |
| default MCUMGR_GRP_OS_TASKSTAT_USE_THREAD_PRIO_FOR_NAME |
| help |
| Select what will serve as thread name in "taskstat" response. |
| By default taskstat responses use thread priority, when THREAD_NAME is disabled, |
| |
| config MCUMGR_GRP_OS_TASKSTAT_USE_THREAD_NAME_FOR_NAME |
| bool "Thread name" |
| depends on THREAD_NAME |
| |
| config MCUMGR_GRP_OS_TASKSTAT_USE_THREAD_IDX_FOR_NAME |
| bool "Thread index" |
| |
| config MCUMGR_GRP_OS_TASKSTAT_USE_THREAD_PRIO_FOR_NAME |
| bool "Thread priority" |
| |
| endchoice |
| |
| config MCUMGR_GRP_OS_TASKSTAT_MAX_NUM_THREADS |
| int "Predicted maximum number of threads to return on taskstat list" |
| default 50 |
| help |
| This is used for defining CBOR map holding thread info. |
| The value does not affect memory allocation, it is used by zcbor |
| to figure out how to encode map depending on its predicted size. |
| |
| config MCUMGR_GRP_OS_TASKSTAT_THREAD_NAME_LEN |
| int "Length of thread name to return in response" |
| default THREAD_MAX_NAME_LEN if THREAD_NAME |
| default 5 if !THREAD_NAME |
| range 3 THREAD_MAX_NAME_LEN if THREAD_NAME |
| range 3 6 if !THREAD_NAME |
| help |
| The length of the string that is sent in response to taskstat command, |
| as a thread name. |
| When THREAD_NAME is enabled then this defaults to THREAD_MAX_NAME_LEN. |
| When THREAD_NAME is disabled the name is generated from thread priority, |
| signed integer, and this number regulates how many digits will be used; |
| in such case this value should also take into account possible '-' |
| sign. |
| |
| config MCUMGR_GRP_OS_TASKSTAT_SIGNED_PRIORITY |
| bool "Signed priorities" |
| default y |
| help |
| Zephyr uses int8_t as thread priorities, but in taskstat response it encodes |
| them as unsigned. Enabling this option will use signed int for priorities in |
| responses, which is more natural for Zephyr. |
| Disable this option if your client software is unable to properly decode and |
| accept signed integers as priorities. |
| |
| config MCUMGR_GRP_OS_TASKSTAT_STACK_INFO |
| bool "Include stack info in taskstat responses" |
| depends on THREAD_STACK_INFO |
| help |
| Enabling this option adds stack information into "taskstat" command |
| responses, this is default when THREAD_STACK_INFO is selected. |
| Disable this option only when your client application is able to |
| process "taskstat" response without the "stksiz" and "stkuse" fields. |
| It is worth disabling this option when THREAD_STACK_INFO is disabled, |
| as it will prevent sending zeroed stack information just to fill |
| all the fields in "taskstat" responses, and it will slightly reduce code size. |
| |
| endif |
| |
| config MCUMGR_GRP_OS_ECHO |
| bool "Support for echo command" |
| default y |
| select MCUMGR_SMP_CBOR_MIN_DECODING_LEVEL_2 |
| |
| config MCUMGR_GRP_OS_MCUMGR_PARAMS |
| bool "MCUMGR Parameters retrieval command" |
| |
| config MCUMGR_GRP_OS_INFO |
| bool "Support for info command" |
| help |
| Can be used similarly to the unix/linux uname command for retrieving system information |
| including kernel version, processor architecture and board name. |
| |
| if MCUMGR_GRP_OS_INFO |
| |
| config MCUMGR_GRP_OS_INFO_MAX_RESPONSE_SIZE |
| int "Maximum response size for info command" |
| default 256 |
| range 32 512 |
| help |
| The maximum size of the response to the info command, will use a stack buffer of this |
| size to store the data in. If the output response is too big then the output will not be |
| present in the response, which will just contain the result code (rc) of memory error. |
| |
| config MCUMGR_GRP_OS_INFO_CUSTOM_HOOKS |
| bool "Custom info hooks" |
| depends on MCUMGR_MGMT_NOTIFICATION_HOOKS |
| help |
| Supports adding custom command/character processing to the info command by using |
| registered callbacks. Data can be appended to the struct provided in the callback. |
| |
| config MCUMGR_GRP_OS_INFO_BUILD_DATE_TIME |
| bool "Show build date and time" |
| help |
| Will allow returning the build date and time of the firmware by using the info with |
| format option 'b' (will also be returned with all responses by using 'a'). |
| |
| Note: This will invalidate reproducible builds of the firmware as it will embed the |
| build date/time in the output firmware image. |
| |
| endif |
| |
| module = MCUMGR_GRP_OS |
| module-str = mcumgr_grp_os |
| source "subsys/logging/Kconfig.template.log_config" |
| |
| endif |