diff --git a/.github/workflows/build-release.yaml b/.github/workflows/build-release.yaml
index 481c46fb9..da8275611 100644
--- a/.github/workflows/build-release.yaml
+++ b/.github/workflows/build-release.yaml
@@ -41,7 +41,7 @@ jobs:
plat:
- esp32cam
- xiao-esp32s3-sense
- - freenove-esp32s3
+ - freenove-esp32s3-n16r8
steps:
- name: Checkout branch
if: ${{ ! needs.prepare-release.outputs.release_created }}
@@ -228,7 +228,7 @@ jobs:
plat:
- esp32cam
- xiao-esp32s3-sense
- - freenove-esp32s3
+ - freenove-esp32s3-n16r8
# Sets permissions of the GITHUB_TOKEN to allow downloading artifacts
permissions:
@@ -255,16 +255,16 @@ jobs:
rm -rf release
mkdir -p release
cd "AI-on-the-edge-device__update__${{ matrix.plat }}__SLFork_${{ steps.vars.outputs.branch }}_(${{ steps.vars.outputs.sha_short }})"
- zip -r ../release/${{ matrix.plat }}/AI-on-the-edge-device__update__${{ matrix.plat }}__SLFork_v${{ needs.prepare-release.outputs.version }}.zip *
+ zip -r ../release/AI-on-the-edge-device__update__${{ matrix.plat }}__SLFork_v${{ needs.prepare-release.outputs.version }}.zip *
cd ..
cd "AI-on-the-edge-device__manual-setup__${{ matrix.plat }}__SLFork_${{ steps.vars.outputs.branch }}_(${{ steps.vars.outputs.sha_short }})"
- zip -r ../release/${{ matrix.plat }}/AI-on-the-edge-device__manual-setup__${{ matrix.plat }}__SLFork_v${{ needs.prepare-release.outputs.version }}.zip *
+ zip -r ../release/AI-on-the-edge-device__manual-setup__${{ matrix.plat }}__SLFork_v${{ needs.prepare-release.outputs.version }}.zip *
cd ..
cd "AI-on-the-edge-device__remote-setup__${{ matrix.plat }}__SLFork_${{ steps.vars.outputs.branch }}_(${{ steps.vars.outputs.sha_short }})"
- zip -r ../release/${{ matrix.plat }}/AI-on-the-edge-device__remote-setup__${{ matrix.plat }}__SLFork_v${{ needs.prepare-release.outputs.version }}.zip *
+ zip -r ../release/AI-on-the-edge-device__remote-setup__${{ matrix.plat }}__SLFork_v${{ needs.prepare-release.outputs.version }}.zip *
cd ..
cd "AI-on-the-edge-device__debug-files__${{ matrix.plat }}__SLFork_${{ steps.vars.outputs.branch }}_(${{ steps.vars.outputs.sha_short }})"
- zip -r ../release/${{ matrix.plat }}/AI-on-the-edge-device__debug-files__${{ matrix.plat }}__SLFork_v${{ needs.prepare-release.outputs.version }}.zip *
+ zip -r ../release/AI-on-the-edge-device__debug-files__${{ matrix.plat }}__SLFork_v${{ needs.prepare-release.outputs.version }}.zip *
cd ..
- name: Upload artifacts to release tag
diff --git a/README.md b/README.md
index 39c924f4c..fdfee00cb 100644
--- a/README.md
+++ b/README.md
@@ -38,10 +38,18 @@ As a result, you get the digitized value of your meter. There are several option
## Supported Hardware
+### Board
+
| Board Type | SOC | Firmware Release | Remarks
-|:--- |:--- |:--- |:---
-| [ESP32-CAM](http://www.ai-thinker.com/pro_view-24.html) | ESP32 | All | - Only boards with >4MB RAM are supported
- Beware of inferior quality Chinese clones
-| [XIAO ESP32 Sense](https://www.seeedstudio.com/XIAO-ESP32S3-Sense-p-5639.html) | ESP32S3 | $\ge$ v17.0.0 |- No onboard illumination: Separate illumination (PWM controlable LED / Intelligent LED) necessary
- Running quite hot, small heat sink recommended
+|:--- |:--- |:--- |:---
+| [ESP32-CAM](http://www.ai-thinker.com/pro_view-24.html) | ESP32 | All | - Only boards with >4MB RAM are supported
- Beware of inferior quality Chinese clones
+| [XIAO ESP32 Sense](https://www.seeedstudio.com/XIAO-ESP32S3-Sense-p-5639.html) | ESP32S3 | $\ge$ v17.0.0 |- No onboard illumination: Separate illumination (PWM controlable LED / Intelligent LED) necessary
- Running quite hot, small heat sink recommended
+| [Freenove ESP32S3 WROOM](https://github.com/Freenove/Freenove_ESP32_S3_WROOM_Board) | ESP32S3 | $\ge$ v17.0.0 |- SOC and pin compatible Chinese clones supported
+
+### Camera
+| Camera Type | Resolution | Firmware Release | Remarks
+|:--- |:--- |:--- |:---
+| [OV2640](https://www.arducam.com/ov2640/) | 2MP (max. 1600x1200) | All | - Officially EOL since 2009, but still very popular
- Pin and function compatible Chinese clones are supported
## Device Installation
@@ -68,8 +76,8 @@ A possibly already available development version (upcoming release version) can
### 3. Install MCU Part Of Firmware
Initially the MCU of the device has to be flashed via a direct USB connection. Further updates can be performed directly over the air (OTA).
-For initial installation, use content of `AI-on-the-edge-device__manual-setup__{Board Type}__*.zip`.
-NOTE: OTA updates will be performed with `AI-on-the-edge-device__update__{Board Type}__*.zip` package.
+For initial installation, use content of `AI-on-the-edge-device__manual-setup__{board type}__*.zip`.
+NOTE: OTA updates will be performed with `AI-on-the-edge-device__update__{board type}__*.zip` package.
IMPORTANT: Make sure to use correct firmware package for your board type.
@@ -81,9 +89,9 @@ See [documentation](https://jomjol.github.io/AI-on-the-edge-device-docs/Installa
Note: Installation using web installer is not supported by this forked repo.
### 4. Install SD Card Content
-The SD card can be setup using the device's local WLAN hotspot after the MCU firmware got successfully installed (`AI-on-the-edge-device__remote-setup__*.zip`). See the
+The SD card can be setup using the device's local WLAN hotspot after the MCU firmware got successfully installed (`AI-on-the-edge-device__remote-setup__{board type}__*.zip`). See the
[documentation](https://jomjol.github.io/AI-on-the-edge-device-docs/Installation/#remote-setup-using-the-built-in-access-point) for details. For this to work, the SD card must be FAT formated (which is the default on a new SD card).
-Alternatively the SD card still can be setup manually without using hotspot, see the [documentation](https://jomjol.github.io/AI-on-the-edge-device-docs/Installation/#3-sd-card) for details (`AI-on-the-edge-device__manual-setup__*.zip`).
+Alternatively the SD card still can be setup manually without using hotspot, see the [documentation](https://jomjol.github.io/AI-on-the-edge-device-docs/Installation/#3-sd-card) for details (`AI-on-the-edge-device__manual-setup__{board type}__*.zip`).
⚠️ Do not use github source files in any case, use only release related zip package. Otherwise functionality cannot be fully guaranteed!
diff --git a/code/.gitignore b/code/.gitignore
index 463a19e9f..3f0dc8118 100644
--- a/code/.gitignore
+++ b/code/.gitignore
@@ -7,10 +7,5 @@
version.cpp
dependencies.lock
sdkconfig.esp32cam
-sdkconfig.esp32cam-debug
-sdkconfig.esp32cam-himem
-sdkconfig.esp32cam-task-analysis
-sdkconfig.esp32cam-localbuild
sdkconfig.xiao-esp32s3-sense
-sdkconfig.xiao-esp32s3-sense-debug
-sdkconfig.xiao-esp32s3-sense-task-analysis
+sdkconfig.freenove-esp32s3-n16r8
diff --git a/code/include/defines.h b/code/include/defines.h
index 2e55f81ca..9f9ffde61 100644
--- a/code/include/defines.h
+++ b/code/include/defines.h
@@ -324,7 +324,7 @@ CONFIG_WPA_11R_SUPPORT=n
#elif ENV_BOARD_TYPE == 3
#define BOARD_FREENOVE_ESP32S3
-#define BOARD_TYPE_NAME "Freenove-ESP32S3" // Keep Board type equal to main board environment name.
+#define BOARD_TYPE_NAME "Freenove-ESP32S3-N16R8"// Keep Board type equal to main board environment name.
// This is used for OTA update package verification (converted to lower case)
#else
#error "Board type (ENV_BOARD_TYPE) not defined"
diff --git a/code/platformio.ini b/code/platformio.ini
index d43a2d050..40ca569b0 100644
--- a/code/platformio.ini
+++ b/code/platformio.ini
@@ -92,67 +92,6 @@ build_flags =
-D ENV_BOARD_TYPE=1
-D ENV_CAMERA_MODEL=1
-; +++++++++++++++++++++++++++++++++++++++++++
-; Use this environment for task analysis (PR #1751)
-; +++++++++++++++++++++++++++++++++++++++++++
-[env:esp32cam-task-analysis]
-extends = env:esp32cam
-; sdkconfig.esp32cam-task-analysis.defaults override some sdkconfig.defaults
-; and enable debug analysis options
-build_flags =
- ; ### Hardware: Define board type + camera model
- ; ### (see 'include/defines.h' for definitions)
- -D ENV_BOARD_TYPE=1
- -D ENV_CAMERA_MODEL=1
- ; ### Debug options :
- -D TASK_ANALYSIS_ON
- ;-D DEBUG_DETAIL_ON
- ;please use only one HEAP tracing at time.
- ;-D HEAP_TRACING_MAIN_WIFI
- ;-D HEAP_TRACING_MAIN_START
- ;-D HEAP_TRACING_CLASS_FLOW_CNN_GENERAL_DO_ALING_AND_CUT
-
-
-; +++++++++++++++++++++++++++++++++++++++++++
-; Use this environment for detailed and deep debugging
-; (default debugging is already possible with default environment)
-; +++++++++++++++++++++++++++++++++++++++++++
-[env:esp32cam-debug]
-extends = env:esp32cam
-; sdkconfig.esp32cam-debug.defaults override some sdkconfig.defaults
-; and enable debug options and clangtidy
-build_flags =
- ; ### clangtidy build flags:
- ${flags:clangtidy.build_flags}
- ; ### Hardware: Define board type + camera model
- ; ### (see 'include/defines.h' for definitions)
- -D ENV_BOARD_TYPE=1
- -D ENV_CAMERA_MODEL=1
- ; ### Debug options :
- -D DEBUG_DETAIL_ON
- ;-D DEBUG_DISABLE_BROWNOUT_DETECTOR
- ;-D DEBUG_ENABLE_PERFMON
- ;-D DEBUG_HIMEM_MEMORY_CHECK
-lib_ldf_mode = deep+
-
-
-; +++++++++++++++++++++++++++++++++++++++++++
-; Enable HIMEM support (8 MB SPIRAM boards)
-; !!! RAM usage in HIMEM is not supported by firmware up to now !!!
-; https://github.com/espressif/esp-idf/blob/master/examples/system/himem/README.md
-; +++++++++++++++++++++++++++++++++++++++++++
-[env:esp32cam-himem]
-extends = env:esp32cam
-; sdkconfig.esp32cam-dev-himem.defaults override some sdkconfig.defaults
-build_flags =
- ; ### Hardware: Define board type + camera model
- ; ### (see 'include/defines.h' for definitions)
- -D ENV_BOARD_TYPE=1
- -D ENV_CAMERA_MODEL=1
- ; ### Debug options :
- ;-D DEBUG_HIMEM_MEMORY_CHECK
-
-
; #############################################################################
; Board
@@ -199,56 +138,12 @@ build_flags =
-D ENV_BOARD_TYPE=2
-D ENV_CAMERA_MODEL=2
-; +++++++++++++++++++++++++++++++++++++++++++
-; Use this environment for task analysis (PR #1751)
-; +++++++++++++++++++++++++++++++++++++++++++
-[env:xiao-esp32s3-sense-task-analysis]
-extends = env:xiao-esp32s3-sense
-; sdkconfig.xiao-esp32s3-sense-task-analysis.defaults override some sdkconfig.defaults
-; and enable debug analysis options
-build_flags =
- ; ### Hardware: Define board type + camera model
- ; ### (see 'include/defines.h' for definitions)
- -D ENV_BOARD_TYPE=2
- -D ENV_CAMERA_MODEL=2
- ; ### Debug options :
- -D TASK_ANALYSIS_ON
- ;-D DEBUG_DETAIL_ON
- ;please use only one HEAP tracing at time.
- ;-D HEAP_TRACING_MAIN_WIFI
- ;-D HEAP_TRACING_MAIN_START
- ;-D HEAP_TRACING_CLASS_FLOW_CNN_GENERAL_DO_ALING_AND_CUT
-
-
-; +++++++++++++++++++++++++++++++++++++++++++
-; Use this environment for detailed and deep debugging
-; (default debugging is already possible with default environment)
-; +++++++++++++++++++++++++++++++++++++++++++
-[env:xiao-esp32s3-sense-debug]
-extends = env:xiao-esp32s3-sense
-; sdkconfig.xiao-esp32s3-sense-debug.defaults override some sdkconfig.defaults
-; and enable debug options and clangtidy
-build_flags =
- ; ### clangtidy build flags:
- ${flags:clangtidy.build_flags}
- ; ### Hardware: Define board type + camera model
- ; ### (see 'include/defines.h' for definitions)
- -D ENV_BOARD_TYPE=2
- -D ENV_CAMERA_MODEL=2
- ; ### Debug options :
- -D DEBUG_DETAIL_ON
- ;-D DEBUG_DISABLE_BROWNOUT_DETECTOR
- ;-D DEBUG_ENABLE_PERFMON
- ;-D DEBUG_HIMEM_MEMORY_CHECK
-lib_ldf_mode = deep+
-
-
; #############################################################################
; Board
-; FREENOVE ESP32S3-WROOM-1-N16R8 (and compatible)
+; Freenove ESP32S3-WROOM-1-N16R8 (Freenove pin compatible clones)
; #############################################################################
-[env:freenove-esp32s3]
+[env:freenove-esp32s3-n16r8]
extends = common:esp32-idf
board = 4d_systems_esp32s3_gen4_r8n16
framework = espidf
@@ -276,8 +171,8 @@ monitor_filters = default, esp32_exception_decoder
; Include parameter tooltips to HTML parameter config file
; and hash to HTML files (caching)
; +++++++++++++++++++++++++++++++++++++++++++
-[env:freenove-esp32s3-localbuild]
-extends = env:freenove-esp32s3
+[env:freenove-esp32s3-n16r8-localbuild]
+extends = env:freenove-esp32s3-n16r8
extra_scripts = post:scripts/localbuild.py # Add parameter tooltips to HTML page
# and hashes to all cached HTML files
build_flags =
@@ -288,46 +183,3 @@ build_flags =
; ### (see 'include/defines.h' for definitions)
-D ENV_BOARD_TYPE=3
-D ENV_CAMERA_MODEL=3
-
-; +++++++++++++++++++++++++++++++++++++++++++
-; Use this environment for task analysis (PR #1751)
-; +++++++++++++++++++++++++++++++++++++++++++
-[env:freenove-esp32s3-task-analysis]
-extends = env:freenove-esp32s3
-; sdkconfig.freenove-esp32s3-task-analysis.defaults override some sdkconfig.defaults
-; and enable debug analysis options
-build_flags =
- ; ### Hardware: Define board type + camera model
- ; ### (see 'include/defines.h' for definitions)
- -D ENV_BOARD_TYPE=3
- -D ENV_CAMERA_MODEL=3
- ; ### Debug options :
- -D TASK_ANALYSIS_ON
- ;-D DEBUG_DETAIL_ON
- ;please use only one HEAP tracing at time.
- ;-D HEAP_TRACING_MAIN_WIFI
- ;-D HEAP_TRACING_MAIN_START
- ;-D HEAP_TRACING_CLASS_FLOW_CNN_GENERAL_DO_ALING_AND_CUT
-
-
-; +++++++++++++++++++++++++++++++++++++++++++
-; Use this environment for detailed and deep debugging
-; (default debugging is already possible with default environment)
-; +++++++++++++++++++++++++++++++++++++++++++
-[env:freenove-esp32s3-debug]
-extends = env:freenove-esp32s3
-; sdkconfig.freenove-esp32s3-debug.defaults override some sdkconfig.defaults
-; and enable debug options and clangtidy
-build_flags =
- ; ### clangtidy build flags:
- ${flags:clangtidy.build_flags}
- ; ### Hardware: Define board type + camera model
- ; ### (see 'include/defines.h' for definitions)
- -D ENV_BOARD_TYPE=3
- -D ENV_CAMERA_MODEL=3
- ; ### Debug options :
- -D DEBUG_DETAIL_ON
- ;-D DEBUG_DISABLE_BROWNOUT_DETECTOR
- ;-D DEBUG_ENABLE_PERFMON
- ;-D DEBUG_HIMEM_MEMORY_CHECK
-lib_ldf_mode = deep+
diff --git a/code/sdkconfig.esp32cam-debug.defaults b/code/sdkconfig.esp32cam-debug.defaults
deleted file mode 100644
index b7fe751c2..000000000
--- a/code/sdkconfig.esp32cam-debug.defaults
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# Bootloader config
-#
-CONFIG_BOOTLOADER_LOG_LEVEL_WARN=y
-CONFIG_BOOTLOADER_LOG_LEVEL=2
-CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y
-CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2
-CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT=n
-
-
-#
-# LWIP
-#
-CONFIG_LWIP_ESP_LWIP_ASSERT=y
-
-
-#
-# Hardware Abstraction Layer (HAL) and Low Level (LL)
-#
-CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y
-
-
-#
-# Log output
-#
-CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y
-
-
-#
-# Common ESP-related
-#
-CONFIG_ESP_ERR_TO_NAME_LOOKUP=y
-CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
diff --git a/code/sdkconfig.esp32cam-himem.defaults b/code/sdkconfig.esp32cam-himem.defaults
deleted file mode 100644
index a08ce236e..000000000
--- a/code/sdkconfig.esp32cam-himem.defaults
+++ /dev/null
@@ -1,2 +0,0 @@
-CONFIG_SPIRAM_BANKSWITCH_ENABLE=y
-CONFIG_SPIRAM_BANKSWITCH_RESERVE=4
diff --git a/code/sdkconfig.esp32cam-task-analysis.defaults b/code/sdkconfig.esp32cam-task-analysis.defaults
deleted file mode 100644
index ceac8ef38..000000000
--- a/code/sdkconfig.esp32cam-task-analysis.defaults
+++ /dev/null
@@ -1,15 +0,0 @@
-#
-# FreeRTOS Kernel
-#
-CONFIG_FREERTOS_USE_TRACE_FACILITY=1
-CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y
-CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID=y
-
-
-#
-# Heap memory debugging
-#
-CONFIG_HEAP_TRACING_STANDALONE=y
-# CONFIG_HEAP_POISONING_LIGHT=y
-# CONFIG_HEAP_TASK_TRACKING=y
-# CONFIG_HEAP_POISONING_COMPREHENSIVE=y
diff --git a/code/sdkconfig.freenove-esp32s3-debug.defaults b/code/sdkconfig.freenove-esp32s3-debug.defaults
deleted file mode 100644
index b7fe751c2..000000000
--- a/code/sdkconfig.freenove-esp32s3-debug.defaults
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# Bootloader config
-#
-CONFIG_BOOTLOADER_LOG_LEVEL_WARN=y
-CONFIG_BOOTLOADER_LOG_LEVEL=2
-CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y
-CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2
-CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT=n
-
-
-#
-# LWIP
-#
-CONFIG_LWIP_ESP_LWIP_ASSERT=y
-
-
-#
-# Hardware Abstraction Layer (HAL) and Low Level (LL)
-#
-CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y
-
-
-#
-# Log output
-#
-CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y
-
-
-#
-# Common ESP-related
-#
-CONFIG_ESP_ERR_TO_NAME_LOOKUP=y
-CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
diff --git a/code/sdkconfig.freenove-esp32s3.defaults b/code/sdkconfig.freenove-esp32s3-n16r8.defaults
similarity index 100%
rename from code/sdkconfig.freenove-esp32s3.defaults
rename to code/sdkconfig.freenove-esp32s3-n16r8.defaults
diff --git a/code/sdkconfig.freenove-esp32s3-task-analysis.defaults b/code/sdkconfig.freenove-esp32s3-task-analysis.defaults
deleted file mode 100644
index 38463b99f..000000000
--- a/code/sdkconfig.freenove-esp32s3-task-analysis.defaults
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# FreeRTOS Kernel
-#
-CONFIG_FREERTOS_USE_TRACE_FACILITY=1
-CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y
-CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID=y
-
-
-#
-# Heap memory debugging
-#
-CONFIG_HEAP_TRACING_STANDALONE=y
-# CONFIG_HEAP_POISONING_LIGHT=y
-# CONFIG_HEAP_TASK_TRACKING=y
-# CONFIG_HEAP_POISONING_COMPREHENSIVE=y
-
diff --git a/code/sdkconfig.xiao-esp32s3-sense-debug.defaults b/code/sdkconfig.xiao-esp32s3-sense-debug.defaults
deleted file mode 100644
index b7fe751c2..000000000
--- a/code/sdkconfig.xiao-esp32s3-sense-debug.defaults
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# Bootloader config
-#
-CONFIG_BOOTLOADER_LOG_LEVEL_WARN=y
-CONFIG_BOOTLOADER_LOG_LEVEL=2
-CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y
-CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2
-CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT=n
-
-
-#
-# LWIP
-#
-CONFIG_LWIP_ESP_LWIP_ASSERT=y
-
-
-#
-# Hardware Abstraction Layer (HAL) and Low Level (LL)
-#
-CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y
-
-
-#
-# Log output
-#
-CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y
-
-
-#
-# Common ESP-related
-#
-CONFIG_ESP_ERR_TO_NAME_LOOKUP=y
-CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
diff --git a/code/sdkconfig.xiao-esp32s3-sense-task-analysis.defaults b/code/sdkconfig.xiao-esp32s3-sense-task-analysis.defaults
deleted file mode 100644
index 38463b99f..000000000
--- a/code/sdkconfig.xiao-esp32s3-sense-task-analysis.defaults
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# FreeRTOS Kernel
-#
-CONFIG_FREERTOS_USE_TRACE_FACILITY=1
-CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y
-CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID=y
-
-
-#
-# Heap memory debugging
-#
-CONFIG_HEAP_TRACING_STANDALONE=y
-# CONFIG_HEAP_POISONING_LIGHT=y
-# CONFIG_HEAP_TASK_TRACKING=y
-# CONFIG_HEAP_POISONING_COMPREHENSIVE=y
-