From d8dd08edf751ff7f1d95b0bfbc81d2bb3ab53cbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Gir=C3=B3n?= Date: Sun, 9 Jun 2024 04:31:05 +0200 Subject: [PATCH] chore: unify building system with Makefile (#398) * reorder and extend platformio config * update gitignore * add processing extra_script * add makefile * update github workflow * update docker build * add release and debug targets * define custom_build debug * fix custom_build target * update README --- .github/workflows/build.yml | 45 ++-------------- .gitignore | 5 ++ Docker/Dockerfile | 9 ++++ Docker/Dockerfile_pio | 45 ---------------- Docker/Dockerfile_pio_debug | 49 ----------------- Docker/README.md | 2 +- Docker/build_with_docker_pio.sh | 8 ++- Docker/build_with_docker_pio_debug.sh | 8 ++- Makefile | 51 ++++++++++++++++++ README.md | 31 +++-------- pio_package.py | 78 +++++++++++++++++++++++++++ platformio.ini | 60 ++++++++++----------- 12 files changed, 193 insertions(+), 198 deletions(-) create mode 100644 Docker/Dockerfile delete mode 100644 Docker/Dockerfile_pio delete mode 100644 Docker/Dockerfile_pio_debug mode change 100644 => 100755 Docker/build_with_docker_pio_debug.sh create mode 100644 Makefile create mode 100644 pio_package.py diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cc12e87..a2241a4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -44,14 +44,13 @@ jobs: path: | ~/.cache/pip ~/.platformio/.cache - key: ${{ runner.os }}-pio + ~/.platformio/packages + key: ${{ runner.os }}-pio-${{ matrix.board }} - uses: actions/setup-python@v5 with: python-version: '3.9' - - name: Install PlatformIO Core - run: pip install --upgrade platformio - - name: Install ESPTool - run: pip install --upgrade esptool + - name: Install dependencies + run: make deps - name: Add version info env: Version: ${{ github.run_id }}.${{ github.run_number }}.${{ github.run_attempt }} @@ -63,42 +62,8 @@ jobs: BOARD="${BOARD}_dbg" fi echo "::group::Building with PlatformIO" - pio run --environment ${BOARD} + make $BOARD echo "::endgroup::" - mkdir -p ${BUILD}/${VARIANT} - cp -v .pio/build/${BOARD}/firmware.bin ${BUILD}/${VARIANT}/nuki_hub_${VARIANT}.bin - cp -v .pio/build/${BOARD}/partitions.bin ${BUILD}/${VARIANT}/nuki_hub.partitions.bin - cp -v .pio/build/${BOARD}/bootloader.bin ${BUILD}/${VARIANT}/bootloader.bin - if [ "$BUILD" = "debug" ]; then - cp -v .pio/build/${BOARD}/firmware.elf ${BUILD}/${VARIANT}/nuki_hub_${VARIANT}.elf - fi - cp -v bin/boot_app0.bin ${BUILD}/${VARIANT}/boot_app0.bin - cp -v how-to-flash.txt ${BUILD}/${VARIANT}/how-to-flash.txt - - - name: Pack webflash image - if: ${{ matrix.build == 'release' && matrix.board != 'esp32solo1' }} - env: - POSITION_BOOTLOADER: "0x0" - POSITION_PARTITIONS: "0x8000" - POSITION_BOOT_APP: "0xe000" - POSITION_APP: "0x10000" - CHIP: ${{ env.VARIANT }} - FILES: ${{ format('{0}/{1}', env.BUILD, env.VARIANT) }} - run: | - if [ "$BOARD" = "esp32dev" ]; then - POSITION_BOOTLOADER="0x1000" - fi - - esptool.py \ - --chip ${CHIP} \ - merge_bin -o ${FILES}/webflash_nuki_hub_${VARIANT}.bin \ - --flash_mode dio \ - --flash_freq keep \ - --flash_size keep \ - ${POSITION_BOOT_APP} bin/boot_app0.bin \ - ${POSITION_BOOTLOADER} ${FILES}/bootloader.bin \ - ${POSITION_APP} ${FILES}/nuki_hub_${VARIANT}.bin \ - ${POSITION_PARTITIONS} ${FILES}/nuki_hub.partitions.bin - name: Add flash script env: diff --git a/.gitignore b/.gitignore index dcb8ca9..71bb2f3 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,8 @@ webflash/*.bin .pio .vscode .project + +# Python venv +/pyvenv.cfg +/lib64 +/lib/python3* diff --git a/Docker/Dockerfile b/Docker/Dockerfile new file mode 100644 index 0000000..3720c77 --- /dev/null +++ b/Docker/Dockerfile @@ -0,0 +1,9 @@ +FROM eclipse-temurin:11-jdk-jammy AS builder + +RUN set -ex && \ + apt-get update && \ + apt-get install -y git python3 pip make && \ + pip install --upgrade platformio && \ + pip install --upgrade esptool + +CMD ["/bin/bash"] diff --git a/Docker/Dockerfile_pio b/Docker/Dockerfile_pio deleted file mode 100644 index 26e7792..0000000 --- a/Docker/Dockerfile_pio +++ /dev/null @@ -1,45 +0,0 @@ -FROM eclipse-temurin:11-jdk-jammy AS builder - -RUN set -ex && \ - apt-get update && \ - apt-get install -y git python3 pip && \ - pip install --upgrade platformio && \ - pip install --upgrade esptool - -COPY icon /usr/src/nuki_hub/icon -COPY include /usr/src/nuki_hub/include -COPY lib /usr/src/nuki_hub/lib -COPY networkDevices /usr/src/nuki_hub/networkDevices -COPY partitions.csv /usr/src/nuki_hub -COPY platformio.ini /usr/src/nuki_hub -COPY index.html /usr/src/nuki_hub -COPY *.h /usr/src/nuki_hub/ -COPY *.cpp /usr/src/nuki_hub/ - -RUN set -ex && \ - cd /usr/src/nuki_hub && \ - mkdir -p release/esp32 && \ - mkdir -p release/esp32s3 && \ - mkdir -p release/esp32c3 && \ - mkdir -p release/esp32solo1 && \ - pio run --environment esp32dev && \ - esptool.py --chip esp32 merge_bin -o release/webflash_nuki_hub_esp32.bin --flash_mode dio --flash_freq keep --flash_size keep 0x1000 .pio/build/esp32dev/bootloader.bin 0x10000 .pio/build/esp32dev/firmware.bin 0x8000 .pio/build/esp32dev/partitions.bin && \ - cp .pio/build/esp32dev/bootloader.bin release/esp32/bootloader.bin && \ - cp .pio/build/esp32dev/firmware.bin release/esp32/nuki_hub_esp32.bin && \ - cp .pio/build/esp32dev/partitions.bin release/esp32/nuki_hub.partitions.bin && \ - pio run --environment esp32-s3 && \ - esptool.py --chip esp32s3 merge_bin -o release/webflash_nuki_hub_esp32s3.bin --flash_mode dio --flash_freq keep --flash_size keep 0x0 .pio/build/esp32-s3/bootloader.bin 0x10000 .pio/build/esp32-s3/firmware.bin 0x8000 .pio/build/esp32-s3/partitions.bin && \ - cp .pio/build/esp32-s3/bootloader.bin release/esp32s3/bootloader.bin && \ - cp .pio/build/esp32-s3/firmware.bin release/esp32s3/nuki_hub_esp32s3.bin && \ - cp .pio/build/esp32-s3/partitions.bin release/esp32s3/nuki_hub.partitions.bin && \ - pio run --environment esp32-c3 && \ - esptool.py --chip esp32c3 merge_bin -o release/webflash_nuki_hub_esp32c3.bin --flash_mode dio --flash_freq keep --flash_size keep 0x0 .pio/build/esp32-c3/bootloader.bin 0x10000 .pio/build/esp32-c3/firmware.bin 0x8000 .pio/build/esp32-c3/partitions.bin && \ - cp .pio/build/esp32-c3/bootloader.bin release/esp32c3/bootloader.bin && \ - cp .pio/build/esp32-c3/firmware.bin release/esp32c3/nuki_hub_esp32c3.bin && \ - cp .pio/build/esp32-c3/partitions.bin release/esp32c3/nuki_hub.partitions.bin && \ - pio run --environment esp32solo1 && \ - cp .pio/build/esp32solo1/bootloader.bin release/esp32solo1/bootloader.bin && \ - cp .pio/build/esp32solo1/firmware.bin release/esp32solo1/nuki_hub_esp32solo1.bin && \ - cp .pio/build/esp32solo1/partitions.bin release/esp32solo1/nuki_hub.partitions.bin - -CMD ["/bin/bash"] \ No newline at end of file diff --git a/Docker/Dockerfile_pio_debug b/Docker/Dockerfile_pio_debug deleted file mode 100644 index 09602b3..0000000 --- a/Docker/Dockerfile_pio_debug +++ /dev/null @@ -1,49 +0,0 @@ -FROM eclipse-temurin:11-jdk-jammy AS builder - -RUN set -ex && \ - apt-get update && \ - apt-get install -y git python3 pip && \ - pip install --upgrade platformio && \ - pip install --upgrade esptool - -COPY icon /usr/src/nuki_hub/icon -COPY include /usr/src/nuki_hub/include -COPY lib /usr/src/nuki_hub/lib -COPY networkDevices /usr/src/nuki_hub/networkDevices -COPY partitions.csv /usr/src/nuki_hub -COPY platformio.ini /usr/src/nuki_hub -COPY index.html /usr/src/nuki_hub -COPY *.h /usr/src/nuki_hub/ -COPY *.cpp /usr/src/nuki_hub/ - -RUN set -ex && \ - cd /usr/src/nuki_hub && \ - mkdir -p debug/esp32 && \ - mkdir -p debug/esp32s3 && \ - mkdir -p debug/esp32c3 && \ - mkdir -p debug/esp32solo1 && \ - pio run --environment esp32dev_dbg && \ - esptool.py --chip esp32 merge_bin -o debug/webflash_nuki_hub_esp32.bin --flash_mode dio --flash_freq keep --flash_size keep 0x1000 .pio/build/esp32dev_dbg/bootloader.bin 0x10000 .pio/build/esp32dev_dbg/firmware.bin 0x8000 .pio/build/esp32dev_dbg/partitions.bin && \ - cp .pio/build/esp32dev_dbg/bootloader.bin debug/esp32/bootloader.bin && \ - cp .pio/build/esp32dev_dbg/firmware.bin debug/esp32/nuki_hub_esp32.bin && \ - cp .pio/build/esp32dev_dbg/partitions.bin debug/esp32/nuki_hub.partitions.bin && \ - cp .pio/build/esp32dev_dbg/firmware.elf debug/esp32/nuki_hub_esp32.elf && \ - pio run --environment esp32-s3_dbg && \ - esptool.py --chip esp32s3 merge_bin -o debug/webflash_nuki_hub_esp32s3.bin --flash_mode dio --flash_freq keep --flash_size keep 0x0 .pio/build/esp32-s3_dbg/bootloader.bin 0x10000 .pio/build/esp32-s3_dbg/firmware.bin 0x8000 .pio/build/esp32-s3_dbg/partitions.bin && \ - cp .pio/build/esp32-s3_dbg/bootloader.bin debug/esp32s3/bootloader.bin && \ - cp .pio/build/esp32-s3_dbg/firmware.bin debug/esp32s3/nuki_hub_esp32s3.bin && \ - cp .pio/build/esp32-s3_dbg/partitions.bin debug/esp32s3/nuki_hub.partitions.bin && \ - cp .pio/build/esp32-s3_dbg/firmware.elf debug/esp32s3/nuki_hub_esp32s3.elf && \ - pio run --environment esp32-c3_dbg && \ - esptool.py --chip esp32c3 merge_bin -o debug/webflash_nuki_hub_esp32c3.bin --flash_mode dio --flash_freq keep --flash_size keep 0x0 .pio/build/esp32-c3_dbg/bootloader.bin 0x10000 .pio/build/esp32-c3_dbg/firmware.bin 0x8000 .pio/build/esp32-c3_dbg/partitions.bin && \ - cp .pio/build/esp32-c3_dbg/bootloader.bin debug/esp32c3/bootloader.bin && \ - cp .pio/build/esp32-c3_dbg/firmware.bin debug/esp32c3/nuki_hub_esp32c3.bin && \ - cp .pio/build/esp32-c3_dbg/partitions.bin debug/esp32c3/nuki_hub.partitions.bin && \ - cp .pio/build/esp32-c3_dbg/firmware.elf debug/esp32c3/nuki_hub_esp32c3.elf && \ - pio run --environment esp32solo1_dbg && \ - cp .pio/build/esp32solo1_dbg/bootloader.bin debug/esp32solo1/bootloader.bin && \ - cp .pio/build/esp32solo1_dbg/firmware.bin debug/esp32solo1/nuki_hub_esp32solo1.bin && \ - cp .pio/build/esp32solo1_dbg/partitions.bin debug/esp32solo1/nuki_hub.partitions.bin && \ - cp .pio/build/esp32solo1_dbg/firmware.elf debug/esp32solo1/nuki_hub_esp32solo1.elf - -CMD ["/bin/bash"] \ No newline at end of file diff --git a/Docker/README.md b/Docker/README.md index 207f12b..7ca1db8 100644 --- a/Docker/README.md +++ b/Docker/README.md @@ -9,7 +9,7 @@ cd nuki_hub/Docker ./build_with_docker_pio.sh ``` -once the script is complete you will find the nuki_hub binaries in the `nuki_hub/build_pio` folder. +once the script is complete you will find the nuki_hub binaries in the `nuki_hub/release` folder. ## Build with CMake (will only build for the ESP32) ```console diff --git a/Docker/build_with_docker_pio.sh b/Docker/build_with_docker_pio.sh index 513a270..bdad679 100755 --- a/Docker/build_with_docker_pio.sh +++ b/Docker/build_with_docker_pio.sh @@ -1,6 +1,4 @@ set -ex -docker build -f ./Dockerfile_pio -t nuki_hub_pio .. -docker create --name nuki_hub_pio nuki_hub_pio -rm -rf ../build_pio -docker cp nuki_hub_pio:/usr/src/nuki_hub/release/ ../build_pio -docker rm -f nuki_hub_pio +IMAGE_NAME=nuki_hub_build +docker build -f ./Dockerfile -t ${IMAGE_NAME} .. +docker run --rm -it -v $PWD/..:/src -w /src ${IMAGE_NAME} make release diff --git a/Docker/build_with_docker_pio_debug.sh b/Docker/build_with_docker_pio_debug.sh old mode 100644 new mode 100755 index 8f7c554..5b33ae4 --- a/Docker/build_with_docker_pio_debug.sh +++ b/Docker/build_with_docker_pio_debug.sh @@ -1,6 +1,4 @@ set -ex -docker build -f ./Dockerfile_pio_debug -t nuki_hub_pio_dbg .. -docker create --name nuki_hub_pio_dbg nuki_hub_pio_dbg -rm -rf ../build_pio_dbg -docker cp nuki_hub_pio_dbg:/usr/src/nuki_hub/debug/ ../build_pio_dbg -docker rm -f nuki_hub_pio_dbg +IMAGE_NAME=nuki_hub_build +docker build -f ./Dockerfile -t ${IMAGE_NAME} .. +docker run --rm -it -v $PWD/..:/src -w /src ${IMAGE_NAME} make debug diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..3a84ac1 --- /dev/null +++ b/Makefile @@ -0,0 +1,51 @@ +# Extract board names from platformio.ini +PLATFORMIO_INI := platformio.ini +BOARDS := $(shell grep -oP '(?<=\[env:)[^\]]+' $(PLATFORMIO_INI) | grep -v '_dbg') +DEBUG_BOARDS := $(shell grep -oP '(?<=\[env:)[^\]]+' $(PLATFORMIO_INI) | grep '_dbg') + +# Default target +.PHONY: default +default: esp32 + +.PHONY: release +release: $(BOARDS) + +.PHONY: debug +debug: $(DEBUG_BOARDS) + +# Target to build all boards in both release and debug modes +.PHONY: all +all: release debug + +# Alias +.PHONY: esp32 +esp32: esp32dev + +esp%: + @echo "Building $@" + pio run --environment $@ + +# Help target to display available build targets +.PHONY: help +help: + @echo "Makefile targets:" + @echo " make - Default build (ESP32 in release mode)" + @echo " make deps - Install software dependencies (PlatformIO)" + @echo " make all - Build all boards in both release and debug modes" + @$(foreach board,$(BOARDS),echo " make $(board) - Build $(board) in release mode";) + @$(foreach board,$(DEBUG_BOARDS),echo " make $(board) - Build $(board) in debug mode";) + @echo "Available boards:" + @echo " $(BOARDS)" + @echo " $(DEBUG_BOARDS)" + +# Utility target to clean build artifacts +.PHONY: clean +clean: + @echo "Cleaning build artifacts..." + @-rm -rf release debug .pio/build + +# Install dependencies +.PHONY: deps +deps: + @echo "Installing dependencies..." + pip install --upgrade platformio esptool diff --git a/README.md b/README.md index 857e39d..d09031f 100644 --- a/README.md +++ b/README.md @@ -706,33 +706,18 @@ See the [README](/Docker/README.md) in the Docker directory for instructions on Platform IO, instructions for Debian-based Linux distro (e.g. Ubuntu)
```console apt-get update -apt-get install -y git python3 pip +apt-get install -y git python3 pip make python3 -m venv .venv source .venv/bin/activate -pip install --upgrade platformio -pip install --upgrade esptool + git clone https://github.com/technyon/nuki_hub --recursive cd nuki_hub -mkdir -p release/esp32 -mkdir -p release/esp32s3 -mkdir -p release/esp32c3 -mkdir -p release/esp32solo1 -pio run --environment esp32dev -cp .pio/build/esp32dev/bootloader.bin release/esp32/bootloader.bin -cp .pio/build/esp32dev/firmware.bin release/esp32/nuki_hub_esp32.bin -cp .pio/build/esp32dev/partitions.bin release/esp32/nuki_hub.partitions.bin -pio run --environment esp32-s3 -cp .pio/build/esp32-s3/bootloader.bin release/esp32s3/bootloader.bin -cp .pio/build/esp32-s3/firmware.bin release/esp32s3/nuki_hub_esp32s3.bin -cp .pio/build/esp32-s3/partitions.bin release/esp32s3/nuki_hub.partitions.bin -pio run --environment esp32-c3 -cp .pio/build/esp32-c3/bootloader.bin release/esp32c3/bootloader.bin -cp .pio/build/esp32-c3/firmware.bin release/esp32c3/nuki_hub_esp32c3.bin -cp .pio/build/esp32-c3/partitions.bin release/esp32c3/nuki_hub.partitions.bin -pio run --environment esp32solo1 -cp .pio/build/esp32solo1/bootloader.bin release/esp32solo1/bootloader.bin -cp .pio/build/esp32solo1/firmware.bin release/esp32solo1/nuki_hub_esp32solo1.bin -cp .pio/build/esp32solo1/partitions.bin release/esp32solo1/nuki_hub.partitions.bin + +# install tools platformio and esptool +make deps + +# build all binary boards +make release ```
VMWare image (Not preferred, not using the latest Arduino ESP32 release at this time)
diff --git a/pio_package.py b/pio_package.py new file mode 100644 index 0000000..68b4ae1 --- /dev/null +++ b/pio_package.py @@ -0,0 +1,78 @@ +""" PlatformIO POST script execution to copy artifacts """ + +Import("env") +import os +import shutil +from pathlib import Path + +def get_board_name(env): + board = env.get('BOARD_MCU') + if env.get('BOARD') == 'esp32-solo1': + board = env.get('BOARD').replace('-', '') + return board + +def create_target_dir(env): + board = get_board_name(env) + target_dir = env.GetProjectOption("custom_build") + '/' + board + if not os.path.exists(target_dir): + os.makedirs(target_dir) + return target_dir + +def copy_files(source, target, env): + file = Path(target[0].get_abspath()) + target_dir = create_target_dir(env) + board = get_board_name(env) + + if "partitions.bin" in file.name: + shutil.copy(file, f"{target_dir}/nuki_hub.{file.name}") + elif "firmware" in file.stem: + shutil.copy(file, f"{target_dir}/nuki_hub_{board}{file.suffix}") + else: + shutil.copy(file, f"{target_dir}/{file.name}") + +def merge_bin(source, target, env): + #if not env.get('BUILD_TYPE') in ['release']: + # return + + if env.get('BOARD') in ['esp32-solo1']: + return + + board = get_board_name(env) + chip = env.get('BOARD_MCU') + target_dir = create_target_dir(env) + target_file = f"{target_dir}/webflash_nuki_hub_{board}.bin" + + app_position = "0x10000" + app_path = target[0].get_abspath() + + flash_args = list() + flash_args.append(app_position) + flash_args.append(app_path) + + for position, bin_file in env.get('FLASH_EXTRA_IMAGES'): + if "boot_app0.bin" in bin_file: + bin_file = "bin/boot_app0.bin" + flash_args.append(position) + flash_args.append(bin_file) + + cmd = f"esptool.py --chip {chip} merge_bin -o {target_file} --flash_mode dio --flash_freq keep --flash_size keep " + " ".join(flash_args) + env.Execute(cmd) + +def package_last_files(source, target, env): + files = ["bin/boot_app0.bin", "how-to-flash.txt"] + + target_dir = create_target_dir(env) + for file in files: + file = Path(file) + shutil.copy(file, f"{target_dir}/{file.name}") + +if env.GetProjectOption("custom_build") == 'release': + env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", merge_bin) + +env.AddPostAction("$BUILD_DIR/firmware.bin", copy_files) +env.AddPostAction("$BUILD_DIR/firmware.bin", package_last_files) +env.AddPostAction("$BUILD_DIR/partitions.bin", copy_files) +env.AddPostAction("$BUILD_DIR/bootloader.bin", copy_files) + +if env.GetProjectOption("custom_build") == 'debug': + env.AddPostAction("$BUILD_DIR/firmware.elf", copy_files) diff --git a/platformio.ini b/platformio.ini index e8101ad..c495db2 100644 --- a/platformio.ini +++ b/platformio.ini @@ -15,6 +15,7 @@ default_envs = esp32dev platform = espressif32 framework = arduino build_type = release +custom_build = release board_build.partitions = partitions.csv build_flags = -fexceptions @@ -33,50 +34,33 @@ monitor_filters = [env:esp32dev] board = esp32dev +extra_scripts = post:pio_package.py build_flags = ${env.build_flags} -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_NONE -DCONFIG_NIMBLE_CPP_LOG_LEVEL=0 [env:esp32-c3] +extends = env:esp32dev board = esp32-c3-devkitc-02 -build_flags = - ${env.build_flags} - -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_NONE - -DCONFIG_NIMBLE_CPP_LOG_LEVEL=0 + +[env:esp32-s3] +extends = env:esp32dev +board = esp32-s3-devkitc-1 [env:esp32solo1] platform = https://github.com/tasmota/platform-espressif32/releases/download/2023.10.03/platform-espressif32-2023.10.03.zip board = esp32-solo1 +extra_scripts = post:pio_package.py build_flags = ${env.build_flags} -DFRAMEWORK_ARDUINO_SOLO1 -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_NONE -DCONFIG_NIMBLE_CPP_LOG_LEVEL=0 -[env:esp32-s3] -board = esp32-s3-devkitc-1 -build_flags = - ${env.build_flags} - -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_NONE - -DCONFIG_NIMBLE_CPP_LOG_LEVEL=0 - [env:esp32dev_dbg] -board = esp32dev -build_flags = - ${env.build_flags} - -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG - -DCONFIG_NIMBLE_CPP_LOG_LEVEL=0 - -DDEBUG_NUKIHUB - -DDEBUG_SENSE_NUKI - -DDEBUG_NUKI_COMMAND - -DDEBUG_NUKI_CONNECT - -DDEBUG_NUKI_COMMUNICATION - ;-DDEBUG_NUKI_HEX_DATA - -DDEBUG_NUKI_READABLE_DATA - -[env:esp32-s3_dbg] -board = esp32-s3-devkitc-1 +extends = env:esp32dev +custom_build = debug build_flags = ${env.build_flags} -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG @@ -90,7 +74,23 @@ build_flags = -DDEBUG_NUKI_READABLE_DATA [env:esp32-c3_dbg] -board = esp32-c3-devkitc-02 +extends = env:esp32-c3 +custom_build = debug +build_flags = + ${env.build_flags} + -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG + -DCONFIG_NIMBLE_CPP_LOG_LEVEL=0 + -DDEBUG_NUKIHUB + -DDEBUG_SENSE_NUKI + -DDEBUG_NUKI_COMMAND + -DDEBUG_NUKI_CONNECT + -DDEBUG_NUKI_COMMUNICATION + ;-DDEBUG_NUKI_HEX_DATA + -DDEBUG_NUKI_READABLE_DATA + +[env:esp32-s3_dbg] +extends = env:esp32-s3 +custom_build = debug build_flags = ${env.build_flags} -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG @@ -104,8 +104,8 @@ build_flags = -DDEBUG_NUKI_READABLE_DATA [env:esp32solo1_dbg] -platform = https://github.com/tasmota/platform-espressif32/releases/download/2023.10.03/platform-espressif32-2023.10.03.zip -board = esp32-solo1 +extends = env:esp32solo1 +custom_build = debug build_flags = ${env.build_flags} -DFRAMEWORK_ARDUINO_SOLO1 @@ -117,4 +117,4 @@ build_flags = -DDEBUG_NUKI_CONNECT -DDEBUG_NUKI_COMMUNICATION ;-DDEBUG_NUKI_HEX_DATA - -DDEBUG_NUKI_READABLE_DATA \ No newline at end of file + -DDEBUG_NUKI_READABLE_DATA