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