From 80be245982a25e380430f6aa5beecf2737b85244 Mon Sep 17 00:00:00 2001 From: Jakub Kocka Date: Fri, 2 Feb 2024 10:29:59 +0100 Subject: [PATCH 1/2] docs(kconfig): Updated config name lenght --- docs/en/api-reference/kconfig.rst | 2 +- docs/zh_CN/api-reference/kconfig.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/en/api-reference/kconfig.rst b/docs/en/api-reference/kconfig.rst index 14c54d498e..dc130408b0 100644 --- a/docs/en/api-reference/kconfig.rst +++ b/docs/en/api-reference/kconfig.rst @@ -33,7 +33,7 @@ Format rules for Kconfig files are as follows: - Option names in any menus should have consistent prefixes. The prefix currently should have at least 3 characters. - The unit of indentation should be 4 spaces. All sub-items belonging to a parent item are indented by one level deeper. For example, ``menu`` is indented by 0 spaces, ``config`` ``menu`` by 4 spaces, ``help`` in ``config`` by 8 spaces, and the text under ``help`` by 12 spaces. - No trailing spaces are allowed at the end of the lines. -- The maximum length of options is 40 characters. +- The maximum length of options is 50 characters. - The maximum length of lines is 120 characters. .. note:: diff --git a/docs/zh_CN/api-reference/kconfig.rst b/docs/zh_CN/api-reference/kconfig.rst index 83d774b8ac..7590f27b40 100644 --- a/docs/zh_CN/api-reference/kconfig.rst +++ b/docs/zh_CN/api-reference/kconfig.rst @@ -33,7 +33,7 @@ Kconfig 文件的格式规定如下: - 在所有菜单中,选项名称的前缀需保持一致。目前,前缀长度应为至少 3 个字符。 - 每级采用 4 个空格的缩进方式,子项需比父项多缩进一级。例如, ``menu`` 缩进 0 个空格,``menu`` 中的 ``config`` 则缩进 4 个空格, ``config`` 中的 ``help`` 缩进 8 个空格, ``help`` 下的文本缩进 12 个空格。 - 行末不得出现尾随空格。 -- 选项最长为 40 个字符。 +- 选项最长为 50 个字符。 - 每行最长为 120 个字符。 .. note:: From 8a6fe4931468933f75aefe0d9fa6c2ec0a40be79 Mon Sep 17 00:00:00 2001 From: Jakub Kocka Date: Wed, 10 Jan 2024 10:18:02 +0100 Subject: [PATCH 2/2] fix: Fixed KConfig files that were not succesfully checked --- components/bt/esp_ble_mesh/Kconfig.in | 4 +- components/bt/host/bluedroid/Kconfig.in | 8 ++-- components/esp_pm/Kconfig | 37 ++++++++++-------- components/lwip/Kconfig | 3 +- tools/ldgen/test/data/Kconfig | 8 ++-- tools/ldgen/test/test_fragments.py | 51 ++++++++++++------------- 6 files changed, 58 insertions(+), 53 deletions(-) diff --git a/components/bt/esp_ble_mesh/Kconfig.in b/components/bt/esp_ble_mesh/Kconfig.in index 49df9662e2..4ed4d876cb 100644 --- a/components/bt/esp_ble_mesh/Kconfig.in +++ b/components/bt/esp_ble_mesh/Kconfig.in @@ -623,7 +623,7 @@ if BLE_MESH number of each node should also be taken into consideration. For example, if Provisioner can provision up to 20 nodes and each node contains two elements, then the replay protection list size of Provisioner should be at least 40. - + config BLE_MESH_NOT_RELAY_REPLAY_MSG bool "Not relay replayed messages in a mesh network" depends on BLE_MESH_EXPERIMENTAL @@ -1625,7 +1625,7 @@ if BLE_MESH config BLE_MESH_EXPERIMENTAL bool "Make BLE Mesh experimental features visible" default n - help + help Make BLE Mesh Experimental features visible. Experimental features list: - CONFIG_BLE_MESH_NOT_RELAY_REPLAY_MSG diff --git a/components/bt/host/bluedroid/Kconfig.in b/components/bt/host/bluedroid/Kconfig.in index 1ed6eb5239..49ff0fa19e 100644 --- a/components/bt/host/bluedroid/Kconfig.in +++ b/components/bt/host/bluedroid/Kconfig.in @@ -1119,7 +1119,7 @@ config BT_MAX_DEVICE_NAME_LEN config BT_BLE_RPA_SUPPORTED bool "Update RPA to Controller" - depends on (BT_BLUEDROID_ENABLED && ((BT_CONTROLLER_ENABLED && !SOC_BLE_DEVICE_PRIVACY_SUPPORTED) || BT_CONTROLLER_DISABLED)) + depends on (BT_BLUEDROID_ENABLED && ((BT_CONTROLLER_ENABLED && !SOC_BLE_DEVICE_PRIVACY_SUPPORTED) || BT_CONTROLLER_DISABLED)) # NOERROR default n if (BT_CONTROLLER_ENABLED && !SOC_BLE_DEVICE_PRIVACY_SUPPORTED) default y if BT_CONTROLLER_DISABLED help @@ -1160,21 +1160,21 @@ config BT_BLE_42_FEATURES_SUPPORTED config BT_BLE_FEAT_PERIODIC_ADV_SYNC_TRANSFER bool "Enable BLE periodic advertising sync transfer feature" - depends on (BT_BLE_50_FEATURES_SUPPORTED && ((BT_CONTROLLER_ENABLED && SOC_ESP_NIMBLE_CONTROLLER) || BT_CONTROLLER_DISABLED)) + depends on (BT_BLE_50_FEATURES_SUPPORTED && ((BT_CONTROLLER_ENABLED && SOC_ESP_NIMBLE_CONTROLLER) || BT_CONTROLLER_DISABLED)) # NOERROR default n help This enables BLE periodic advertising sync transfer feature config BT_BLE_FEAT_PERIODIC_ADV_ENH bool "Enable periodic adv enhancements(adi support)" - depends on (BT_BLE_50_FEATURES_SUPPORTED && ((BT_CONTROLLER_ENABLED && SOC_ESP_NIMBLE_CONTROLLER) || BT_CONTROLLER_DISABLED)) + depends on (BT_BLE_50_FEATURES_SUPPORTED && ((BT_CONTROLLER_ENABLED && SOC_ESP_NIMBLE_CONTROLLER) || BT_CONTROLLER_DISABLED)) # NOERROR default n help Enable the periodic advertising enhancements config BT_BLE_FEAT_CREATE_SYNC_ENH bool "Enable create sync enhancements(reporting disable and duplicate filtering enable support)" - depends on (BT_BLE_50_FEATURES_SUPPORTED && ((BT_CONTROLLER_ENABLED && SOC_ESP_NIMBLE_CONTROLLER) || BT_CONTROLLER_DISABLED)) + depends on (BT_BLE_50_FEATURES_SUPPORTED && ((BT_CONTROLLER_ENABLED && SOC_ESP_NIMBLE_CONTROLLER) || BT_CONTROLLER_DISABLED)) # NOERROR default n help Enable the create sync enhancements diff --git a/components/esp_pm/Kconfig b/components/esp_pm/Kconfig index 35a1c000be..bfae695173 100644 --- a/components/esp_pm/Kconfig +++ b/components/esp_pm/Kconfig @@ -111,28 +111,33 @@ menu "Power Management" select PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP if ESP32S3_DATA_CACHE_16KB default y help - If enabled, the CPU will be powered down in light sleep, ESP chips supports saving and restoring CPU's running - context before and after light sleep, the feature provides applications with seamless CPU powerdowned lightsleep - without user awareness. - But this will takes up some internal memory. On esp32c3 soc, enabling this option will consume 1.68 KB of internal - RAM and will reduce sleep current consumption by about 100 uA. On esp32s3 soc, enabling this option will consume - 8.58 KB of internal RAM and will reduce sleep current consumption by about 650 uA. + If enabled, the CPU will be powered down in light sleep, + ESP chips supports saving and restoring CPU's running context before and after light sleep, + the feature provides applications with seamless CPU powerdowned lightsleep without user awareness. + But this will takes up some internal memory. + On esp32c3 soc, enabling this option will consume 1.68 KB of internal RAM + and will reduce sleep current consumption by about 100 uA. + On esp32s3 soc, enabling this option will consume 8.58 KB of internal RAM + and will reduce sleep current consumption by about 650 uA. config PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP bool "Restore I/D-cache tag memory after power down CPU light sleep" depends on IDF_TARGET_ESP32S3 && PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP default y help - Cache tag memory and CPU both belong to the CPU power domain. ESP chips supports saving and restoring Cache tag memory - before and after sleep, this feature supports accesses to the external memory that was cached before sleep still - be cached when the CPU wakes up from a powerdowned CPU lightsleep. This option controls the restore method for Cache - tag memory in lightsleep. - If this option is enabled, the I/D-cache tag memory will be backuped to the internal RAM before sleep and restored - upon wakeup. Depending on the the cache configuration, if this option is enabled, it will consume up to 9 KB - of internal RAM. - If this option is disabled, all cached data won't be kept after sleep, the DCache will be writeback before - sleep and invalid all cached data after sleep, all accesses to external memory(Flash/PSRAM) will be cache - missed after waking up, resulting in performance degradation due to increased memory accesses latency. + Cache tag memory and CPU both belong to the CPU power domain. + ESP chips supports saving and restoring Cache tag memory before and after sleep, + this feature supports accesses to the external memory that was cached before sleep still + be cached when the CPU wakes up from a powerdowned CPU lightsleep. + This option controls the restore method for Cache tag memory in lightsleep. + If this option is enabled, the I/D-cache tag memory will be backuped to the internal RAM + before sleep and restored upon wakeup. + Depending on the the cache configuration, if this option is enabled, + it will consume up to 9 KB of internal RAM. + If this option is disabled, all cached data won't be kept after sleep, + the DCache will be writeback before sleep and invalid all cached data after sleep, + all accesses to external memory(Flash/PSRAM) will be cache missed after waking up, + resulting in performance degradation due to increased memory accesses latency. config PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP bool "Power down Digital Peripheral in light sleep (EXPERIMENTAL)" diff --git a/components/lwip/Kconfig b/components/lwip/Kconfig index 21d4ee53ca..9152faf317 100644 --- a/components/lwip/Kconfig +++ b/components/lwip/Kconfig @@ -703,7 +703,8 @@ menu "LWIP" cause Wi-Fi/Ethernet fail to release RX buffer in time. It is possible that all RX buffers for MAC layer are used by OOSEQ. - Control the number of out-of-order pbufs to ensure that the MAC layer has enough RX buffer to receive packets. + Control the number of out-of-order pbufs to ensure + that the MAC layer has enough RX buffer to receive packets. In the Wi-Fi scenario, recommended OOSEQ PBUFS Range: 0 <= TCP_OOSEQ_MAX_PBUFS <= CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM/(MAX_TCP_NUMBER + 1) diff --git a/tools/ldgen/test/data/Kconfig b/tools/ldgen/test/data/Kconfig index cb0b364d17..2bfe4636e9 100644 --- a/tools/ldgen/test/data/Kconfig +++ b/tools/ldgen/test/data/Kconfig @@ -5,15 +5,15 @@ menu "Test config" range 0 3 prompt "Performance level" - config A + config PERFORMANCE_A bool default "y" - config B + config PERFORMANCE_B bool default "n" - config C + config PERFORMANCE_C bool default "y" -endmenu +endmenu # Test config diff --git a/tools/ldgen/test/test_fragments.py b/tools/ldgen/test/test_fragments.py index df1665cd72..9cc3899e98 100755 --- a/tools/ldgen/test/test_fragments.py +++ b/tools/ldgen/test/test_fragments.py @@ -1,9 +1,8 @@ #!/usr/bin/env python # -# SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD +# SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD # SPDX-License-Identifier: Apache-2.0 # - import os import sys import tempfile @@ -72,12 +71,12 @@ entries: [sections:test] entries: value_1 - if A = y: + if PERFORMANCE_A = y: value_2 value_3 - if A = n: + if PERFORMANCE_A = n: value_4 - if B = n: + if PERFORMANCE_B = n: value_5 """) fragment_file = parse_fragment_file(test_fragment, self.sdkconfig) @@ -89,11 +88,11 @@ entries: [sections:test] entries: value_1 - if B = y: + if PERFORMANCE_B = y: value_2 - elif C = y: + elif PERFORMANCE_C = y: value_3 - elif A = y: + elif PERFORMANCE_A = y: value_4 else: value_5 @@ -108,13 +107,13 @@ entries: [sections:test] entries: value_1 - if A = y: + if PERFORMANCE_A = y: value_2 - if B = y: + if PERFORMANCE_B = y: value_3 else: value_4 - if C = y: + if PERFORMANCE_C = y: value_5 value_6 value_7 @@ -128,7 +127,7 @@ entries: test_fragment = self.create_fragment_file(u""" [sections:test] entries: - if A = n: + if PERFORMANCE_A = n: value_2 """) with self.assertRaises(ParseFatalException): @@ -185,7 +184,7 @@ key_1: test_fragment = self.create_fragment_file(u""" [sections:test] entries: - if B = y: + if PERFORMANCE_B = y: else: value_1 """) @@ -195,9 +194,9 @@ entries: test_fragment = self.create_fragment_file(u""" [sections:test] entries: - if B = y: + if PERFORMANCE_B = y: value_1 - else B = y: + else PERFORMANCE_B = y: """) with self.assertRaises(ParseFatalException): parse_fragment_file(test_fragment, self.sdkconfig) @@ -205,9 +204,9 @@ entries: test_fragment = self.create_fragment_file(u""" [sections:test] entries: - if B = y: + if PERFORMANCE_B = y: value_1 - elif B = y: + elif PERFORMANCE_B = y: else: value_2 """) @@ -218,7 +217,7 @@ entries: test_fragment = self.create_fragment_file(u""" [sections:test] entries: - elif B = y: + elif PERFORMANCE_B = y: value_1 else: value_2 @@ -254,7 +253,7 @@ entries: def test_whole_conditional_fragment(self): test_fragment = self.create_fragment_file(u""" -if B = y: +if PERFORMANCE_B = y: [sections:test1] entries: value_1 @@ -263,11 +262,11 @@ else: entries: value_2 - if A = y: + if PERFORMANCE_A = y: [sections:test3] entries: value_3 - if C = y: + if PERFORMANCE_C = y: value_6 [sections:test4] @@ -292,7 +291,7 @@ entries: def test_equivalent_conditional_fragment(self): test_fragment1 = self.create_fragment_file(u""" -if A = y: +if PERFORMANCE_A = y: [sections:test1] entries: value_1 @@ -309,7 +308,7 @@ else: test_fragment2 = self.create_fragment_file(u""" [sections:test1] entries: - if A = y: + if PERFORMANCE_A = y: value_1 else: value_2 @@ -355,7 +354,7 @@ entries: test_fragment = self.create_fragment_file(u""" [sections:test] entries: - if B = y: + if PERFORMANCE_B = y: .section1 """) with self.assertRaises(ParseFatalException): @@ -449,7 +448,7 @@ entries: test_fragment = self.create_fragment_file(u""" [scheme:test] entries: - if B = y: + if PERFORMANCE_B = y: sections1 -> target1 """) with self.assertRaises(ParseFatalException): @@ -527,7 +526,7 @@ entries: archive: lib.a entries: - if B = y: + if PERFORMANCE_B = y: * (noflash) # if condition is false, then no 'entries' key value """)