From f2550f9312ec40f9ecec24f64bd407ce7c441ea1 Mon Sep 17 00:00:00 2001 From: drechsler Date: Sun, 22 Mar 2020 20:05:56 +0100 Subject: [PATCH 1/9] docker:feature added idf image/container generation --- docker/Makefile | 46 +++++++++++++++++++++++++++++++++++ docker/idf/Dockerfile | 20 +++++++++++++++ docker/idf/idf_tools.py.patch | 14 +++++++++++ 3 files changed, 80 insertions(+) create mode 100644 docker/idf/Dockerfile create mode 100644 docker/idf/idf_tools.py.patch diff --git a/docker/Makefile b/docker/Makefile index ec792fd..5ea2fbf 100644 --- a/docker/Makefile +++ b/docker/Makefile @@ -8,6 +8,10 @@ VARIABLE += PLATFORMIO_VERSION HELP_PLATFORMIO_VERSION = which platformio version to use PLATFORMIO_VERSION?=4.1.0 +VARIABLE += IDF_VERSION +HELP_IDF_VERSION = which idf version to use +IDF_VERSION?=v4.0 + VARIABLE += QEMU_COMMIT HELP_QEMU_COMMIT = which qemu commit to checkout QEMU_COMMIT?=esp-develop @@ -50,6 +54,19 @@ platformio-image: | check-docker -t "lifesensor/platformio:$(PLATFORMIO_VERSION)" \ platformio +.PHONY: idf-image +ALL += idf-image +DEFAULT += idf-image +TARGET_idf += idf-image +HELP_idf-image = builds docker idf image +idf-image: | check-docker + docker build \ + --build-arg=idf_version=$(IDF_VERSION) \ + --build-arg=UID=$(UID) \ + --build-arg=GID=$(GID) \ + -t "lifesensor/idf:$(IDF_VERSION)" \ + idf + .PHONY: qemu-image ALL += qemu-image DEFAULT += qemu-image @@ -93,6 +110,22 @@ pio platformio: | platformio-image check-docker lifesensor/platformio:$(PLATFORMIO_VERSION) \ /bin/sh -c '$(EXEC)' +.PHONY: idf +TARGET += idf +HELP_idf = runs idf container +idf: | idf-image check-docker + docker run \ + --rm \ + -ti \ + $(DOCKER_DEV) \ + -v idf-home:/home/developer:rw \ + -v "$(shell pwd)/..:$(shell pwd)/..:rw" \ + -w "$(shell pwd)/.." \ + --hostname idf \ + $(DOCKEROPTS) \ + lifesensor/idf:$(IDF_VERSION) \ + /bin/sh -c '$(EXEC)' + .PHONY: qemu TARGET += qemu HELP_qemu = runs qemu container @@ -140,6 +173,12 @@ HELP_clean-platformio = removes platformio volume clean-platformio: -docker volume rm pio-home +.PHONY: clean-idf +CLEAN += clean-idf +HELP_clean-idf = removes idf volume +clean-idf: + -docker volume rm idf-home + .PHONY: clean-qemu CLEAN += clean-qemu HELP_clean-qemu = removes qemu volume @@ -160,6 +199,13 @@ HELP_distclean-platformio = removes platformio docker image distclean-platformio: clean-platformio -docker image remove "lifesensor/platformio:$(PLATFORMIO_VERSION)" docker image prune + +.PHONY: distclean-idf +DISTCLEAN += distclean-idf +HELP_distclean-idf = removes idf docker image +distclean-idf: clean-idf + -docker image remove "lifesensor/idf:$(IDF_VERSION)" + docker image prune .PHONY: distclean-qemu DISTCLEAN += distclean-qemu diff --git a/docker/idf/Dockerfile b/docker/idf/Dockerfile new file mode 100644 index 0000000..f385892 --- /dev/null +++ b/docker/idf/Dockerfile @@ -0,0 +1,20 @@ +FROM ubuntu:18.04 + +RUN apt-get update &&apt-get -y install ninja-build libncurses5-dev flex bison gperf python python-pip cmake git sudo libusb-1.0-0 + +ARG UID=1000 +ARG GID=1000 +RUN groupadd -g $GID -o developer +RUN useradd -m -u $UID -g $GID -s /bin/bash developer +RUN echo "developer ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers + +WORKDIR /home/developer +USER developer +ENV LC_ALL=C.UTF-8 LANG=C.UTF-8 + +ARG idf_version +RUN mkdir ~/git && git clone -b ${idf_version} --recursive https://github.com/espressif/esp-idf.git ~/git/esp-idf +COPY idf_tools.py.patch git/esp-idf/tools/idf_tools.py.patch +RUN cd ~/git/esp-idf && git apply ~/git/esp-idf/tools/idf_tools.py.patch +RUN cd ~/git/esp-idf && ./install.sh +RUN echo "source $HOME/git/esp-idf/export.sh" >> ~/.bashrc diff --git a/docker/idf/idf_tools.py.patch b/docker/idf/idf_tools.py.patch new file mode 100644 index 0000000..b6fb9a6 --- /dev/null +++ b/docker/idf/idf_tools.py.patch @@ -0,0 +1,14 @@ +diff --git a/tools/idf_tools.py b/tools/idf_tools.py +index 158b5a764..e1be57e55 100755 +--- a/tools/idf_tools.py ++++ b/tools/idf_tools.py +@@ -1180,7 +1180,7 @@ def action_install_python_env(args): + subprocess.check_call([sys.executable, '-m', 'pip', 'install', '--user', 'virtualenv'], + stdout=sys.stdout, stderr=sys.stderr) + +- subprocess.check_call([sys.executable, '-m', 'virtualenv', '--no-site-packages', idf_python_env_path], ++ subprocess.check_call([sys.executable, '-m', 'virtualenv', idf_python_env_path], + stdout=sys.stdout, stderr=sys.stderr) + run_args = [virtualenv_python, '-m', 'pip', 'install', '--no-warn-script-location'] + requirements_txt = os.path.join(global_idf_path, 'requirements.txt') + From d91743f787f99eee1ed52e7066d0a4a437efb8f5 Mon Sep 17 00:00:00 2001 From: drechsler Date: Thu, 26 Mar 2020 09:22:28 +0100 Subject: [PATCH 2/9] repo:refactor restructured project for idf usage --- .github/workflows/build.yml | 8 +- .gitignore | 5 +- .travis.yml | 67 -- CMakeLists.txt | 3 + Makefile | 82 +- components/spo2/CMakeLists.txt | 21 + {include => components/spo2/include}/spo2.h | 0 .../spo2/include}/spo2_driver.h | 0 .../spo2/include}/spo2_filter.h | 0 {src => components/spo2/src}/spo2.c | 0 {src => components/spo2/src}/spo2_driver.c | 0 {src => components/spo2/src}/spo2_filter.c | 0 components/ulp_adc/CMakeLists.txt | 30 + components/ulp_adc/component.mk | 23 + {include => components/ulp_adc/include}/ulp.h | 4 +- {src => components/ulp_adc/src}/ulp.c | 0 {ulp => components/ulp_adc/ulp}/ulp_program.S | 0 docker/Makefile | 55 +- docker/README.md | 2 +- docker/qemu/Dockerfile | 4 +- docker/vscode/Dockerfile | 11 +- include/README.md | 39 - lib/README.md | 46 - main/CMakeLists.txt | 7 + {src => main}/main.c | 0 platformio.ini | 20 - sdkconfig.defaults | 3 + src/sdkconfig | 962 ------------------ src/sdkconfig.h | 373 ------- 29 files changed, 129 insertions(+), 1636 deletions(-) delete mode 100644 .travis.yml create mode 100644 CMakeLists.txt create mode 100644 components/spo2/CMakeLists.txt rename {include => components/spo2/include}/spo2.h (100%) rename {include => components/spo2/include}/spo2_driver.h (100%) rename {include => components/spo2/include}/spo2_filter.h (100%) rename {src => components/spo2/src}/spo2.c (100%) rename {src => components/spo2/src}/spo2_driver.c (100%) rename {src => components/spo2/src}/spo2_filter.c (100%) create mode 100644 components/ulp_adc/CMakeLists.txt create mode 100644 components/ulp_adc/component.mk rename {include => components/ulp_adc/include}/ulp.h (76%) rename {src => components/ulp_adc/src}/ulp.c (100%) rename {ulp => components/ulp_adc/ulp}/ulp_program.S (100%) delete mode 100644 include/README.md delete mode 100644 lib/README.md create mode 100644 main/CMakeLists.txt rename {src => main}/main.c (100%) delete mode 100644 platformio.ini create mode 100644 sdkconfig.defaults delete mode 100644 src/sdkconfig delete mode 100644 src/sdkconfig.h diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3448572..9d09578 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,7 +9,7 @@ jobs: steps: - uses: actions/checkout@v1 - - name: build platformio image - run: make -C docker platformio-image - - name: build platformio project - run: make -C docker pio DOCKEROPTS=--tty=false EXEC="pio run" + - name: build idf image + run: make -C docker idf-image + - name: build idf project + run: make -C docker idf DOCKEROPTS=--tty=false EXEC="idf.py build" diff --git a/.gitignore b/.gitignore index a8b362e..5073a9b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ -.pio .vscode -.dev \ No newline at end of file +.dev +build +sdkconfig \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 7c486f1..0000000 --- a/.travis.yml +++ /dev/null @@ -1,67 +0,0 @@ -# Continuous Integration (CI) is the practice, in software -# engineering, of merging all developer working copies with a shared mainline -# several times a day < https://docs.platformio.org/page/ci/index.html > -# -# Documentation: -# -# * Travis CI Embedded Builds with PlatformIO -# < https://docs.travis-ci.com/user/integration/platformio/ > -# -# * PlatformIO integration with Travis CI -# < https://docs.platformio.org/page/ci/travis.html > -# -# * User Guide for `platformio ci` command -# < https://docs.platformio.org/page/userguide/cmd_ci.html > -# -# -# Please choose one of the following templates (proposed below) and uncomment -# it (remove "# " before each line) or use own configuration according to the -# Travis CI documentation (see above). -# - - -# -# Template #1: General project. Test it using existing `platformio.ini`. -# - -# language: python -# python: -# - "2.7" -# -# sudo: false -# cache: -# directories: -# - "~/.platformio" -# -# install: -# - pip install -U platformio -# - platformio update -# -# script: -# - platformio run - - -# -# Template #2: The project is intended to be used as a library with examples. -# - -# language: python -# python: -# - "2.7" -# -# sudo: false -# cache: -# directories: -# - "~/.platformio" -# -# env: -# - PLATFORMIO_CI_SRC=path/to/test/file.c -# - PLATFORMIO_CI_SRC=examples/file.ino -# - PLATFORMIO_CI_SRC=path/to/test/directory -# -# install: -# - pip install -U platformio -# - platformio update -# -# script: -# - platformio ci --lib="." --board=ID_1 --board=ID_2 --board=ID_N diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..2e171c1 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,3 @@ +cmake_minimum_required(VERSION 3.5) +include($ENV{IDF_PATH}/tools/cmake/project.cmake) +project(lifesensor) diff --git a/Makefile b/Makefile index 84a899b..e060a8e 100644 --- a/Makefile +++ b/Makefile @@ -12,13 +12,12 @@ VARIABLE+=DEV HELP_DEV=which device to flash/monitor DEV?=none -VARIABLE+=PIO_ENV -HELP_PIO_ENV=which platformio environment to use -PIO_ENV?=all - -ifneq (all,$(PIO_ENV)) -PIO_ENV_OPTION=-e $(PIO_ENV) -endif +### menuconfig targets ### +.PHONY: menuconfig +TARGET += menuconfig +HELP_menuconfig = configures project +menuconfig: | check-docker + @make --no-print-directory -C docker idf EXEC="idf.py menuconfig" ### build targets ### @@ -28,19 +27,20 @@ DEFAULT += build ALL += build HELP_build = builds project build: | check-docker - @make --no-print-directory -C docker pio EXEC="pio run $(PIO_ENV_OPTION)" + @make --no-print-directory -C docker idf EXEC="idf.py build" .PHONY: clean-build CLEAN += clean-build -HELP_clean-build = let pio clean generated files +HELP_clean-build = let idf clean generated files clean-build: | check-docker - @make --no-print-directory -C docker pio EXEC="pio run $(PIO_ENV_OPTION) -t clean" + @make --no-print-directory -C docker idf EXEC="idf.py clean" .PHONY: distclean-build DISTCLEAN += distclean-build -HELP_distclean-build = removes all generated files by platformio -distclean-build: clean-build - rm -rf .pio +HELP_distclean-build = removes all generated files +distclean-build: + rm sdkconfig + rm -rf build ### flash targets ### @@ -49,13 +49,13 @@ TARGET += flash HELP_flash = flashes project to esp. Use DEV=path to provide path to device or use make dev flash: | check-flash @make --no-print-directory -C docker \ - pio \ - EXEC="sudo chgrp developer $(DEV); pio run --upload-port '$(DEV)' $(PIO_ENV_OPTION) -t upload" DEV="$(DEV)" + idf \ + EXEC="sudo chgrp developer $(DEV); idf.py flash -p '$(DEV)'" .PHONY: check-flash CHECK += check-flash HELP_check-flash = checks env if flashing is possible -check-flash: | check-docker check-dev check-env +check-flash: | check-docker check-dev ### monitor targets ### @@ -64,18 +64,13 @@ TARGET += monitor HELP_monitor = connects to esp32 via serial. Use DEV=path to provide path to device or use make dev monitor: | check-monitor @make --no-print-directory -C docker \ - pio \ - EXEC="sudo chgrp developer $(DEV); \ - python3 \ - /home/developer/.platformio/packages/framework-espidf/tools/idf_monitor.py \ - .pio/build/$(PIO_ENV)/firmware.elf \ - --port $(DEV)" \ - DEV=$(DEV) + idf \ + EXEC="sudo chgrp developer $(DEV); idf.py monitor -p '$(DEV)'" .PHONY: check-monitor CHECK += check-monitor HELP_check-monitor = checks env if monitor is possible -check-monitor: | check-docker check-dev check-env +check-monitor: | check-docker check-dev ### dev targets ### @@ -128,42 +123,6 @@ ifeq ($(shell ! test -c $(DEV); echo $$?),0) @exit 1 endif -.PHONY: env -TARGET += env -HELP_env = specifies the platformio environment -env: | check-dialog - export PIO_ENV=$$(python -c "import configparser as cp; ini = cp.ConfigParser(); ini.read('platformio.ini'); print(' '.join([x.split(':')[1]+' \"\"' for x in ini.sections() if ':' in x]))" \ - | dialog \ - --stdout \ - --menu "Choose Platformio Environment" 0 0 0 "all" "use all platformio environments" \ - --file /dev/stdin); \ - clear; \ - exec $(USERSHELL) - -.PHONY: -CHECK += check-env -HELP_check-env = checks if environment was specified -check-env: -ifeq (all,$(PIO_ENV)) - @1>&2 echo "##################################" - @1>&2 echo "# ALL ENVIRONMENTS ARE SELECTED #" - @1>&2 echo "##################################" - @1>&2 echo - @1>&2 echo "this is fine, as long as you build," - @1>&2 echo "but needs to be specified if you want to do other things" - @1>&2 echo - @1>&2 echo "specify platformio environment by adding PIO_ENV as parameter" - @1>&2 echo - @1>&2 echo "make $(MAKECMDGOALS) PIO_ENV=environment" - @1>&2 echo - @1>&2 echo "or by running" - @1>&2 echo - @1>&2 echo "make env" - @1>&2 echo - @exit 1 -endif - - .PHONY: check-dialog CHECK += check-dialog HELP_check-dialog = checks if dialog is installed @@ -184,9 +143,6 @@ ifeq ($(shell which dialog 2> /dev/null),) @exit 1 endif - - - ### docker targets ### .PHONY: check-docker diff --git a/components/spo2/CMakeLists.txt b/components/spo2/CMakeLists.txt new file mode 100644 index 0000000..6ec84b8 --- /dev/null +++ b/components/spo2/CMakeLists.txt @@ -0,0 +1,21 @@ +idf_component_register( + SRC_DIRS + src + INCLUDE_DIRS + include + REQUIRES + ulp_adc +) + +# COMPONENT COMPILE FLAGS +target_compile_options(${COMPONENT_LIB} PRIVATE + -Wall + -Werror +) + +# SRC SPECIFIC COMPILE FLAGS +#set_source_files_properties( +# src/counter.c +# PROPERTIES COMPILE_FLAGS +# -Wno-unused-variable +#) \ No newline at end of file diff --git a/include/spo2.h b/components/spo2/include/spo2.h similarity index 100% rename from include/spo2.h rename to components/spo2/include/spo2.h diff --git a/include/spo2_driver.h b/components/spo2/include/spo2_driver.h similarity index 100% rename from include/spo2_driver.h rename to components/spo2/include/spo2_driver.h diff --git a/include/spo2_filter.h b/components/spo2/include/spo2_filter.h similarity index 100% rename from include/spo2_filter.h rename to components/spo2/include/spo2_filter.h diff --git a/src/spo2.c b/components/spo2/src/spo2.c similarity index 100% rename from src/spo2.c rename to components/spo2/src/spo2.c diff --git a/src/spo2_driver.c b/components/spo2/src/spo2_driver.c similarity index 100% rename from src/spo2_driver.c rename to components/spo2/src/spo2_driver.c diff --git a/src/spo2_filter.c b/components/spo2/src/spo2_filter.c similarity index 100% rename from src/spo2_filter.c rename to components/spo2/src/spo2_filter.c diff --git a/components/ulp_adc/CMakeLists.txt b/components/ulp_adc/CMakeLists.txt new file mode 100644 index 0000000..d22af0f --- /dev/null +++ b/components/ulp_adc/CMakeLists.txt @@ -0,0 +1,30 @@ +idf_component_register( + SRC_DIRS + src + INCLUDE_DIRS + include + REQUIRES + ulp + soc + driver + spo2 +) + +# COMPONENT COMPILE FLAGS +target_compile_options(${COMPONENT_LIB} PRIVATE + -Wall + -Werror +) + +# SRC SPECIFIC COMPILE FLAGS +#set_source_files_properties( +# src/counter.c +# PROPERTIES COMPILE_FLAGS +# -Wno-unused-variable +#) + +set(ulp_app_name ulp_adc) +set(ulp_s_sources ulp/ulp_program.S) +set(ulp_exp_dep_srcs "ulp.c") + +ulp_embed_binary(${ulp_app_name} "${ulp_s_sources}" "${ulp_exp_dep_srcs}") \ No newline at end of file diff --git a/components/ulp_adc/component.mk b/components/ulp_adc/component.mk new file mode 100644 index 0000000..e9af936 --- /dev/null +++ b/components/ulp_adc/component.mk @@ -0,0 +1,23 @@ +# +# ULP support additions to component makefile. +# +# 1. ULP_APP_NAME must be unique (if multiple components use ULP) +# Default value, override if necessary: +ULP_APP_NAME ?= $(COMPONENT_NAME) +# +# 2. Specify all assembly source files here. +# Files should be placed into a separate directory (in this case, ulp/), +# which should not be added to COMPONENT_SRCDIRS. +ULP_S_SOURCES = $(addprefix $(COMPONENT_PATH)/ulp, \ + ulp_program.S \ + ) +# +# 3. List all the component object files which include automatically +# generated ULP export file, $(ULP_APP_NAME).h: +ULP_EXP_DEP_OBJECTS := ulp.o +# +# 4. Include build rules for ULP program +include $(IDF_PATH)/components/ulp/component_ulp_common.mk +# +# End of ULP support additions to component makefile. +# diff --git a/include/ulp.h b/components/ulp_adc/include/ulp.h similarity index 76% rename from include/ulp.h rename to components/ulp_adc/include/ulp.h index 160c34b..54078ed 100644 --- a/include/ulp.h +++ b/components/ulp_adc/include/ulp.h @@ -16,8 +16,8 @@ void ulp_init(); -extern const uint8_t ulp_bin_start[] asm("_binary_ulp_main_bin_start"); -extern const uint8_t ulp_bin_end[] asm("_binary_ulp_main_bin_end"); +extern const uint8_t ulp_bin_start[] asm("_binary_ulp_adc_bin_start"); +extern const uint8_t ulp_bin_end[] asm("_binary_ulp_adc_bin_end"); extern uint32_t ulp_entry; extern uint32_t ulp_sample[4]; diff --git a/src/ulp.c b/components/ulp_adc/src/ulp.c similarity index 100% rename from src/ulp.c rename to components/ulp_adc/src/ulp.c diff --git a/ulp/ulp_program.S b/components/ulp_adc/ulp/ulp_program.S similarity index 100% rename from ulp/ulp_program.S rename to components/ulp_adc/ulp/ulp_program.S diff --git a/docker/Makefile b/docker/Makefile index 5ea2fbf..6a07d72 100644 --- a/docker/Makefile +++ b/docker/Makefile @@ -4,10 +4,6 @@ ### variables ### -VARIABLE += PLATFORMIO_VERSION -HELP_PLATFORMIO_VERSION = which platformio version to use -PLATFORMIO_VERSION?=4.1.0 - VARIABLE += IDF_VERSION HELP_IDF_VERSION = which idf version to use IDF_VERSION?=v4.0 @@ -41,19 +37,6 @@ HELP_DOCKEROPTS = additional docker options ### docker build targets ### -.PHONY: platformio-image -ALL += platformio-image -DEFAULT += platformio-image -TARGET_platformio += platformio-image -HELP_platformio-image = builds docker platformio image -platformio-image: | check-docker - docker build \ - --build-arg=platformio_version=$(PLATFORMIO_VERSION) \ - --build-arg=UID=$(UID) \ - --build-arg=GID=$(GID) \ - -t "lifesensor/platformio:$(PLATFORMIO_VERSION)" \ - platformio - .PHONY: idf-image ALL += idf-image DEFAULT += idf-image @@ -72,9 +55,9 @@ ALL += qemu-image DEFAULT += qemu-image TARGET_qemu += qemu-image HELP_qemu-image = buils docker qemu image -qemu-image: platformio-image | check-docker +qemu-image: idf-image | check-docker docker build \ - --build-arg=platformio_version=$(PLATFORMIO_VERSION) \ + --build-arg=idf_version=$(IDF_VERSION) \ --build-arg=qemu_commit=$(QEMU_COMMIT) \ -t "lifesensor/qemu:$(QEMU_COMMIT)" \ qemu @@ -85,31 +68,12 @@ TARGET_vscode += vscode-image HELP_vscode-image = buils docker vscode image vscode-image: qemu-image | check-docker docker build \ - --build-arg=platformio_version=$(PLATFORMIO_VERSION) \ --build-arg=qemu_commit=$(QEMU_COMMIT) \ -t "lifesensor/vscode:latest" \ vscode ### docker run targets ### -.PHONY: pio platformio -TARGET += pio -HELP_pio = runs platformio container -TARGET += platformio -HELP_platformio = runs platformio container -pio platformio: | platformio-image check-docker - docker run \ - --rm \ - -ti \ - $(DOCKER_DEV) \ - -v pio-home:/home/developer:rw \ - -v "$(shell pwd)/..:$(shell pwd)/..:rw" \ - -w "$(shell pwd)/.." \ - --hostname platformio \ - $(DOCKEROPTS) \ - lifesensor/platformio:$(PLATFORMIO_VERSION) \ - /bin/sh -c '$(EXEC)' - .PHONY: idf TARGET += idf HELP_idf = runs idf container @@ -124,7 +88,7 @@ idf: | idf-image check-docker --hostname idf \ $(DOCKEROPTS) \ lifesensor/idf:$(IDF_VERSION) \ - /bin/sh -c '$(EXEC)' + /bin/bash -ic '$(EXEC)' .PHONY: qemu TARGET += qemu @@ -167,12 +131,6 @@ code vscode: | vscode-image check-docker ### docker remove volume targets ### -.PHONY: clean-platformio -CLEAN += clean-platformio -HELP_clean-platformio = removes platformio volume -clean-platformio: - -docker volume rm pio-home - .PHONY: clean-idf CLEAN += clean-idf HELP_clean-idf = removes idf volume @@ -193,13 +151,6 @@ clean-vscode: ### docker remove image targets ### -.PHONY: distclean-platformio -DISTCLEAN += distclean-platformio -HELP_distclean-platformio = removes platformio docker image -distclean-platformio: clean-platformio - -docker image remove "lifesensor/platformio:$(PLATFORMIO_VERSION)" - docker image prune - .PHONY: distclean-idf DISTCLEAN += distclean-idf HELP_distclean-idf = removes idf docker image diff --git a/docker/README.md b/docker/README.md index 9c3c14a..c7f3e83 100644 --- a/docker/README.md +++ b/docker/README.md @@ -5,7 +5,7 @@ This directory contains the Dockerfiles for the containers used in this project. The images are build and run by make. Run `make help` for more information. -## PlatformIO +## idf - used to build the src and to create the resulting image diff --git a/docker/qemu/Dockerfile b/docker/qemu/Dockerfile index 9fcb643..c49b073 100644 --- a/docker/qemu/Dockerfile +++ b/docker/qemu/Dockerfile @@ -1,5 +1,5 @@ -ARG platformio_version -FROM lifesensor/platformio:${platformio_version} +ARG idf_version +FROM lifesensor/idf:${idf_version} RUN sudo apt-get -y install zlib1g-dev pkg-config libffi-dev gettext libxml2-dev libcairo2-dev libreadline-dev libglib2.0-dev libgsl-dev bison flex diff --git a/docker/vscode/Dockerfile b/docker/vscode/Dockerfile index 7392b36..bb04917 100644 --- a/docker/vscode/Dockerfile +++ b/docker/vscode/Dockerfile @@ -12,10 +12,15 @@ RUN \ sudo apt-get -y install code RUN echo "code /mnt &" >> /home/developer/.bashrc -RUN LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 code -w --install-extension platformio.platformio-ide -RUN \ +RUN LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 code -w --install-extension espressif.esp-idf-extension +RUN /home/developer/.espressif/python_env/idf4.0_py2.7_env/bin/python -m pip install -r /home/developer/.vscode/extensions/espressif.esp-idf-extension-0.2.0/esp_debug_adapter/requirements.txt +RUN mkdir -p /home/developer/.config/Code/User/ && \ echo '{ \ "telemetry.enableCrashReporter": false, \ "telemetry.enableTelemetry": false, \ - "update.mode": "none" \ + "update.mode": "none", \ + "idf.pythonSystemBinPath": "/home/developer/.espressif/python_env/idf4.0_py2.7_env/bin/python", \ + "idf.espIdfPath": "/home/developer/git/esp-idf", \ + "idf.customExtraPaths": "", \ + "idf.showOnboardingOnInit": false \ }' > /home/developer/.config/Code/User/settings.json diff --git a/include/README.md b/include/README.md deleted file mode 100644 index 194dcd4..0000000 --- a/include/README.md +++ /dev/null @@ -1,39 +0,0 @@ - -This directory is intended for project header files. - -A header file is a file containing C declarations and macro definitions -to be shared between several project source files. You request the use of a -header file in your project source file (C, C++, etc) located in `src` folder -by including it, with the C preprocessing directive `#include'. - -```src/main.c - -#include "header.h" - -int main (void) -{ - ... -} -``` - -Including a header file produces the same results as copying the header file -into each source file that needs it. Such copying would be time-consuming -and error-prone. With a header file, the related declarations appear -in only one place. If they need to be changed, they can be changed in one -place, and programs that include the header file will automatically use the -new version when next recompiled. The header file eliminates the labor of -finding and changing all the copies as well as the risk that a failure to -find one copy will result in inconsistencies within a program. - -In C, the usual convention is to give header files names that end with `.h'. -It is most portable to use only letters, digits, dashes, and underscores in -header file names, and at most one dot. - -Read more about using header files in official GCC documentation: - -* Include Syntax -* Include Operation -* Once-Only Headers -* Computed Includes - -https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html diff --git a/lib/README.md b/lib/README.md deleted file mode 100644 index 6debab1..0000000 --- a/lib/README.md +++ /dev/null @@ -1,46 +0,0 @@ - -This directory is intended for project specific (private) libraries. -PlatformIO will compile them to static libraries and link into executable file. - -The source code of each library should be placed in a an own separate directory -("lib/your_library_name/[here are source files]"). - -For example, see a structure of the following two libraries `Foo` and `Bar`: - -|--lib -| | -| |--Bar -| | |--docs -| | |--examples -| | |--src -| | |- Bar.c -| | |- Bar.h -| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html -| | -| |--Foo -| | |- Foo.c -| | |- Foo.h -| | -| |- README --> THIS FILE -| -|- platformio.ini -|--src - |- main.c - -and a contents of `src/main.c`: -``` -#include -#include - -int main (void) -{ - ... -} - -``` - -PlatformIO Library Dependency Finder will find automatically dependent -libraries scanning project source files. - -More information about PlatformIO Library Dependency Finder -- https://docs.platformio.org/page/librarymanager/ldf.html diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt new file mode 100644 index 0000000..bb7ffdb --- /dev/null +++ b/main/CMakeLists.txt @@ -0,0 +1,7 @@ +idf_component_register( + SRCS + main.c + REQUIRES + spo2 + ulp +) \ No newline at end of file diff --git a/src/main.c b/main/main.c similarity index 100% rename from src/main.c rename to main/main.c diff --git a/platformio.ini b/platformio.ini deleted file mode 100644 index 00e2dc8..0000000 --- a/platformio.ini +++ /dev/null @@ -1,20 +0,0 @@ -;PlatformIO Project Configuration File -; -; Build options: build flags, source filter -; Upload options: custom upload port, speed and extra flags -; Library options: dependencies, extra library storages -; Advanced options: extra scripting -; -; Please visit documentation for the other options and examples -; https://docs.platformio.org/page/projectconf.html -[env] -platform = espressif32@1.11.1 -board = pico32 -framework = espidf -build_flags = - -DBUILD_TIME=$UNIX_TIME - !python3 -c 'import subprocess; rev = subprocess.check_output(["git", "rev-parse", "--short", "HEAD"]).strip(); print("-DGIT_COMMIT_ID_SHORT=\\\"{}\\\"".format(rev.decode("ASCII")))' - -[env:nodemcu] -board = nodemcu-32s -monitor_speed = 115200 diff --git a/sdkconfig.defaults b/sdkconfig.defaults new file mode 100644 index 0000000..0cb6747 --- /dev/null +++ b/sdkconfig.defaults @@ -0,0 +1,3 @@ +CONFIG_ESP32_ULP_COPROC_ENABLED=y +CONFIG_ESP32_ULP_COPROC_RESERVE_MEM=256 +CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y \ No newline at end of file diff --git a/src/sdkconfig b/src/sdkconfig deleted file mode 100644 index ada1ef4..0000000 --- a/src/sdkconfig +++ /dev/null @@ -1,962 +0,0 @@ -# -# Automatically generated file; DO NOT EDIT. -# Espressif IoT Development Framework Configuration -# -CONFIG_IDF_TARGET="esp32" - -# -# SDK tool configuration -# -CONFIG_TOOLPREFIX="xtensa-esp32-elf-" -CONFIG_PYTHON="python" -CONFIG_MAKE_WARN_UNDEFINED_VARIABLES=y - -# -# Application manager -# -CONFIG_APP_COMPILE_TIME_DATE=y -CONFIG_APP_EXCLUDE_PROJECT_VER_VAR= -CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR= - -# -# Bootloader config -# -CONFIG_LOG_BOOTLOADER_LEVEL_NONE= -CONFIG_LOG_BOOTLOADER_LEVEL_ERROR= -CONFIG_LOG_BOOTLOADER_LEVEL_WARN= -CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y -CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG= -CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE= -CONFIG_LOG_BOOTLOADER_LEVEL=3 -CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_8V= -CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y -CONFIG_BOOTLOADER_FACTORY_RESET= -CONFIG_BOOTLOADER_APP_TEST= -CONFIG_BOOTLOADER_WDT_ENABLE=y -CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE= -CONFIG_BOOTLOADER_WDT_TIME_MS=9000 -CONFIG_APP_ROLLBACK_ENABLE= - -# -# Security features -# -CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT= -CONFIG_SECURE_BOOT_ENABLED= -CONFIG_FLASH_ENCRYPTION_ENABLED= - -# -# Serial flasher config -# -CONFIG_ESPTOOLPY_PORT="COM19" -CONFIG_ESPTOOLPY_BAUD_115200B=y -CONFIG_ESPTOOLPY_BAUD_230400B= -CONFIG_ESPTOOLPY_BAUD_921600B= -CONFIG_ESPTOOLPY_BAUD_2MB= -CONFIG_ESPTOOLPY_BAUD_OTHER= -CONFIG_ESPTOOLPY_BAUD_OTHER_VAL=115200 -CONFIG_ESPTOOLPY_BAUD=115200 -CONFIG_ESPTOOLPY_COMPRESSED=y -CONFIG_FLASHMODE_QIO= -CONFIG_FLASHMODE_QOUT= -CONFIG_FLASHMODE_DIO=y -CONFIG_FLASHMODE_DOUT= -CONFIG_ESPTOOLPY_FLASHMODE="dio" -CONFIG_ESPTOOLPY_FLASHFREQ_80M= -CONFIG_ESPTOOLPY_FLASHFREQ_40M=y -CONFIG_ESPTOOLPY_FLASHFREQ_26M= -CONFIG_ESPTOOLPY_FLASHFREQ_20M= -CONFIG_ESPTOOLPY_FLASHFREQ="40m" -CONFIG_ESPTOOLPY_FLASHSIZE_1MB= -CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y -CONFIG_ESPTOOLPY_FLASHSIZE_4MB= -CONFIG_ESPTOOLPY_FLASHSIZE_8MB= -CONFIG_ESPTOOLPY_FLASHSIZE_16MB= -CONFIG_ESPTOOLPY_FLASHSIZE="2MB" -CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y -CONFIG_ESPTOOLPY_BEFORE_RESET=y -CONFIG_ESPTOOLPY_BEFORE_NORESET= -CONFIG_ESPTOOLPY_BEFORE="default_reset" -CONFIG_ESPTOOLPY_AFTER_RESET=y -CONFIG_ESPTOOLPY_AFTER_NORESET= -CONFIG_ESPTOOLPY_AFTER="hard_reset" -CONFIG_MONITOR_BAUD_9600B= -CONFIG_MONITOR_BAUD_57600B= -CONFIG_MONITOR_BAUD_115200B=y -CONFIG_MONITOR_BAUD_230400B= -CONFIG_MONITOR_BAUD_921600B= -CONFIG_MONITOR_BAUD_2MB= -CONFIG_MONITOR_BAUD_OTHER= -CONFIG_MONITOR_BAUD_OTHER_VAL=115200 -CONFIG_MONITOR_BAUD=115200 - -# -# Partition Table -# -CONFIG_PARTITION_TABLE_SINGLE_APP=y -CONFIG_PARTITION_TABLE_TWO_OTA= -CONFIG_PARTITION_TABLE_CUSTOM= -CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" -CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp.csv" -CONFIG_PARTITION_TABLE_OFFSET=0x8000 -CONFIG_PARTITION_TABLE_MD5=y - -# -# Compiler options -# -CONFIG_OPTIMIZATION_LEVEL_DEBUG=y -CONFIG_OPTIMIZATION_LEVEL_RELEASE= -CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y -CONFIG_OPTIMIZATION_ASSERTIONS_SILENT= -CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED= -CONFIG_CXX_EXCEPTIONS=y -CONFIG_CXX_EXCEPTIONS_EMG_POOL_SIZE=0 -CONFIG_STACK_CHECK_NONE=y -CONFIG_STACK_CHECK_NORM= -CONFIG_STACK_CHECK_STRONG= -CONFIG_STACK_CHECK_ALL= -CONFIG_STACK_CHECK= -CONFIG_WARN_WRITE_STRINGS= -CONFIG_DISABLE_GCC8_WARNINGS= - -# -# Component config -# - -# -# Application Level Tracing -# -CONFIG_ESP32_APPTRACE_DEST_TRAX= -CONFIG_ESP32_APPTRACE_DEST_NONE=y -CONFIG_ESP32_APPTRACE_ENABLE= -CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y -CONFIG_AWS_IOT_SDK=y -CONFIG_AWS_IOT_MQTT_HOST="" -CONFIG_AWS_IOT_MQTT_PORT=8883 -CONFIG_AWS_IOT_MQTT_TX_BUF_LEN=512 -CONFIG_AWS_IOT_MQTT_RX_BUF_LEN=512 -CONFIG_AWS_IOT_MQTT_NUM_SUBSCRIBE_HANDLERS=5 -CONFIG_AWS_IOT_MQTT_MIN_RECONNECT_WAIT_INTERVAL=1000 -CONFIG_AWS_IOT_MQTT_MAX_RECONNECT_WAIT_INTERVAL=128000 - -# -# Thing Shadow -# -CONFIG_AWS_IOT_OVERRIDE_THING_SHADOW_RX_BUFFER= -CONFIG_AWS_IOT_SHADOW_MAX_SIZE_OF_UNIQUE_CLIENT_ID_BYTES=80 -CONFIG_AWS_IOT_SHADOW_MAX_SIMULTANEOUS_ACKS=10 -CONFIG_AWS_IOT_SHADOW_MAX_SIMULTANEOUS_THINGNAMES=10 -CONFIG_AWS_IOT_SHADOW_MAX_JSON_TOKEN_EXPECTED=120 -CONFIG_AWS_IOT_SHADOW_MAX_SHADOW_TOPIC_LENGTH_WITHOUT_THINGNAME=60 -CONFIG_AWS_IOT_SHADOW_MAX_SIZE_OF_THING_NAME=20 - -# -# Bluetooth -# -CONFIG_BT_ENABLED=y - -# -# Bluetooth controller -# -CONFIG_BTDM_CONTROLLER_MODE_BLE_ONLY=y -CONFIG_BTDM_CONTROLLER_MODE_BR_EDR_ONLY= -CONFIG_BTDM_CONTROLLER_MODE_BTDM= -CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN=3 -CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=3 -CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF=0 -CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF=0 -CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE_0=y -CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE_1= -CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE=0 -CONFIG_BTDM_CONTROLLER_HCI_MODE_VHCI=y -CONFIG_BTDM_CONTROLLER_HCI_MODE_UART_H4= - -# -# MODEM SLEEP Options -# -CONFIG_BTDM_CONTROLLER_MODEM_SLEEP= -CONFIG_BLE_SCAN_DUPLICATE=y -CONFIG_SCAN_DUPLICATE_BY_DEVICE_ADDR=y -CONFIG_SCAN_DUPLICATE_BY_ADV_DATA= -CONFIG_SCAN_DUPLICATE_BY_ADV_DATA_AND_DEVICE_ADDR= -CONFIG_SCAN_DUPLICATE_TYPE=0 -CONFIG_DUPLICATE_SCAN_CACHE_SIZE=50 -CONFIG_BLE_MESH_SCAN_DUPLICATE_EN= -CONFIG_BTDM_CONTROLLER_FULL_SCAN_SUPPORTED= -CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_SUPPORTED=y -CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_NUM=100 -CONFIG_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 -CONFIG_BLUEDROID_ENABLED=y -CONFIG_BLUEDROID_PINNED_TO_CORE_0=y -CONFIG_BLUEDROID_PINNED_TO_CORE_1= -CONFIG_BLUEDROID_PINNED_TO_CORE=0 -CONFIG_BTC_TASK_STACK_SIZE=3072 -CONFIG_BTU_TASK_STACK_SIZE=4096 -CONFIG_BLUEDROID_MEM_DEBUG= -CONFIG_CLASSIC_BT_ENABLED= -CONFIG_GATTS_ENABLE=y -CONFIG_GATTS_SEND_SERVICE_CHANGE_MANUAL= -CONFIG_GATTS_SEND_SERVICE_CHANGE_AUTO=y -CONFIG_GATTS_SEND_SERVICE_CHANGE_MODE=0 -CONFIG_GATTC_ENABLE=y -CONFIG_GATTC_CACHE_NVS_FLASH= -CONFIG_BLE_SMP_ENABLE=y -CONFIG_SMP_SLAVE_CON_PARAMS_UPD_ENABLE= -CONFIG_BT_STACK_NO_LOG= - -# -# BT DEBUG LOG LEVEL -# -CONFIG_HCI_TRACE_LEVEL_NONE= -CONFIG_HCI_TRACE_LEVEL_ERROR= -CONFIG_HCI_TRACE_LEVEL_WARNING=y -CONFIG_HCI_TRACE_LEVEL_API= -CONFIG_HCI_TRACE_LEVEL_EVENT= -CONFIG_HCI_TRACE_LEVEL_DEBUG= -CONFIG_HCI_TRACE_LEVEL_VERBOSE= -CONFIG_HCI_INITIAL_TRACE_LEVEL=2 -CONFIG_BTM_TRACE_LEVEL_NONE= -CONFIG_BTM_TRACE_LEVEL_ERROR= -CONFIG_BTM_TRACE_LEVEL_WARNING=y -CONFIG_BTM_TRACE_LEVEL_API= -CONFIG_BTM_TRACE_LEVEL_EVENT= -CONFIG_BTM_TRACE_LEVEL_DEBUG= -CONFIG_BTM_TRACE_LEVEL_VERBOSE= -CONFIG_BTM_INITIAL_TRACE_LEVEL=2 -CONFIG_L2CAP_TRACE_LEVEL_NONE= -CONFIG_L2CAP_TRACE_LEVEL_ERROR= -CONFIG_L2CAP_TRACE_LEVEL_WARNING=y -CONFIG_L2CAP_TRACE_LEVEL_API= -CONFIG_L2CAP_TRACE_LEVEL_EVENT= -CONFIG_L2CAP_TRACE_LEVEL_DEBUG= -CONFIG_L2CAP_TRACE_LEVEL_VERBOSE= -CONFIG_L2CAP_INITIAL_TRACE_LEVEL=2 -CONFIG_RFCOMM_TRACE_LEVEL_NONE= -CONFIG_RFCOMM_TRACE_LEVEL_ERROR= -CONFIG_RFCOMM_TRACE_LEVEL_WARNING=y -CONFIG_RFCOMM_TRACE_LEVEL_API= -CONFIG_RFCOMM_TRACE_LEVEL_EVENT= -CONFIG_RFCOMM_TRACE_LEVEL_DEBUG= -CONFIG_RFCOMM_TRACE_LEVEL_VERBOSE= -CONFIG_RFCOMM_INITIAL_TRACE_LEVEL=2 -CONFIG_SDP_TRACE_LEVEL_NONE= -CONFIG_SDP_TRACE_LEVEL_ERROR= -CONFIG_SDP_TRACE_LEVEL_WARNING=y -CONFIG_SDP_TRACE_LEVEL_API= -CONFIG_SDP_TRACE_LEVEL_EVENT= -CONFIG_SDP_TRACE_LEVEL_DEBUG= -CONFIG_SDP_TRACE_LEVEL_VERBOSE= -CONFIG_SDP_INITIAL_TRACE_LEVEL=2 -CONFIG_GAP_TRACE_LEVEL_NONE= -CONFIG_GAP_TRACE_LEVEL_ERROR= -CONFIG_GAP_TRACE_LEVEL_WARNING=y -CONFIG_GAP_TRACE_LEVEL_API= -CONFIG_GAP_TRACE_LEVEL_EVENT= -CONFIG_GAP_TRACE_LEVEL_DEBUG= -CONFIG_GAP_TRACE_LEVEL_VERBOSE= -CONFIG_GAP_INITIAL_TRACE_LEVEL=2 -CONFIG_BNEP_TRACE_LEVEL_NONE= -CONFIG_BNEP_TRACE_LEVEL_ERROR= -CONFIG_BNEP_TRACE_LEVEL_WARNING=y -CONFIG_BNEP_TRACE_LEVEL_API= -CONFIG_BNEP_TRACE_LEVEL_EVENT= -CONFIG_BNEP_TRACE_LEVEL_DEBUG= -CONFIG_BNEP_TRACE_LEVEL_VERBOSE= -CONFIG_BNEP_INITIAL_TRACE_LEVEL=2 -CONFIG_PAN_TRACE_LEVEL_NONE= -CONFIG_PAN_TRACE_LEVEL_ERROR= -CONFIG_PAN_TRACE_LEVEL_WARNING=y -CONFIG_PAN_TRACE_LEVEL_API= -CONFIG_PAN_TRACE_LEVEL_EVENT= -CONFIG_PAN_TRACE_LEVEL_DEBUG= -CONFIG_PAN_TRACE_LEVEL_VERBOSE= -CONFIG_PAN_INITIAL_TRACE_LEVEL=2 -CONFIG_A2D_TRACE_LEVEL_NONE= -CONFIG_A2D_TRACE_LEVEL_ERROR= -CONFIG_A2D_TRACE_LEVEL_WARNING=y -CONFIG_A2D_TRACE_LEVEL_API= -CONFIG_A2D_TRACE_LEVEL_EVENT= -CONFIG_A2D_TRACE_LEVEL_DEBUG= -CONFIG_A2D_TRACE_LEVEL_VERBOSE= -CONFIG_A2D_INITIAL_TRACE_LEVEL=2 -CONFIG_AVDT_TRACE_LEVEL_NONE= -CONFIG_AVDT_TRACE_LEVEL_ERROR= -CONFIG_AVDT_TRACE_LEVEL_WARNING=y -CONFIG_AVDT_TRACE_LEVEL_API= -CONFIG_AVDT_TRACE_LEVEL_EVENT= -CONFIG_AVDT_TRACE_LEVEL_DEBUG= -CONFIG_AVDT_TRACE_LEVEL_VERBOSE= -CONFIG_AVDT_INITIAL_TRACE_LEVEL=2 -CONFIG_AVCT_TRACE_LEVEL_NONE= -CONFIG_AVCT_TRACE_LEVEL_ERROR= -CONFIG_AVCT_TRACE_LEVEL_WARNING=y -CONFIG_AVCT_TRACE_LEVEL_API= -CONFIG_AVCT_TRACE_LEVEL_EVENT= -CONFIG_AVCT_TRACE_LEVEL_DEBUG= -CONFIG_AVCT_TRACE_LEVEL_VERBOSE= -CONFIG_AVCT_INITIAL_TRACE_LEVEL=2 -CONFIG_AVRC_TRACE_LEVEL_NONE= -CONFIG_AVRC_TRACE_LEVEL_ERROR= -CONFIG_AVRC_TRACE_LEVEL_WARNING=y -CONFIG_AVRC_TRACE_LEVEL_API= -CONFIG_AVRC_TRACE_LEVEL_EVENT= -CONFIG_AVRC_TRACE_LEVEL_DEBUG= -CONFIG_AVRC_TRACE_LEVEL_VERBOSE= -CONFIG_AVRC_INITIAL_TRACE_LEVEL=2 -CONFIG_MCA_TRACE_LEVEL_NONE= -CONFIG_MCA_TRACE_LEVEL_ERROR= -CONFIG_MCA_TRACE_LEVEL_WARNING=y -CONFIG_MCA_TRACE_LEVEL_API= -CONFIG_MCA_TRACE_LEVEL_EVENT= -CONFIG_MCA_TRACE_LEVEL_DEBUG= -CONFIG_MCA_TRACE_LEVEL_VERBOSE= -CONFIG_MCA_INITIAL_TRACE_LEVEL=2 -CONFIG_HID_TRACE_LEVEL_NONE= -CONFIG_HID_TRACE_LEVEL_ERROR= -CONFIG_HID_TRACE_LEVEL_WARNING=y -CONFIG_HID_TRACE_LEVEL_API= -CONFIG_HID_TRACE_LEVEL_EVENT= -CONFIG_HID_TRACE_LEVEL_DEBUG= -CONFIG_HID_TRACE_LEVEL_VERBOSE= -CONFIG_HID_INITIAL_TRACE_LEVEL=2 -CONFIG_APPL_TRACE_LEVEL_NONE= -CONFIG_APPL_TRACE_LEVEL_ERROR= -CONFIG_APPL_TRACE_LEVEL_WARNING=y -CONFIG_APPL_TRACE_LEVEL_API= -CONFIG_APPL_TRACE_LEVEL_EVENT= -CONFIG_APPL_TRACE_LEVEL_DEBUG= -CONFIG_APPL_TRACE_LEVEL_VERBOSE= -CONFIG_APPL_INITIAL_TRACE_LEVEL=2 -CONFIG_GATT_TRACE_LEVEL_NONE= -CONFIG_GATT_TRACE_LEVEL_ERROR= -CONFIG_GATT_TRACE_LEVEL_WARNING=y -CONFIG_GATT_TRACE_LEVEL_API= -CONFIG_GATT_TRACE_LEVEL_EVENT= -CONFIG_GATT_TRACE_LEVEL_DEBUG= -CONFIG_GATT_TRACE_LEVEL_VERBOSE= -CONFIG_GATT_INITIAL_TRACE_LEVEL=2 -CONFIG_SMP_TRACE_LEVEL_NONE= -CONFIG_SMP_TRACE_LEVEL_ERROR= -CONFIG_SMP_TRACE_LEVEL_WARNING=y -CONFIG_SMP_TRACE_LEVEL_API= -CONFIG_SMP_TRACE_LEVEL_EVENT= -CONFIG_SMP_TRACE_LEVEL_DEBUG= -CONFIG_SMP_TRACE_LEVEL_VERBOSE= -CONFIG_SMP_INITIAL_TRACE_LEVEL=2 -CONFIG_BTIF_TRACE_LEVEL_NONE= -CONFIG_BTIF_TRACE_LEVEL_ERROR= -CONFIG_BTIF_TRACE_LEVEL_WARNING=y -CONFIG_BTIF_TRACE_LEVEL_API= -CONFIG_BTIF_TRACE_LEVEL_EVENT= -CONFIG_BTIF_TRACE_LEVEL_DEBUG= -CONFIG_BTIF_TRACE_LEVEL_VERBOSE= -CONFIG_BTIF_INITIAL_TRACE_LEVEL=2 -CONFIG_BTC_TRACE_LEVEL_NONE= -CONFIG_BTC_TRACE_LEVEL_ERROR= -CONFIG_BTC_TRACE_LEVEL_WARNING=y -CONFIG_BTC_TRACE_LEVEL_API= -CONFIG_BTC_TRACE_LEVEL_EVENT= -CONFIG_BTC_TRACE_LEVEL_DEBUG= -CONFIG_BTC_TRACE_LEVEL_VERBOSE= -CONFIG_BTC_INITIAL_TRACE_LEVEL=2 -CONFIG_OSI_TRACE_LEVEL_NONE= -CONFIG_OSI_TRACE_LEVEL_ERROR= -CONFIG_OSI_TRACE_LEVEL_WARNING=y -CONFIG_OSI_TRACE_LEVEL_API= -CONFIG_OSI_TRACE_LEVEL_EVENT= -CONFIG_OSI_TRACE_LEVEL_DEBUG= -CONFIG_OSI_TRACE_LEVEL_VERBOSE= -CONFIG_OSI_INITIAL_TRACE_LEVEL=2 -CONFIG_BLUFI_TRACE_LEVEL_NONE= -CONFIG_BLUFI_TRACE_LEVEL_ERROR= -CONFIG_BLUFI_TRACE_LEVEL_WARNING=y -CONFIG_BLUFI_TRACE_LEVEL_API= -CONFIG_BLUFI_TRACE_LEVEL_EVENT= -CONFIG_BLUFI_TRACE_LEVEL_DEBUG= -CONFIG_BLUFI_TRACE_LEVEL_VERBOSE= -CONFIG_BLUFI_INITIAL_TRACE_LEVEL=2 -CONFIG_BT_ACL_CONNECTIONS=4 -CONFIG_BT_ALLOCATION_FROM_SPIRAM_FIRST= -CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY= -CONFIG_BLE_HOST_QUEUE_CONGESTION_CHECK= -CONFIG_SMP_ENABLE=y -CONFIG_BLE_ACTIVE_SCAN_REPORT_ADV_SCAN_RSP_INDIVIDUALLY= -CONFIG_BLE_ESTABLISH_LINK_CONNECTION_TIMEOUT=30 -CONFIG_BT_RESERVE_DRAM=0xdb5c - -# -# Driver configurations -# - -# -# ADC configuration -# -CONFIG_ADC_FORCE_XPD_FSM= -CONFIG_ADC2_DISABLE_DAC=y - -# -# SPI configuration -# -CONFIG_SPI_MASTER_IN_IRAM= -CONFIG_SPI_MASTER_ISR_IN_IRAM=y -CONFIG_SPI_SLAVE_IN_IRAM= -CONFIG_SPI_SLAVE_ISR_IN_IRAM=y - -# -# eFuse Bit Manager -# -CONFIG_EFUSE_CUSTOM_TABLE= -CONFIG_EFUSE_VIRTUAL= -CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE= -CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y -CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT= -CONFIG_EFUSE_MAX_BLK_LEN=192 - -# -# ESP32-specific -# -CONFIG_IDF_TARGET_ESP32=y -CONFIG_ESP32_REV_MIN_0=y -CONFIG_ESP32_REV_MIN_1= -CONFIG_ESP32_REV_MIN_2= -CONFIG_ESP32_REV_MIN_3= -CONFIG_ESP32_REV_MIN=0 -CONFIG_ESP32_DPORT_WORKAROUND=y -CONFIG_ESP32_DEFAULT_CPU_FREQ_80= -CONFIG_ESP32_DEFAULT_CPU_FREQ_160=y -CONFIG_ESP32_DEFAULT_CPU_FREQ_240= -CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=160 -CONFIG_SPIRAM_SUPPORT= -CONFIG_MEMMAP_TRACEMEM= -CONFIG_MEMMAP_TRACEMEM_TWOBANKS= -CONFIG_ESP32_TRAX= -CONFIG_TRACEMEM_RESERVE_DRAM=0x0 -CONFIG_TWO_UNIVERSAL_MAC_ADDRESS= -CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y -CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 -CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 -CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 -CONFIG_MAIN_TASK_STACK_SIZE=3584 -CONFIG_IPC_TASK_STACK_SIZE=1024 -CONFIG_TIMER_TASK_STACK_SIZE=3584 -CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y -CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF= -CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR= -CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF= -CONFIG_NEWLIB_STDIN_LINE_ENDING_LF= -CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y -CONFIG_NEWLIB_NANO_FORMAT= -CONFIG_CONSOLE_UART_DEFAULT=y -CONFIG_CONSOLE_UART_CUSTOM= -CONFIG_CONSOLE_UART_NONE= -CONFIG_CONSOLE_UART_NUM=0 -CONFIG_CONSOLE_UART_BAUDRATE=115200 -CONFIG_ULP_COPROC_ENABLED=y -CONFIG_ULP_COPROC_RESERVE_MEM=256 -CONFIG_ESP32_PANIC_PRINT_HALT= -CONFIG_ESP32_PANIC_PRINT_REBOOT=y -CONFIG_ESP32_PANIC_SILENT_REBOOT= -CONFIG_ESP32_PANIC_GDBSTUB= -CONFIG_ESP32_DEBUG_OCDAWARE=y -CONFIG_ESP32_DEBUG_STUBS_ENABLE=y -CONFIG_INT_WDT=y -CONFIG_INT_WDT_TIMEOUT_MS=300 -CONFIG_INT_WDT_CHECK_CPU1=y -CONFIG_TASK_WDT=y -CONFIG_TASK_WDT_PANIC= -CONFIG_TASK_WDT_TIMEOUT_S=5 -CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y -CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y -CONFIG_BROWNOUT_DET=y -CONFIG_BROWNOUT_DET_LVL_SEL_0=y -CONFIG_BROWNOUT_DET_LVL_SEL_1= -CONFIG_BROWNOUT_DET_LVL_SEL_2= -CONFIG_BROWNOUT_DET_LVL_SEL_3= -CONFIG_BROWNOUT_DET_LVL_SEL_4= -CONFIG_BROWNOUT_DET_LVL_SEL_5= -CONFIG_BROWNOUT_DET_LVL_SEL_6= -CONFIG_BROWNOUT_DET_LVL_SEL_7= -CONFIG_BROWNOUT_DET_LVL=0 -CONFIG_REDUCE_PHY_TX_POWER=y -CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y -CONFIG_ESP32_TIME_SYSCALL_USE_RTC= -CONFIG_ESP32_TIME_SYSCALL_USE_FRC1= -CONFIG_ESP32_TIME_SYSCALL_USE_NONE= -CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y -CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL= -CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC= -CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256= -CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024 -CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000 -CONFIG_ESP32_XTAL_FREQ_40=y -CONFIG_ESP32_XTAL_FREQ_26= -CONFIG_ESP32_XTAL_FREQ_AUTO= -CONFIG_ESP32_XTAL_FREQ=40 -CONFIG_DISABLE_BASIC_ROM_CONSOLE= -CONFIG_ESP_TIMER_PROFILING= -CONFIG_COMPATIBLE_PRE_V2_1_BOOTLOADERS= -CONFIG_ESP_ERR_TO_NAME_LOOKUP=y - -# -# Wi-Fi -# -CONFIG_SW_COEXIST_ENABLE=y -CONFIG_SW_COEXIST_PREFERENCE_WIFI= -CONFIG_SW_COEXIST_PREFERENCE_BT= -CONFIG_SW_COEXIST_PREFERENCE_BALANCE=y -CONFIG_SW_COEXIST_PREFERENCE_VALUE=2 -CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 -CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -CONFIG_ESP32_WIFI_STATIC_TX_BUFFER= -CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y -CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 -CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 -CONFIG_ESP32_WIFI_CSI_ENABLED= -CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y -CONFIG_ESP32_WIFI_TX_BA_WIN=6 -CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y -CONFIG_ESP32_WIFI_RX_BA_WIN=6 -CONFIG_ESP32_WIFI_NVS_ENABLED=y -CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y -CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1= -CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 -CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 -CONFIG_ESP32_WIFI_DEBUG_LOG_ENABLE= -CONFIG_ESP32_WIFI_IRAM_OPT=y - -# -# PHY -# -CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y -CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION= -CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 -CONFIG_ESP32_PHY_MAX_TX_POWER=20 - -# -# Power Management -# -CONFIG_PM_ENABLE= - -# -# ADC-Calibration -# -CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y -CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y -CONFIG_ADC_CAL_LUT_ENABLE=y - -# -# Event Loop Library -# -CONFIG_EVENT_LOOP_PROFILING= - -# -# ESP HTTP client -# -CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y - -# -# HTTP Server -# -CONFIG_HTTPD_MAX_REQ_HDR_LEN=512 -CONFIG_HTTPD_MAX_URI_LEN=512 -CONFIG_HTTPD_ERR_RESP_NO_DELAY=y -CONFIG_HTTPD_PURGE_BUF_LEN=32 -CONFIG_HTTPD_LOG_PURGE_DATA= - -# -# ESP HTTPS OTA -# -CONFIG_OTA_ALLOW_HTTP= - -# -# Core dump -# -CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH= -CONFIG_ESP32_ENABLE_COREDUMP_TO_UART= -CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y -CONFIG_ESP32_ENABLE_COREDUMP= - -# -# Ethernet -# -CONFIG_DMA_RX_BUF_NUM=10 -CONFIG_DMA_TX_BUF_NUM=10 -CONFIG_EMAC_L2_TO_L3_RX_BUF_MODE= -CONFIG_EMAC_CHECK_LINK_PERIOD_MS=2000 -CONFIG_EMAC_TASK_PRIORITY=20 -CONFIG_EMAC_TASK_STACK_SIZE=3072 - -# -# FAT Filesystem support -# -CONFIG_FATFS_CODEPAGE_DYNAMIC= -CONFIG_FATFS_CODEPAGE_437=y -CONFIG_FATFS_CODEPAGE_720= -CONFIG_FATFS_CODEPAGE_737= -CONFIG_FATFS_CODEPAGE_771= -CONFIG_FATFS_CODEPAGE_775= -CONFIG_FATFS_CODEPAGE_850= -CONFIG_FATFS_CODEPAGE_852= -CONFIG_FATFS_CODEPAGE_855= -CONFIG_FATFS_CODEPAGE_857= -CONFIG_FATFS_CODEPAGE_860= -CONFIG_FATFS_CODEPAGE_861= -CONFIG_FATFS_CODEPAGE_862= -CONFIG_FATFS_CODEPAGE_863= -CONFIG_FATFS_CODEPAGE_864= -CONFIG_FATFS_CODEPAGE_865= -CONFIG_FATFS_CODEPAGE_866= -CONFIG_FATFS_CODEPAGE_869= -CONFIG_FATFS_CODEPAGE_932= -CONFIG_FATFS_CODEPAGE_936= -CONFIG_FATFS_CODEPAGE_949= -CONFIG_FATFS_CODEPAGE_950= -CONFIG_FATFS_CODEPAGE=437 -CONFIG_FATFS_LFN_NONE=y -CONFIG_FATFS_LFN_HEAP= -CONFIG_FATFS_LFN_STACK= -CONFIG_FATFS_FS_LOCK=0 -CONFIG_FATFS_TIMEOUT_MS=10000 -CONFIG_FATFS_PER_FILE_CACHE=y - -# -# Modbus configuration -# -CONFIG_MB_QUEUE_LENGTH=20 -CONFIG_MB_SERIAL_TASK_STACK_SIZE=2048 -CONFIG_MB_SERIAL_BUF_SIZE=256 -CONFIG_MB_SERIAL_TASK_PRIO=10 -CONFIG_MB_CONTROLLER_SLAVE_ID_SUPPORT= -CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT=20 -CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 -CONFIG_MB_CONTROLLER_STACK_SIZE=4096 -CONFIG_MB_EVENT_QUEUE_TIMEOUT=20 -CONFIG_MB_TIMER_PORT_ENABLED=y -CONFIG_MB_TIMER_GROUP=0 -CONFIG_MB_TIMER_INDEX=0 - -# -# FreeRTOS -# -CONFIG_FREERTOS_UNICORE= -CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF -CONFIG_FREERTOS_CORETIMER_0=y -CONFIG_FREERTOS_CORETIMER_1= -CONFIG_FREERTOS_HZ=100 -CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION=y -CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE= -CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL= -CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y -CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK= -CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y -CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 -CONFIG_FREERTOS_ASSERT_FAIL_ABORT=y -CONFIG_FREERTOS_ASSERT_FAIL_PRINT_CONTINUE= -CONFIG_FREERTOS_ASSERT_DISABLE= -CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 -CONFIG_FREERTOS_ISR_STACKSIZE=1536 -CONFIG_FREERTOS_LEGACY_HOOKS= -CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 -CONFIG_SUPPORT_STATIC_ALLOCATION=1 -CONFIG_TIMER_TASK_PRIORITY=1 -CONFIG_TIMER_TASK_STACK_DEPTH=2048 -CONFIG_TIMER_QUEUE_LENGTH=10 -CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 -CONFIG_FREERTOS_USE_TRACE_FACILITY= -CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS= -CONFIG_FREERTOS_DEBUG_INTERNALS= -CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y -CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y -CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE= - -# -# Heap memory debugging -# -CONFIG_HEAP_POISONING_DISABLED=y -CONFIG_HEAP_POISONING_LIGHT= -CONFIG_HEAP_POISONING_COMPREHENSIVE= -CONFIG_HEAP_TRACING= - -# -# libsodium -# -CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y - -# -# Log output -# -CONFIG_LOG_DEFAULT_LEVEL_NONE= -CONFIG_LOG_DEFAULT_LEVEL_ERROR= -CONFIG_LOG_DEFAULT_LEVEL_WARN= -CONFIG_LOG_DEFAULT_LEVEL_INFO=y -CONFIG_LOG_DEFAULT_LEVEL_DEBUG= -CONFIG_LOG_DEFAULT_LEVEL_VERBOSE= -CONFIG_LOG_DEFAULT_LEVEL=3 -CONFIG_LOG_COLORS=y - -# -# LWIP -# -CONFIG_L2_TO_L3_COPY= -CONFIG_LWIP_IRAM_OPTIMIZATION= -CONFIG_LWIP_MAX_SOCKETS=10 -CONFIG_USE_ONLY_LWIP_SELECT= -CONFIG_LWIP_SO_REUSE=y -CONFIG_LWIP_SO_REUSE_RXTOALL=y -CONFIG_LWIP_SO_RCVBUF= -CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=1 -CONFIG_LWIP_IP_FRAG= -CONFIG_LWIP_IP_REASSEMBLY= -CONFIG_LWIP_STATS= -CONFIG_LWIP_ETHARP_TRUST_IP_MAC= -CONFIG_ESP_GRATUITOUS_ARP=y -CONFIG_GARP_TMR_INTERVAL=60 -CONFIG_TCPIP_RECVMBOX_SIZE=32 -CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y -CONFIG_LWIP_DHCP_RESTORE_LAST_IP= - -# -# DHCP server -# -CONFIG_LWIP_DHCPS_LEASE_UNIT=60 -CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 -CONFIG_LWIP_AUTOIP= -CONFIG_LWIP_NETIF_LOOPBACK=y -CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 - -# -# TCP -# -CONFIG_LWIP_MAX_ACTIVE_TCP=16 -CONFIG_LWIP_MAX_LISTENING_TCP=16 -CONFIG_TCP_MAXRTX=12 -CONFIG_TCP_SYNMAXRTX=6 -CONFIG_TCP_MSS=1436 -CONFIG_TCP_MSL=60000 -CONFIG_TCP_SND_BUF_DEFAULT=5744 -CONFIG_TCP_WND_DEFAULT=5744 -CONFIG_TCP_RECVMBOX_SIZE=6 -CONFIG_TCP_QUEUE_OOSEQ=y -CONFIG_ESP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES= -CONFIG_TCP_OVERSIZE_MSS=y -CONFIG_TCP_OVERSIZE_QUARTER_MSS= -CONFIG_TCP_OVERSIZE_DISABLE= - -# -# UDP -# -CONFIG_LWIP_MAX_UDP_PCBS=16 -CONFIG_UDP_RECVMBOX_SIZE=6 -CONFIG_TCPIP_TASK_STACK_SIZE=2048 -CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y -CONFIG_TCPIP_TASK_AFFINITY_CPU0= -CONFIG_TCPIP_TASK_AFFINITY_CPU1= -CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF -CONFIG_PPP_SUPPORT= - -# -# ICMP -# -CONFIG_LWIP_MULTICAST_PING= -CONFIG_LWIP_BROADCAST_PING= - -# -# LWIP RAW API -# -CONFIG_LWIP_MAX_RAW_PCBS=16 - -# -# mbedTLS -# -CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y -CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC= -CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC= -CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=16384 -CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN= -CONFIG_MBEDTLS_DEBUG= -CONFIG_MBEDTLS_HARDWARE_AES=y -CONFIG_MBEDTLS_HARDWARE_MPI= -CONFIG_MBEDTLS_HARDWARE_SHA= -CONFIG_MBEDTLS_HAVE_TIME=y -CONFIG_MBEDTLS_HAVE_TIME_DATE= -CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y -CONFIG_MBEDTLS_TLS_SERVER_ONLY= -CONFIG_MBEDTLS_TLS_CLIENT_ONLY= -CONFIG_MBEDTLS_TLS_DISABLED= -CONFIG_MBEDTLS_TLS_SERVER=y -CONFIG_MBEDTLS_TLS_CLIENT=y -CONFIG_MBEDTLS_TLS_ENABLED=y - -# -# TLS Key Exchange Methods -# -CONFIG_MBEDTLS_PSK_MODES= -CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y -CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA=y -CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y -CONFIG_MBEDTLS_SSL_RENEGOTIATION=y -CONFIG_MBEDTLS_SSL_PROTO_SSL3= -CONFIG_MBEDTLS_SSL_PROTO_TLS1=y -CONFIG_MBEDTLS_SSL_PROTO_TLS1_1=y -CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y -CONFIG_MBEDTLS_SSL_PROTO_DTLS= -CONFIG_MBEDTLS_SSL_ALPN=y -CONFIG_MBEDTLS_SSL_SESSION_TICKETS=y - -# -# Symmetric Ciphers -# -CONFIG_MBEDTLS_AES_C=y -CONFIG_MBEDTLS_CAMELLIA_C= -CONFIG_MBEDTLS_DES_C= -CONFIG_MBEDTLS_RC4_DISABLED=y -CONFIG_MBEDTLS_RC4_ENABLED_NO_DEFAULT= -CONFIG_MBEDTLS_RC4_ENABLED= -CONFIG_MBEDTLS_BLOWFISH_C= -CONFIG_MBEDTLS_XTEA_C= -CONFIG_MBEDTLS_CCM_C=y -CONFIG_MBEDTLS_GCM_C=y -CONFIG_MBEDTLS_RIPEMD160_C= - -# -# Certificates -# -CONFIG_MBEDTLS_PEM_PARSE_C=y -CONFIG_MBEDTLS_PEM_WRITE_C=y -CONFIG_MBEDTLS_X509_CRL_PARSE_C=y -CONFIG_MBEDTLS_X509_CSR_PARSE_C=y -CONFIG_MBEDTLS_ECP_C=y -CONFIG_MBEDTLS_ECDH_C=y -CONFIG_MBEDTLS_ECDSA_C=y -CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y -CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y -CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y -CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y -CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y -CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y -CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y -CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y -CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y -CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y -CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y -CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y -CONFIG_MBEDTLS_ECP_NIST_OPTIM=y - -# -# mDNS -# -CONFIG_MDNS_MAX_SERVICES=10 - -# -# ESP-MQTT Configurations -# -CONFIG_MQTT_PROTOCOL_311=y -CONFIG_MQTT_TRANSPORT_SSL=y -CONFIG_MQTT_TRANSPORT_WEBSOCKET=y -CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y -CONFIG_MQTT_USE_CUSTOM_CONFIG= -CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED= -CONFIG_MQTT_CUSTOM_OUTBOX= - -# -# NVS -# - -# -# OpenSSL -# -CONFIG_OPENSSL_DEBUG= -CONFIG_OPENSSL_ASSERT_DO_NOTHING=y -CONFIG_OPENSSL_ASSERT_EXIT= - -# -# PThreads -# -CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 -CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 -CONFIG_PTHREAD_STACK_MIN=768 -CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y -CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0= -CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1= -CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 -CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" - -# -# SPI Flash driver -# -CONFIG_SPI_FLASH_VERIFY_WRITE= -CONFIG_SPI_FLASH_ENABLE_COUNTERS= -CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y -CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y -CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS= -CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED= -CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y -CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 -CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 - -# -# SPIFFS Configuration -# -CONFIG_SPIFFS_MAX_PARTITIONS=3 - -# -# SPIFFS Cache Configuration -# -CONFIG_SPIFFS_CACHE=y -CONFIG_SPIFFS_CACHE_WR=y -CONFIG_SPIFFS_CACHE_STATS= -CONFIG_SPIFFS_PAGE_CHECK=y -CONFIG_SPIFFS_GC_MAX_RUNS=10 -CONFIG_SPIFFS_GC_STATS= -CONFIG_SPIFFS_PAGE_SIZE=256 -CONFIG_SPIFFS_OBJ_NAME_LEN=32 -CONFIG_SPIFFS_USE_MAGIC=y -CONFIG_SPIFFS_USE_MAGIC_LENGTH=y -CONFIG_SPIFFS_META_LENGTH=4 -CONFIG_SPIFFS_USE_MTIME=y - -# -# Debug Configuration -# -CONFIG_SPIFFS_DBG= -CONFIG_SPIFFS_API_DBG= -CONFIG_SPIFFS_GC_DBG= -CONFIG_SPIFFS_CACHE_DBG= -CONFIG_SPIFFS_CHECK_DBG= -CONFIG_SPIFFS_TEST_VISUALISATION= - -# -# TCP/IP Adapter -# -CONFIG_IP_LOST_TIMER_INTERVAL=120 -CONFIG_TCPIP_LWIP=y - -# -# Unity unit testing library -# -CONFIG_UNITY_ENABLE_FLOAT=y -CONFIG_UNITY_ENABLE_DOUBLE=y -CONFIG_UNITY_ENABLE_COLOR= -CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y -CONFIG_UNITY_ENABLE_FIXTURE= - -# -# Virtual file system -# -CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y -CONFIG_SUPPORT_TERMIOS=y - -# -# Wear Levelling -# -CONFIG_WL_SECTOR_SIZE_512= -CONFIG_WL_SECTOR_SIZE_4096=y -CONFIG_WL_SECTOR_SIZE=4096 - -# -# Wi-Fi Provisioning Manager -# -CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 diff --git a/src/sdkconfig.h b/src/sdkconfig.h deleted file mode 100644 index 6141e7a..0000000 --- a/src/sdkconfig.h +++ /dev/null @@ -1,373 +0,0 @@ -/* - * - * Automatically generated file; DO NOT EDIT. - * Espressif IoT Development Framework Configuration - * - */ - -#define CONFIG_ENABLE_ARDUINO_DEPENDS 1 -#define CONFIG_AUTOSTART_ARDUINO 1 -#define CONFIG_ARDUINO_RUNNING_CORE 1 -#define CONFIG_ARDUINO_UDP_RUN_CORE1 1 -#define CONFIG_ARDUINO_EVENT_RUN_CORE1 1 -#define CONFIG_ARDUINO_EVENT_RUNNING_CORE 1 -#define CONFIG_ARDUINO_UDP_RUNNING_CORE 1 - -#define CONFIG_GATTC_ENABLE 1 -#define CONFIG_ESP32_PHY_MAX_TX_POWER 20 -#define CONFIG_TRACEMEM_RESERVE_DRAM 0x0 -#define CONFIG_FREERTOS_MAX_TASK_NAME_LEN 16 -#define CONFIG_MQTT_TRANSPORT_SSL 1 -#define CONFIG_BLE_SMP_ENABLE 1 -#define CONFIG_FATFS_LFN_NONE 1 -#define CONFIG_SDP_INITIAL_TRACE_LEVEL 2 -#define CONFIG_MB_SERIAL_TASK_PRIO 10 -#define CONFIG_MQTT_PROTOCOL_311 1 -#define CONFIG_TCP_RECVMBOX_SIZE 6 -#define CONFIG_FATFS_CODEPAGE_437 1 -#define CONFIG_BLE_SCAN_DUPLICATE 1 -#define CONFIG_AVDT_TRACE_LEVEL_WARNING 1 -#define CONFIG_AWS_IOT_SHADOW_MAX_SIMULTANEOUS_ACKS 10 -#define CONFIG_TCP_WND_DEFAULT 5744 -#define CONFIG_PARTITION_TABLE_OFFSET 0x8000 -#define CONFIG_SW_COEXIST_ENABLE 1 -#define CONFIG_SPIFFS_USE_MAGIC_LENGTH 1 -#define CONFIG_AVCT_INITIAL_TRACE_LEVEL 2 -#define CONFIG_IPC_TASK_STACK_SIZE 1024 -#define CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES 16 -#define CONFIG_FATFS_PER_FILE_CACHE 1 -#define CONFIG_ESPTOOLPY_FLASHFREQ "40m" -#define CONFIG_AWS_IOT_SHADOW_MAX_SIZE_OF_THING_NAME 20 -#define CONFIG_MBEDTLS_KEY_EXCHANGE_RSA 1 -#define CONFIG_UDP_RECVMBOX_SIZE 6 -#define CONFIG_SPI_FLASH_YIELD_DURING_ERASE 1 -#define CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE 0 -#define CONFIG_MBEDTLS_AES_C 1 -#define CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED 1 -#define CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN 752 -#define CONFIG_MBEDTLS_GCM_C 1 -#define CONFIG_ESPTOOLPY_FLASHSIZE "2MB" -#define CONFIG_HEAP_POISONING_DISABLED 1 -#define CONFIG_SPIFFS_CACHE_WR 1 -#define CONFIG_BROWNOUT_DET_LVL_SEL_0 1 -#define CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER 1 -#define CONFIG_SPIFFS_CACHE 1 -#define CONFIG_INT_WDT 1 -#define CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN 3 -#define CONFIG_MBEDTLS_SSL_PROTO_TLS1 1 -#define CONFIG_ESP_GRATUITOUS_ARP 1 -#define CONFIG_AWS_IOT_SHADOW_MAX_SIZE_OF_UNIQUE_CLIENT_ID_BYTES 80 -#define CONFIG_MBEDTLS_ECDSA_C 1 -#define CONFIG_ESPTOOLPY_FLASHFREQ_40M 1 -#define CONFIG_LOG_BOOTLOADER_LEVEL_INFO 1 -#define CONFIG_ESPTOOLPY_FLASHSIZE_2MB 1 -#define CONFIG_HTTPD_MAX_REQ_HDR_LEN 512 -#define CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE 0 -#define CONFIG_AWS_IOT_MQTT_PORT 8883 -#define CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS 1 -#define CONFIG_MBEDTLS_ECDH_C 1 -#define CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE 1 -#define CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM 10 -#define CONFIG_AWS_IOT_MQTT_MAX_RECONNECT_WAIT_INTERVAL 128000 -#define CONFIG_MBEDTLS_SSL_ALPN 1 -#define CONFIG_BTM_TRACE_LEVEL_WARNING 1 -#define CONFIG_MBEDTLS_PEM_WRITE_C 1 -#define CONFIG_RFCOMM_TRACE_LEVEL_WARNING 1 -#define CONFIG_LOG_DEFAULT_LEVEL_INFO 1 -#define CONFIG_BT_RESERVE_DRAM 0xdb5c -#define CONFIG_APP_COMPILE_TIME_DATE 1 -#define CONFIG_FATFS_FS_LOCK 0 -#define CONFIG_IP_LOST_TIMER_INTERVAL 120 -#define CONFIG_SPIFFS_META_LENGTH 4 -#define CONFIG_ESP32_PANIC_PRINT_REBOOT 1 -#define CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE 20 -#define CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED 1 -#define CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED 1 -#define CONFIG_AWS_IOT_MQTT_RX_BUF_LEN 512 -#define CONFIG_MB_SERIAL_BUF_SIZE 256 -#define CONFIG_CONSOLE_UART_BAUDRATE 115200 -#define CONFIG_LWIP_MAX_SOCKETS 10 -#define CONFIG_LWIP_NETIF_LOOPBACK 1 -#define CONFIG_MCA_TRACE_LEVEL_WARNING 1 -#define CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT "pthread" -#define CONFIG_EMAC_TASK_PRIORITY 20 -#define CONFIG_TIMER_TASK_STACK_DEPTH 2048 -#define CONFIG_TCP_MSS 1436 -#define CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED 1 -#define CONFIG_BTIF_INITIAL_TRACE_LEVEL 2 -#define CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF 3 -#define CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4 1 -#define CONFIG_FATFS_CODEPAGE 437 -#define CONFIG_APPL_TRACE_LEVEL_WARNING 1 -#define CONFIG_BTC_INITIAL_TRACE_LEVEL 2 -#define CONFIG_ESP32_DEFAULT_CPU_FREQ_160 1 -#define CONFIG_ULP_COPROC_ENABLED 1 -#define CONFIG_ULP_COPROC_RESERVE_MEM 1024 -#define CONFIG_LWIP_MAX_UDP_PCBS 16 -#define CONFIG_ESPTOOLPY_BAUD 115200 -#define CONFIG_INT_WDT_CHECK_CPU1 1 -#define CONFIG_AVRC_INITIAL_TRACE_LEVEL 2 -#define CONFIG_ADC_CAL_LUT_ENABLE 1 -#define CONFIG_AWS_IOT_MQTT_TX_BUF_LEN 512 -#define CONFIG_FLASHMODE_DIO 1 -#define CONFIG_ESPTOOLPY_AFTER_RESET 1 -#define CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED 1 -#define CONFIG_LWIP_DHCPS_MAX_STATION_NUM 8 -#define CONFIG_TOOLPREFIX "xtensa-esp32-elf-" -#define CONFIG_MBEDTLS_ECP_C 1 -#define CONFIG_FREERTOS_IDLE_TASK_STACKSIZE 1536 -#define CONFIG_MBEDTLS_RC4_DISABLED 1 -#define CONFIG_GAP_TRACE_LEVEL_WARNING 1 -#define CONFIG_CONSOLE_UART_NUM 0 -#define CONFIG_AWS_IOT_SHADOW_MAX_JSON_TOKEN_EXPECTED 120 -#define CONFIG_ESP32_APPTRACE_LOCK_ENABLE 1 -#define CONFIG_PTHREAD_STACK_MIN 768 -#define CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC 1 -#define CONFIG_ESPTOOLPY_BAUD_115200B 1 -#define CONFIG_TCP_OVERSIZE_MSS 1 -#define CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS 1 -#define CONFIG_CONSOLE_UART_DEFAULT 1 -#define CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN 16384 -#define CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS 4 -#define CONFIG_GATT_TRACE_LEVEL_WARNING 1 -#define CONFIG_ESPTOOLPY_FLASHSIZE_DETECT 1 -#define CONFIG_TIMER_TASK_STACK_SIZE 3584 -#define CONFIG_BTIF_TRACE_LEVEL_WARNING 1 -#define CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE 1 -#define CONFIG_HCI_INITIAL_TRACE_LEVEL 2 -#define CONFIG_AVDT_INITIAL_TRACE_LEVEL 2 -#define CONFIG_MBEDTLS_X509_CRL_PARSE_C 1 -#define CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER 1 -#define CONFIG_HTTPD_PURGE_BUF_LEN 32 -#define CONFIG_SCAN_DUPLICATE_BY_DEVICE_ADDR 1 -#define CONFIG_AWS_IOT_SHADOW_MAX_SHADOW_TOPIC_LENGTH_WITHOUT_THINGNAME 60 -#define CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER 1 -#define CONFIG_MB_SERIAL_TASK_STACK_SIZE 2048 -#define CONFIG_GATTS_SEND_SERVICE_CHANGE_AUTO 1 -#define CONFIG_LWIP_DHCPS_LEASE_UNIT 60 -#define CONFIG_EFUSE_MAX_BLK_LEN 192 -#define CONFIG_SPIFFS_USE_MAGIC 1 -#define CONFIG_TCPIP_TASK_STACK_SIZE 2048 -#define CONFIG_BLUFI_TRACE_LEVEL_WARNING 1 -#define CONFIG_BLUEDROID_PINNED_TO_CORE_0 1 -#define CONFIG_TASK_WDT 1 -#define CONFIG_RFCOMM_INITIAL_TRACE_LEVEL 2 -#define CONFIG_MAIN_TASK_STACK_SIZE 3584 -#define CONFIG_SPIFFS_PAGE_CHECK 1 -#define CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0 1 -#define CONFIG_LWIP_MAX_ACTIVE_TCP 16 -#define CONFIG_TASK_WDT_TIMEOUT_S 5 -#define CONFIG_INT_WDT_TIMEOUT_MS 300 -#define CONFIG_ESPTOOLPY_FLASHMODE "dio" -#define CONFIG_BTC_TASK_STACK_SIZE 3072 -#define CONFIG_BLUEDROID_ENABLED 1 -#define CONFIG_NEWLIB_STDIN_LINE_ENDING_CR 1 -#define CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA 1 -#define CONFIG_ESPTOOLPY_BEFORE "default_reset" -#define CONFIG_ADC2_DISABLE_DAC 1 -#define CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_NUM 100 -#define CONFIG_ESP32_REV_MIN_0 1 -#define CONFIG_LOG_DEFAULT_LEVEL 3 -#define CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION 1 -#define CONFIG_TIMER_QUEUE_LENGTH 10 -#define CONFIG_ESP32_REV_MIN 0 -#define CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT 1 -#define CONFIG_GATTS_SEND_SERVICE_CHANGE_MODE 0 -#define CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY 1 -#define CONFIG_MAKE_WARN_UNDEFINED_VARIABLES 1 -#define CONFIG_FATFS_TIMEOUT_MS 10000 -#define CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM 32 -#define CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS 1 -#define CONFIG_PAN_INITIAL_TRACE_LEVEL 2 -#define CONFIG_MBEDTLS_CCM_C 1 -#define CONFIG_SPI_MASTER_ISR_IN_IRAM 1 -#define CONFIG_MCA_INITIAL_TRACE_LEVEL 2 -#define CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER 20 -#define CONFIG_A2D_INITIAL_TRACE_LEVEL 2 -#define CONFIG_ESP32_RTC_CLK_CAL_CYCLES 1024 -#define CONFIG_ESP32_WIFI_TX_BA_WIN 6 -#define CONFIG_ESP32_WIFI_NVS_ENABLED 1 -#define CONFIG_MDNS_MAX_SERVICES 10 -#define CONFIG_IDF_TARGET_ESP32 1 -#define CONFIG_EMAC_CHECK_LINK_PERIOD_MS 2000 -#define CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED 1 -#define CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS 20 -#define CONFIG_LIBSODIUM_USE_MBEDTLS_SHA 1 -#define CONFIG_AWS_IOT_SDK 1 -#define CONFIG_DMA_RX_BUF_NUM 10 -#define CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED 1 -#define CONFIG_TCP_SYNMAXRTX 6 -#define CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA 1 -#define CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF 0 -#define CONFIG_PYTHON "python" -#define CONFIG_MBEDTLS_ECP_NIST_OPTIM 1 -#define CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1 1 -#define CONFIG_ESPTOOLPY_COMPRESSED 1 -#define CONFIG_PARTITION_TABLE_FILENAME "partitions_singleapp.csv" -#define CONFIG_MB_CONTROLLER_STACK_SIZE 4096 -#define CONFIG_TCP_SND_BUF_DEFAULT 5744 -#define CONFIG_GARP_TMR_INTERVAL 60 -#define CONFIG_LWIP_DHCP_MAX_NTP_SERVERS 1 -#define CONFIG_BNEP_INITIAL_TRACE_LEVEL 2 -#define CONFIG_HCI_TRACE_LEVEL_WARNING 1 -#define CONFIG_TCP_MSL 60000 -#define CONFIG_MBEDTLS_SSL_PROTO_TLS1_1 1 -#define CONFIG_LWIP_SO_REUSE_RXTOALL 1 -#define CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT 20 -#define CONFIG_ESP32_WIFI_MGMT_SBUF_NUM 32 -#define CONFIG_PARTITION_TABLE_SINGLE_APP 1 -#define CONFIG_UNITY_ENABLE_FLOAT 1 -#define CONFIG_ESP32_WIFI_RX_BA_WIN 6 -#define CONFIG_MBEDTLS_X509_CSR_PARSE_C 1 -#define CONFIG_SPIFFS_USE_MTIME 1 -#define CONFIG_BTC_TRACE_LEVEL_WARNING 1 -#define CONFIG_EMAC_TASK_STACK_SIZE 3072 -#define CONFIG_SMP_TRACE_LEVEL_WARNING 1 -#define CONFIG_MB_QUEUE_LENGTH 20 -#define CONFIG_SW_COEXIST_PREFERENCE_VALUE 2 -#define CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA 1 -#define CONFIG_LWIP_DHCP_DOES_ARP_CHECK 1 -#define CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER 1 -#define CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE 2304 -#define CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V 1 -#define CONFIG_A2D_TRACE_LEVEL_WARNING 1 -#define CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY 2000 -#define CONFIG_AWS_IOT_MQTT_NUM_SUBSCRIBE_HANDLERS 5 -#define CONFIG_BROWNOUT_DET_LVL 0 -#define CONFIG_MBEDTLS_PEM_PARSE_C 1 -#define CONFIG_SPIFFS_GC_MAX_RUNS 10 -#define CONFIG_ESP32_APPTRACE_DEST_NONE 1 -#define CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC 1 -#define CONFIG_MBEDTLS_SSL_PROTO_TLS1_2 1 -#define CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA 1 -#define CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM 32 -#define CONFIG_HTTPD_MAX_URI_LEN 512 -#define CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED 1 -#define CONFIG_AVCT_TRACE_LEVEL_WARNING 1 -#define CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED 1 -#define CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1 1 -#define CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ 160 -#define CONFIG_MBEDTLS_HARDWARE_AES 1 -#define CONFIG_FREERTOS_HZ 100 -#define CONFIG_LOG_COLORS 1 -#define CONFIG_OSI_TRACE_LEVEL_WARNING 1 -#define CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE 1 -#define CONFIG_STACK_CHECK_NONE 1 -#define CONFIG_ADC_CAL_EFUSE_TP_ENABLE 1 -#define CONFIG_BNEP_TRACE_LEVEL_WARNING 1 -#define CONFIG_FREERTOS_ASSERT_FAIL_ABORT 1 -#define CONFIG_BROWNOUT_DET 1 -#define CONFIG_AWS_IOT_SHADOW_MAX_SIMULTANEOUS_THINGNAMES 10 -#define CONFIG_ESP32_XTAL_FREQ 40 -#define CONFIG_OSI_INITIAL_TRACE_LEVEL 2 -#define CONFIG_MONITOR_BAUD_115200B 1 -#define CONFIG_LOG_BOOTLOADER_LEVEL 3 -#define CONFIG_MBEDTLS_TLS_ENABLED 1 -#define CONFIG_LWIP_MAX_RAW_PCBS 16 -#define CONFIG_BTU_TASK_STACK_SIZE 4096 -#define CONFIG_SMP_ENABLE 1 -#define CONFIG_HID_TRACE_LEVEL_WARNING 1 -#define CONFIG_AVRC_TRACE_LEVEL_WARNING 1 -#define CONFIG_MBEDTLS_SSL_SESSION_TICKETS 1 -#define CONFIG_SPIFFS_MAX_PARTITIONS 3 -#define CONFIG_ESP_ERR_TO_NAME_LOOKUP 1 -#define CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE_0 1 -#define CONFIG_MBEDTLS_SSL_RENEGOTIATION 1 -#define CONFIG_HID_INITIAL_TRACE_LEVEL 2 -#define CONFIG_ESPTOOLPY_BEFORE_RESET 1 -#define CONFIG_MB_EVENT_QUEUE_TIMEOUT 20 -#define CONFIG_ESPTOOLPY_BAUD_OTHER_VAL 115200 -#define CONFIG_SPIFFS_OBJ_NAME_LEN 32 -#define CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT 5 -#define CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF 0 -#define CONFIG_PARTITION_TABLE_MD5 1 -#define CONFIG_TCPIP_RECVMBOX_SIZE 32 -#define CONFIG_TCP_MAXRTX 12 -#define CONFIG_BTM_INITIAL_TRACE_LEVEL 2 -#define CONFIG_ESPTOOLPY_AFTER "hard_reset" -#define CONFIG_TCPIP_TASK_AFFINITY 0x7FFFFFFF -#define CONFIG_LWIP_SO_REUSE 1 -#define CONFIG_ESP32_XTAL_FREQ_40 1 -#define CONFIG_BTDM_CONTROLLER_MODE_BLE_ONLY 1 -#define CONFIG_DMA_TX_BUF_NUM 10 -#define CONFIG_LWIP_MAX_LISTENING_TCP 16 -#define CONFIG_FREERTOS_INTERRUPT_BACKTRACE 1 -#define CONFIG_WL_SECTOR_SIZE 4096 -#define CONFIG_ESP32_DEBUG_OCDAWARE 1 -#define CONFIG_MQTT_TRANSPORT_WEBSOCKET 1 -#define CONFIG_TIMER_TASK_PRIORITY 1 -#define CONFIG_MBEDTLS_TLS_CLIENT 1 -#define CONFIG_AWS_IOT_MQTT_MIN_RECONNECT_WAIT_INTERVAL 1000 -#define CONFIG_BTDM_CONTROLLER_HCI_MODE_VHCI 1 -#define CONFIG_BT_ENABLED 1 -#define CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY 1 -#define CONFIG_SDP_TRACE_LEVEL_WARNING 1 -#define CONFIG_SW_COEXIST_PREFERENCE_BALANCE 1 -#define CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED 1 -#define CONFIG_MONITOR_BAUD 115200 -#define CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT -1 -#define CONFIG_ESP32_DEBUG_STUBS_ENABLE 1 -#define CONFIG_BLE_ESTABLISH_LINK_CONNECTION_TIMEOUT 30 -#define CONFIG_TCPIP_LWIP 1 -#define CONFIG_REDUCE_PHY_TX_POWER 1 -#define CONFIG_BOOTLOADER_WDT_TIME_MS 9000 -#define CONFIG_PAN_TRACE_LEVEL_WARNING 1 -#define CONFIG_FREERTOS_CORETIMER_0 1 -#define CONFIG_PARTITION_TABLE_CUSTOM_FILENAME "partitions.csv" -#define CONFIG_MBEDTLS_HAVE_TIME 1 -#define CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY 1 -#define CONFIG_TCP_QUEUE_OOSEQ 1 -#define CONFIG_GATTS_ENABLE 1 -#define CONFIG_ADC_CAL_EFUSE_VREF_ENABLE 1 -#define CONFIG_MBEDTLS_TLS_SERVER 1 -#define CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT 1 -#define CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_SUPPORTED 1 -#define CONFIG_FREERTOS_ISR_STACKSIZE 1536 -#define CONFIG_SUPPORT_TERMIOS 1 -#define CONFIG_OPENSSL_ASSERT_DO_NOTHING 1 -#define CONFIG_IDF_TARGET "esp32" -#define CONFIG_WL_SECTOR_SIZE_4096 1 -#define CONFIG_OPTIMIZATION_LEVEL_DEBUG 1 -#define CONFIG_GATT_INITIAL_TRACE_LEVEL 2 -#define CONFIG_FREERTOS_NO_AFFINITY 0x7FFFFFFF -#define CONFIG_AWS_IOT_MQTT_HOST "" -#define CONFIG_L2CAP_TRACE_LEVEL_WARNING 1 -#define CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED 1 -#define CONFIG_HTTPD_ERR_RESP_NO_DELAY 1 -#define CONFIG_MB_TIMER_INDEX 0 -#define CONFIG_SCAN_DUPLICATE_TYPE 0 -#define CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED 1 -#define CONFIG_APPL_INITIAL_TRACE_LEVEL 2 -#define CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED 1 -#define CONFIG_SPI_FLASH_ERASE_YIELD_TICKS 1 -#define CONFIG_SMP_INITIAL_TRACE_LEVEL 2 -#define CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA 1 -#define CONFIG_SPI_SLAVE_ISR_IN_IRAM 1 -#define CONFIG_L2CAP_INITIAL_TRACE_LEVEL 2 -#define CONFIG_SYSTEM_EVENT_QUEUE_SIZE 32 -#define CONFIG_BT_ACL_CONNECTIONS 4 -#define CONFIG_ESP32_WIFI_TX_BUFFER_TYPE 1 -#define CONFIG_BOOTLOADER_WDT_ENABLE 1 -#define CONFIG_GAP_INITIAL_TRACE_LEVEL 2 -#define CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED 1 -#define CONFIG_LWIP_LOOPBACK_MAX_PBUFS 8 -#define CONFIG_MB_TIMER_GROUP 0 -#define CONFIG_SPI_FLASH_ROM_DRIVER_PATCH 1 -#define CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE 1 -#define CONFIG_SPIFFS_PAGE_SIZE 256 -#define CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED 1 -#define CONFIG_ESP32_DPORT_WORKAROUND 1 -#define CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0 1 -#define CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT 3072 -#define CONFIG_MB_TIMER_PORT_ENABLED 1 -#define CONFIG_DUPLICATE_SCAN_CACHE_SIZE 50 -#define CONFIG_MONITOR_BAUD_OTHER_VAL 115200 -#define CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF 1 -#define CONFIG_ESPTOOLPY_PORT "COM19" -#define CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS 1 -#define CONFIG_UNITY_ENABLE_DOUBLE 1 -#define CONFIG_BLE_ADV_REPORT_DISCARD_THRSHOLD 20 -#define CONFIG_BLUEDROID_PINNED_TO_CORE 0 -#define CONFIG_ESP32_WIFI_IRAM_OPT 1 -#define CONFIG_BLUFI_INITIAL_TRACE_LEVEL 2 -#define CONFIG_SUPPORT_STATIC_ALLOCATION 1 From 35bb58ee2a47c47954d5be42e93a85eaa2e53efd Mon Sep 17 00:00:00 2001 From: drechsler Date: Thu, 26 Mar 2020 17:34:36 +0100 Subject: [PATCH 3/9] documentation:feature added various README.md and template component --- README.md | 51 ++++++++++++++++- components/README.md | 16 ++++++ components/spo2/README.md | 43 ++++++++++++++ components/template/CMakeLists.txt | 21 +++++++ components/template/Kconfig | 22 +++++++ components/template/README.md | 76 +++++++++++++++++++++++++ components/template/include/counter.h | 48 ++++++++++++++++ components/template/src/counter.c | 41 +++++++++++++ components/template/test/CMakeLists.txt | 21 +++++++ components/template/test/test.c | 46 +++++++++++++++ components/ulp_adc/README.md | 23 ++++++++ 11 files changed, 407 insertions(+), 1 deletion(-) create mode 100644 components/README.md create mode 100644 components/spo2/README.md create mode 100644 components/template/CMakeLists.txt create mode 100644 components/template/Kconfig create mode 100644 components/template/README.md create mode 100644 components/template/include/counter.h create mode 100644 components/template/src/counter.c create mode 100644 components/template/test/CMakeLists.txt create mode 100644 components/template/test/test.c create mode 100644 components/ulp_adc/README.md diff --git a/README.md b/README.md index 5da8bb9..5f8c092 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,53 @@ # LifeSensor -- Esp32-core +ESP32 firmware for the lifesensor project. -This repo is part of the LifeSensor project. +## Components +See [components/README.md](components/README.md) for an overview of features. +## Building + +* via Docker + * Run `make help` to see all options + 1. Choosing device + * `make dev` + * configures which serial port to use + 2. Building + * `make build` + 1. creates idf docker image if needed + 2. starts idf docker container to build project + 3. Flashing + * `make flash` + 1. creates idf docker image if needed + 2. starts idf docker container to flash project to connected ESP via specified device by `make dev` + 4. Monitoring + * `make monitor` + 1. creates idf docker image if needed + 2. starts idf docker container to connect to ESP via specified device by `make dev` +* via local esd-idf toolchain + 1. Building + * `idf.py build` + 2. Flashing + * `idf.py flash -p ` + 3. Monitoring + * `idf.py monitor -p ` + +## Testing +* via docker + * Run `make help` to see all options + 1. `make test` + 1. creates idf docker image + 2. starts idf docker container to build test project (`make build-test`) + 3. starts idf docker container to flash the test project to ESP via specified device by `make dev` (`make flash-test`) + 4. starts idf docker container to connect to ESP via specified device by `make dev` (`make monitor-test`) +* via local esd-idf toolchain + 1. Change to test project + * `cd test` + 2. Building + * `idf.py build` + 3. Flashing + * `idf.py flash -p ` + 4. Monitoring + * `idf.py monitor -p ` + +## Contributing +See [CONTRIBUTING.md](CONTRIBUTING.md) \ No newline at end of file diff --git a/components/README.md b/components/README.md new file mode 100644 index 0000000..816b337 --- /dev/null +++ b/components/README.md @@ -0,0 +1,16 @@ +# Components + +"Component" is a term for structures used by the espressif idf framework, +separating code into libraries and defining dependencies. + +## Adding a new component +See the [template](template/README.md) component. + +## List of Components + +* [ulp adc](spo2/README.md) + * Utilize the Ultra-low-power Co-processor to sample the ADCs of the ESP +* [SpO2](spo2/README.md) + * Driver for the original remo2hbo SpO2 hardware + + diff --git a/components/spo2/README.md b/components/spo2/README.md new file mode 100644 index 0000000..c17962a --- /dev/null +++ b/components/spo2/README.md @@ -0,0 +1,43 @@ +# SpO2 component + +This component is a port of the original remo2hbo SpO2 firmware. +It controls the analog filters and uses the ESP internal ADCs to sample the output. + +## Concept + +Instantiate the SpO2 task & queue and initialize them to start the task. + +## How to use + + +### Instantiation +```c +#include "spo2.h" +static uint8_t spo2_queue_buffer[SPO2_QUEUE_BUFFER_SIZE]; +static StackType_t spo2_task_stack[SPO2_TASK_STACK_SIZE]; + +_spo2_queue spo2_queue = { + .length = SPO2_QUEUE_LENGTH, + .item_size = SPO2_QUEUE_ITEM_SIZE, + .buffer = spo2_queue_buffer +}; + +_spo2_task spo2_task = { + .name = SPO2_TASK_NAME, + .priority = tskIDLE_PRIORITY, + .stack = spo2_task_stack +}; +``` + +### Initialization +```c +#include "spo2.h" +void app_main() { + spo2_init(&spo2_task, &spo2_queue); +} +``` + +## Related + +- [remo2hbo SpO2 Schematics](https://github.com/cadus/Hardware-Circuit-Boards/blob/master/Schematics%20and%20PCB%20as%20PDF%20and%20PNG/Pulsoxy_schematic.pdf) +- [remo2hbo SpO2 firmware](https://github.com/cadus/Hardware-Circuit-Boards/tree/master/Source_codes/SPO2) \ No newline at end of file diff --git a/components/template/CMakeLists.txt b/components/template/CMakeLists.txt new file mode 100644 index 0000000..c3710f3 --- /dev/null +++ b/components/template/CMakeLists.txt @@ -0,0 +1,21 @@ +idf_component_register( + SRC_DIRS + src + INCLUDE_DIRS + include + REQUIRES +# mycomponent +) + +# COMPONENT COMPILE FLAGS +target_compile_options(${COMPONENT_LIB} PRIVATE + -Wall + -Werror +) + +# SRC SPECIFIC COMPILE FLAGS +#set_source_files_properties( +# src/counter.c +# PROPERTIES COMPILE_FLAGS +# -Wno-unused-variable +#) \ No newline at end of file diff --git a/components/template/Kconfig b/components/template/Kconfig new file mode 100644 index 0000000..cfb9988 --- /dev/null +++ b/components/template/Kconfig @@ -0,0 +1,22 @@ +menu "Counter" + menuconfig COUNTER_TEST_ENABLE + bool "Enable unit test" + default y + if COUNTER_TEST_ENABLE + config COUNTER_TEST_ENABLE_RESET + bool "Reset" + default y + config COUNTER_TEST_ENABLE_INCREMENT + bool "Increment" + default y + config COUNTER_TEST_ENABLE_DECREMENT + bool "Decrement" + default y + config COUNTER_TEST_ENABLE_ADD + bool "Add" + default y + config COUNTER_TEST_ENABLE_SUB + bool "Sub" + default y + endif +endmenu \ No newline at end of file diff --git a/components/template/README.md b/components/template/README.md new file mode 100644 index 0000000..086d80a --- /dev/null +++ b/components/template/README.md @@ -0,0 +1,76 @@ +# Template component + +This is a template, which can be used to quickly add new components to the project. +Simply copy this directory to create a new component. + +A component in this project has following structure: +``` +component +├── README.md +├── CMakeLists.txt +├── include +│   ├── public_header.h +│   └── ... +├── src +│   ├── private_header.h +│   ├── ... +│   ├── private_code.h +│   └── ... +└── test +    ├── CMakeLists.txt +    ├── test_header.h +    ├── ... +    ├── test_code.c +    └── ... +``` + +- `/component` is the name of the component + - **ATTENTION**: a component will replace any other component with the same name +- `/component/README.md` gives additional information about the component +- `/component/CMakeLists.txt` defines how the component should be build and what to export +- `/component/include/*.h` are public header files for other components +- `/component/src/*.{c,h}` are the private source files of the component +- `/component/test/CMakeLists.txt` defines how the unit test should be build +- `/component/test/*.{c,h}` are the unit test files of the component + +## Concept + + +This component implements a private dummy counter variable which can be manipulated through various simple functions. + +## Examples + + +### Reset +```c +#include "counter.h" +Counter zero = counter_reset(); +``` + +### Increment +```c +#include "counter.h" +Counter inc = counter_increment(); +``` + +### Decrement +```c +#include "counter.h" +Counter dec = counter_decrement(); +``` + +### Add +```c +#include "counter.h" +Counter added = counter_add(5); +``` + +### Sub +```c +#include "counter.h" +Counter sub = counter_sub(7); +``` + +## Related + +- [idf build-system documentation](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html) \ No newline at end of file diff --git a/components/template/include/counter.h b/components/template/include/counter.h new file mode 100644 index 0000000..7c7f363 --- /dev/null +++ b/components/template/include/counter.h @@ -0,0 +1,48 @@ +#ifndef COUNTER_H_ +#define COUNTER_H_ + +typedef unsigned int Counter; + +/** + * counter_reset - resets global counter + * @return: counter value + */ +Counter +counter_reset +(void); + +/** + * counter_increment - increments global counter by 1 + * @return: counter value + */ +Counter +counter_increment +(void); + +/** + * counter_decrement - decrements global counter by 1 + * @return: counter value + */ +Counter +counter_decrement +(void); + +/** + * counter_add - add value to counter + * @value: value to add + * @return: counter value + */ +Counter +counter_add +(unsigned int value); + +/** + * counter_sub - sub value from counter + * @value: value to sub + * @return: counter value + */ +Counter +counter_sub +(unsigned int value); + +#endif \ No newline at end of file diff --git a/components/template/src/counter.c b/components/template/src/counter.c new file mode 100644 index 0000000..1abdbd2 --- /dev/null +++ b/components/template/src/counter.c @@ -0,0 +1,41 @@ +#include "counter.h" + +static Counter counter; + +Counter +counter_reset +(void) +{ + counter = 0; + return counter; +} + +Counter +counter_increment +(void) +{ + return ++counter; +} + +Counter +counter_decrement +(void) +{ + return --counter; +} + +Counter +counter_add +(unsigned int value) +{ + counter += value; + return counter; +} + +Counter +counter_sub +(unsigned int value) +{ + counter -= value; + return counter; +} \ No newline at end of file diff --git a/components/template/test/CMakeLists.txt b/components/template/test/CMakeLists.txt new file mode 100644 index 0000000..a726dff --- /dev/null +++ b/components/template/test/CMakeLists.txt @@ -0,0 +1,21 @@ + +idf_component_register( + SRC_DIRS "." + INCLUDE_DIRS "." + REQUIRES + unity + template +) + +# COMPONENT COMPILE FLAGS +target_compile_options(${COMPONENT_LIB} PRIVATE + -Wall +# -Werror +) + +# SRC SPECIFIC COMPILE FLAGS +#set_source_files_properties( +# test.c +# PROPERTIES COMPILE_FLAGS +# -Wno-unused-variable +#) \ No newline at end of file diff --git a/components/template/test/test.c b/components/template/test/test.c new file mode 100644 index 0000000..e8c90dd --- /dev/null +++ b/components/template/test/test.c @@ -0,0 +1,46 @@ +#include "unity.h" +#include "counter.h" + +#ifdef CONFIG_COUNTER_TEST_ENABLE_RESET +TEST_CASE("counter_reset", "[counter]") { + counter_add(5); + Counter zero = counter_reset(); + TEST_ASSERT_EQUAL_UINT(zero, 0); +} +#endif + +#ifdef CONFIG_COUNTER_TEST_ENABLE_INCREMENT +TEST_CASE("counter_increment", "[counter]") { + counter_reset(); + Counter one = counter_increment(); + TEST_ASSERT_EQUAL_UINT(one, 1); +} +#endif + +#ifdef CONFIG_COUNTER_TEST_ENABLE_DECREMENT +TEST_CASE("counter_decrement", "[counter]") { + counter_reset(); + Counter five = counter_add(5); + TEST_ASSERT_EQUAL_UINT(five, 5); + Counter four = counter_decrement(); + TEST_ASSERT_EQUAL_UINT(four, 4); +} +#endif + +#ifdef CONFIG_COUNTER_TEST_ENABLE_ADD +TEST_CASE("counter_add", "[counter]") { + counter_reset(); + Counter five = counter_add(5); + TEST_ASSERT_EQUAL_UINT(five, 5); +} +#endif + +#ifdef CONFIG_COUNTER_TEST_ENABLE_SUB +TEST_CASE("counter_sub", "[counter]") { + counter_reset(); + Counter five = counter_add(5); + TEST_ASSERT_EQUAL_UINT(five, 5); + Counter three = counter_sub(2); + TEST_ASSERT_EQUAL_UINT(three, 3); +} +#endif \ No newline at end of file diff --git a/components/ulp_adc/README.md b/components/ulp_adc/README.md new file mode 100644 index 0000000..a94e746 --- /dev/null +++ b/components/ulp_adc/README.md @@ -0,0 +1,23 @@ +# ULP ADC component + +This component utilizes the ultra-low-power co-processor of the ESP to sample ADCs. + +## Concept + +The ULP samples the ADCs in parallel to the ESP and copies the values into normal memory via an ISR. + +## How to use + + +### Initialization +```c +#include "ulp.h" +void app_main() +{ + ulp_init(&spo2_queue); +} +``` + +## Related + +- [ULP programming](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/ulp.html) \ No newline at end of file From 9ad8b3d7fd87ac7bc4df1aba9c15152cbf45791c Mon Sep 17 00:00:00 2001 From: drechsler Date: Fri, 27 Mar 2020 16:42:03 +0100 Subject: [PATCH 4/9] idf:feature added unit test capabilities --- Makefile | 51 +++++++++++++++++++++++++++++++++++++++- test/.gitignore | 2 ++ test/CMakeLists.txt | 23 ++++++++++++++++++ test/README.md | 17 +++++++------- test/main/CMakeLists.txt | 6 +++++ test/main/component.mk | 0 test/main/main.c | 30 +++++++++++++++++++++++ test/sdkconfig.defaults | 4 ++++ 8 files changed, 123 insertions(+), 10 deletions(-) create mode 100644 test/.gitignore create mode 100644 test/CMakeLists.txt create mode 100644 test/main/CMakeLists.txt create mode 100644 test/main/component.mk create mode 100644 test/main/main.c create mode 100644 test/sdkconfig.defaults diff --git a/Makefile b/Makefile index e060a8e..a5cb993 100644 --- a/Makefile +++ b/Makefile @@ -13,12 +13,19 @@ HELP_DEV=which device to flash/monitor DEV?=none ### menuconfig targets ### + .PHONY: menuconfig TARGET += menuconfig HELP_menuconfig = configures project menuconfig: | check-docker @make --no-print-directory -C docker idf EXEC="idf.py menuconfig" +.PHONY: menuconfig-test +TARGET += menuconfig-test +HELP_menuconfig-test = configures test project +menuconfig-test: | check-docker + @make --no-print-directory -C docker idf EXEC="cd test; idf.py menuconfig" + ### build targets ### .PHONY: build @@ -39,9 +46,35 @@ clean-build: | check-docker DISTCLEAN += distclean-build HELP_distclean-build = removes all generated files distclean-build: - rm sdkconfig + rm -f sdkconfig rm -rf build +### test targets ### + +.PHONY: test +TARGET += test +HELP_test = build test project, flash it, monitor it +test: build-test flash-test monitor-test + +.PHONY: build-test +TARGET_build += build-test +HELP_build-test = builds tests +build-test: | check-docker + @make --no-print-directory -C docker idf EXEC="cd test; idf.py build" + +.PHONY: clean-test +CLEAN += clean-test +HELP_clean-test: let idf clean generated files of the test build +clean-test: | check-docker + @make --no-print-directory -C docker idf EXEC="cd test; idf.py clean" + +.PHONY: distclean-test +DISTCLEAN += distclean-test +HELP_distclean-test = removes all generated files of the test build +distclean-test: + rm -f test/sdkconfig + rm -rf test/build + ### flash targets ### .PHONY: flash @@ -52,6 +85,14 @@ flash: | check-flash idf \ EXEC="sudo chgrp developer $(DEV); idf.py flash -p '$(DEV)'" +.PHONY: flash-test +TARGET_flash += flash-test +HELP_flash-test = flashes tests to esp. Use DEV=path to provide path to device or use make dev +flash-test: | check-flash + @make --no-print-directory -C docker \ + idf \ + EXEC="sudo chgrp developer $(DEV); cd test; idf.py flash -p '$(DEV)'" + .PHONY: check-flash CHECK += check-flash HELP_check-flash = checks env if flashing is possible @@ -67,6 +108,14 @@ monitor: | check-monitor idf \ EXEC="sudo chgrp developer $(DEV); idf.py monitor -p '$(DEV)'" +.PHONY: monitor-test +TARGET += monitor-test +HELP_monitor-test = connects to esp32 via serial. Use DEV=path to provide path to device or use make dev +monitor-test: | check-monitor + @make --no-print-directory -C docker \ + idf \ + EXEC="sudo chgrp developer $(DEV); cd test; idf.py monitor -p '$(DEV)'" + .PHONY: check-monitor CHECK += check-monitor HELP_check-monitor = checks env if monitor is possible diff --git a/test/.gitignore b/test/.gitignore new file mode 100644 index 0000000..84786ea --- /dev/null +++ b/test/.gitignore @@ -0,0 +1,2 @@ +build +sdkconfig \ No newline at end of file diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt new file mode 100644 index 0000000..0b08cca --- /dev/null +++ b/test/CMakeLists.txt @@ -0,0 +1,23 @@ +cmake_minimum_required(VERSION 3.5) + +set(EXTRA_COMPONENT_DIRS "../components" ) + +set(LIFESENSOR_COMPONENTS "") + +file(GLOB component_dirs ${EXTRA_COMPONENT_DIRS}/*) +foreach(component_dir ${component_dirs}) + if(EXISTS ${component_dir}/CMakeLists.txt) + get_filename_component(component "${component_dir}" NAME) + list(APPEND LIFESENSOR_COMPONENTS ${component}) + endif() +endforeach() + +set( + TEST_COMPONENTS + ${LIFESENSOR_COMPONENTS} + CACHE STRING + "List of components to test" +) + +include($ENV{IDF_PATH}/tools/cmake/project.cmake) +project(lifesensor_test) diff --git a/test/README.md b/test/README.md index df5066e..a2a9976 100644 --- a/test/README.md +++ b/test/README.md @@ -1,11 +1,10 @@ +# Test build +This directory contains a test build of the project -This directory is intended for PIO Unit Testing and project tests. +## Building & Running +Run `make test` from the projects root -Unit Testing is a software testing method by which individual units of -source code, sets of one or more MCU program modules together with associated -control data, usage procedures, and operating procedures, are tested to -determine whether they are fit for use. Unit testing finds problems early -in the development cycle. - -More information about PIO Unit Testing: -- https://docs.platformio.org/page/plus/unit-testing.html +## Adding tests +To add the unit test of a component, +append the component name to the `TEST_COMPONENTS` variable +in the `CMakeLists.txt` . \ No newline at end of file diff --git a/test/main/CMakeLists.txt b/test/main/CMakeLists.txt new file mode 100644 index 0000000..f31f3d5 --- /dev/null +++ b/test/main/CMakeLists.txt @@ -0,0 +1,6 @@ +idf_component_register( + SRCS + "main.c" + INCLUDE_DIRS + "." +) \ No newline at end of file diff --git a/test/main/component.mk b/test/main/component.mk new file mode 100644 index 0000000..e69de29 diff --git a/test/main/main.c b/test/main/main.c new file mode 100644 index 0000000..278c5ab --- /dev/null +++ b/test/main/main.c @@ -0,0 +1,30 @@ +/* Example test application for testable component. + + This example code is in the Public Domain (or CC0 licensed, at your option.) + + Unless required by applicable law or agreed to in writing, this + software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + CONDITIONS OF ANY KIND, either express or implied. +*/ + +#include +#include +#include "unity.h" + +static void print_banner(const char* text) +{ + printf("\n#### %s #####\n\n", text); +} + +void app_main() +{ + print_banner("START TESTS"); + UNITY_BEGIN(); + unity_run_all_tests(); + UNITY_END(); + print_banner("END TESTS"); + + print_banner("Starting interactive test menu"); + unity_run_menu(); +} + diff --git a/test/sdkconfig.defaults b/test/sdkconfig.defaults new file mode 100644 index 0000000..518fcf7 --- /dev/null +++ b/test/sdkconfig.defaults @@ -0,0 +1,4 @@ +CONFIG_ESP_TASK_WDT=n +CONFIG_ESP32_ULP_COPROC_ENABLED=y +CONFIG_ESP32_ULP_COPROC_RESERVE_MEM=256 +CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y \ No newline at end of file From a898f9932572685a15651f16751cd4cb4d12b5ea Mon Sep 17 00:00:00 2001 From: drechsler Date: Sat, 28 Mar 2020 20:32:13 +0100 Subject: [PATCH 5/9] git:feature ignore sdkconfig.old --- .gitignore | 3 ++- test/.gitignore | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 5073a9b..cf062a7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .vscode .dev build -sdkconfig \ No newline at end of file +sdkconfig +sdkconfig.old diff --git a/test/.gitignore b/test/.gitignore index 84786ea..5733b3a 100644 --- a/test/.gitignore +++ b/test/.gitignore @@ -1,2 +1,4 @@ build -sdkconfig \ No newline at end of file +sdkconfig +sdkconfig.old + From 9051e0073c6bae8c4769ff80cf9d02383fe18ceb Mon Sep 17 00:00:00 2001 From: drechsler Date: Sat, 28 Mar 2020 20:33:02 +0100 Subject: [PATCH 6/9] makefile:bugfix remove clean as dependency from distclean --- .Makefile.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.Makefile.template b/.Makefile.template index 647f1a8..da1870b 100644 --- a/.Makefile.template +++ b/.Makefile.template @@ -63,7 +63,7 @@ clean: $(CLEAN) HELP_distclean = make clean $(DISTCLEAN) .PHONY: distclean -distclean: clean $(DISTCLEAN) +distclean: $(DISTCLEAN) .PHONY: help help: From 7322eab2a662422955eb63687969359c74e058ec Mon Sep 17 00:00:00 2001 From: drechsler Date: Sat, 28 Mar 2020 20:40:07 +0100 Subject: [PATCH 7/9] github:feature added CI for test builds --- .github/workflows/build-test.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 .github/workflows/build-test.yml diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml new file mode 100644 index 0000000..528f652 --- /dev/null +++ b/.github/workflows/build-test.yml @@ -0,0 +1,15 @@ +name: Build test + +on: [push, pull_request] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v1 + - name: build idf image + run: make -C docker idf-image + - name: build idf test project + run: make -C docker idf DOCKEROPTS=--tty=false EXEC="cd test; idf.py build" From 760296ce42755271fec1af9ca5bc4655eacb86be Mon Sep 17 00:00:00 2001 From: drechsler Date: Sun, 29 Mar 2020 12:49:19 +0200 Subject: [PATCH 8/9] makefile:feature added success output for checks --- Makefile | 7 +++++++ docker/Makefile | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/Makefile b/Makefile index a5cb993..c464eb4 100644 --- a/Makefile +++ b/Makefile @@ -139,7 +139,9 @@ dev: | check-dialog CHECK += check-dev HELP_check-dev = checks if device is specified check-dev: + @1>&2 echo -n "checking if device is valid & specified..." ifeq ($(DEV),none) + @1>&2 echo @1>&2 echo "##############################" @1>&2 echo "# FLASH DEVICE NOT SPECIFIED #" @1>&2 echo "##############################" @@ -155,6 +157,7 @@ ifeq ($(DEV),none) @exit 1 endif ifeq ($(shell ! test -c $(DEV); echo $$?),0) + @1>&2 echo @1>&2 echo "#############################" @1>&2 echo "# FLASH DEVICE IS NOT VALID #" @1>&2 echo "#############################" @@ -171,12 +174,15 @@ ifeq ($(shell ! test -c $(DEV); echo $$?),0) @1>&2 echo @exit 1 endif + @1>&2 echo "SUCCESS" .PHONY: check-dialog CHECK += check-dialog HELP_check-dialog = checks if dialog is installed check-dialog: + @1>&2 echo -n "checking if dialog is installed..." ifeq ($(shell which dialog 2> /dev/null),) + @1>&2 echo @1>&2 echo "###########################" @1>&2 echo "# DIALOG IS NOT INSTALLED #" @1>&2 echo "###########################" @@ -191,6 +197,7 @@ ifeq ($(shell which dialog 2> /dev/null),) @1>&2 echo @exit 1 endif + @1>&2 echo "SUCCESS" ### docker targets ### diff --git a/docker/Makefile b/docker/Makefile index 6a07d72..9f4e396 100644 --- a/docker/Makefile +++ b/docker/Makefile @@ -180,7 +180,9 @@ check-docker: check-docker-installed check-docker-group .PHONY: check-docker-installed check-docker-installed: + @1>&2 echo -n "checking if docker is installed..." ifeq (,$(shell which docker 2> /dev/null)) + @1>&2 echo @1>&2 echo "########################################" @1>&2 echo "# DOCKER DOES NOT SEEM TO BE INSTALLED #" @1>&2 echo "########################################" @@ -239,6 +241,8 @@ else endif @exit 1 endif + @1>&2 echo "SUCCESS" + ### docker install targets ### @@ -280,7 +284,9 @@ install-docker-fedora: .PHONY: check-docker-group check-docker-group: + @1>&2 echo -n "checking if user is in docker group..." ifneq (,$(shell groups | grep -q docker)) + @1>&2 echo @1>&2 echo "##############################################" @1>&2 echo "# YOUR USER IS NOT PART OF THE DOCKER GROUP! #" @1>&2 echo "##############################################" @@ -291,5 +297,6 @@ ifneq (,$(shell groups | grep -q docker)) @1>&2 echo @exit 1 endif + @1>&2 echo "SUCCESS" include ../.Makefile.template From 0ea16de06be5404e1f2b213fb081ddf00f60d84e Mon Sep 17 00:00:00 2001 From: jhonnyam Date: Sun, 29 Mar 2020 14:05:25 +0200 Subject: [PATCH 9/9] indentation: fixed bad indentation --- components/template/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/template/CMakeLists.txt b/components/template/CMakeLists.txt index c3710f3..0e682e3 100644 --- a/components/template/CMakeLists.txt +++ b/components/template/CMakeLists.txt @@ -1,7 +1,7 @@ idf_component_register( SRC_DIRS src - INCLUDE_DIRS + INCLUDE_DIRS include REQUIRES # mycomponent @@ -18,4 +18,4 @@ target_compile_options(${COMPONENT_LIB} PRIVATE # src/counter.c # PROPERTIES COMPILE_FLAGS # -Wno-unused-variable -#) \ No newline at end of file +#)