diff --git a/.github/workflows/workflow.yaml b/.github/workflows/workflow.yaml
index 849c00651..b11d35087 100644
--- a/.github/workflows/workflow.yaml
+++ b/.github/workflows/workflow.yaml
@@ -115,6 +115,8 @@ jobs:
- name: Checkout berry submodule
run: |
git submodule update --init --recursive libraries/berry
+ mkdir -p libraries/berry/generate
+ ./libraries/berry/tools/coc/coc -o libraries/berry/generate libraries/berry/src src/berry/modules -c include/berry_conf.h
- name: Build project
run: ASAN=1 make -f custom.mk
@@ -135,6 +137,8 @@ jobs:
- name: Checkout berry submodule
run: |
git submodule update --init --recursive libraries/berry
+ mkdir -p libraries/berry/generate
+ ./libraries/berry/tools/coc/coc -o libraries/berry/generate libraries/berry/src src/berry/modules -c include/berry_conf.h
- name: Build project
run: UBSAN=1 make -f custom.mk
@@ -208,6 +212,12 @@ jobs:
variant: irRemoteESP
- platform: OpenBK7231N
variant: sensors
+
+ - platform: OpenBK7238
+ variant: berry
+
+ - platform: OpenBL602
+ variant: berry
steps:
- name: Source checkout
uses: actions/checkout@v4
@@ -219,17 +229,14 @@ jobs:
run: |
sudo dpkg --add-architecture i386
sudo apt-get update
- sudo apt-get -y install libc6-i386 make cmake gcc-arm-none-eabi
+ sudo apt-get -y install libc6-i386 make cmake
pip3 install pycryptodomex
pip3 install configobj
pip3 install toml
pip3 install fdt
- - name: Copy config header
- if: matrix.variant != 'default'
- run: cp src/configs/obk_config_${{ matrix.variant }}.h src/obk_config.h
- run: ls -la
- name: Run make
- run: make APP_VERSION=${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }} APP_NAME=${{ matrix.platform }} VARIANT=${{ matrix.variant }} ${{ matrix.platform }}
+ run: make APP_VERSION=${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }} APP_NAME=${{ matrix.platform }} VARIANT="${{ matrix.variant }}" ${{ matrix.platform }}
- name: Save build assets
uses: actions/upload-artifact@v4
with:
@@ -253,11 +260,28 @@ jobs:
build_idf:
name: Build IDF
needs: refs
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
- platform: [OpenESP32, OpenESP32C3, OpenESP32C2, OpenESP32C6, OpenESP32S3, OpenESP32S2]
+ include:
+ - platform: OpenESP32C2
+ variant: 2M
+ - platform: OpenESP32C3
+ variant: 2M
+
+ - platform: OpenESP32
+ variant: 4M
+ - platform: OpenESP32C2
+ variant: 4M
+ - platform: OpenESP32C3
+ variant: 4M
+ - platform: OpenESP32C6
+ variant: 4M
+ - platform: OpenESP32S3
+ variant: 4M
+ - platform: OpenESP32S2
+ variant: 4M
steps:
- name: Source checkout
uses: actions/checkout@v4
@@ -266,7 +290,7 @@ jobs:
with:
repository: espressif/esp-idf
path: sdk/esp-idf
- ref: v5.3.2
+ ref: v5.3.3
submodules: recursive
- uses: actions/setup-python@v5
with:
@@ -287,14 +311,14 @@ jobs:
. ./export.sh
. ./add_path.sh
cd ../..
- make APP_VERSION=${{ needs.refs.outputs.version }} APP_NAME=${{ matrix.platform }} ${{ matrix.platform }}
+ make APP_VERSION=${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }} APP_NAME=${{ matrix.platform }} VARIANT="${{ matrix.variant }}" ${{ matrix.platform }}
- name: Save build assets
uses: actions/upload-artifact@v4
with:
- name: ${{ env.APP_NAME }}_${{ needs.refs.outputs.version }}_${{ matrix.platform }}
+ name: ${{ env.APP_NAME }}_${{ needs.refs.outputs.version }}_${{ matrix.platform }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}
path: |
- output/${{ needs.refs.outputs.version }}/${{ matrix.platform }}_${{ needs.refs.outputs.version }}.img
- output/${{ needs.refs.outputs.version }}/${{ matrix.platform }}_${{ needs.refs.outputs.version }}.factory.bin
+ output/${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}/${{ matrix.platform }}_${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}.img
+ output/${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}/${{ matrix.platform }}_${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}.factory.bin
if-no-files-found: warn
merge:
diff --git a/Makefile b/Makefile
index cc0f07936..4330ade5c 100644
--- a/Makefile
+++ b/Makefile
@@ -17,6 +17,30 @@ APP_NAME ?= $(shell basename $(CURDIR))
TIMESTAMP := $(shell date +%Y%m%d_%H%M%S)
APP_VERSION ?= dev_$(TIMESTAMP)
+ifeq ($(VARIANT),berry)
+OBK_VARIANT = 1
+else ifeq ($(VARIANT),tuyaMCU)
+OBK_VARIANT = 2
+else ifeq ($(VARIANT),powerMetering)
+OBK_VARIANT = 3
+else ifeq ($(VARIANT),irRemoteESP)
+OBK_VARIANT = 4
+else ifeq ($(VARIANT),sensors)
+OBK_VARIANT = 5
+else ifeq ($(VARIANT),2M)
+OBK_VARIANT = 1
+ESP_FSIZE = 2MB
+else ifeq ($(VARIANT),4M)
+OBK_VARIANT = 2
+ESP_FSIZE = 4MB
+else ifeq ($(VARIANT),2M_berry)
+OBK_VARIANT = 3
+ESP_FSIZE = 2MB
+else
+OBK_VARIANT = 0
+endif
+$(info VARIANT is $(VARIANT), OBK_VARIANT is $(OBK_VARIANT))
+
#TARGET_PLATFORM ?= bk7231t
#APPS_BUILD_PATH ?= ../bk7231t_os
APPS_BUILD_CMD ?= build.sh
@@ -38,12 +62,29 @@ else
endif
update-submodules: submodules
- git add sdk/OpenBK7231T sdk/OpenBK7231N sdk/OpenXR809 sdk/OpenXR872 sdk/OpenBL602 sdk/OpenW800 sdk/OpenW600 sdk/OpenLN882H sdk/esp-idf sdk/OpenTR6260 sdk/beken_freertos_sdk libraries/berry
ifdef GITHUB_ACTIONS
git config user.name github-actions
git config user.email github-actions@github.com
endif
- git commit -m "feat: update SDKs" && git push || echo "No changes to commit"
+
+.PHONY: berry_init berry
+berry_init:
+ git submodule update --init --recursive libraries/berry
+ @mkdir -p libraries/berry/generate
+ @mkdir -p libraries/berry/temp
+ @./libraries/berry/tools/coc/coc -o libraries/berry/temp libraries/berry/src src/berry/modules -c include/berry_conf.h
+ifneq ("$(wildcard libraries/berry/generate)","")
+ @echo "[Prebuild berry] resources already generated, checking for differences"
+endif
+
+berry: berry_init
+ @[ "$(shell diff -rq libraries/berry/generate libraries/berry/temp)" ] && (echo "[Prebuild berry] regenerate resources" && cp -r libraries/berry/temp/* libraries/berry/generate) || echo "[Prebuild berry] resources are not different"
+
+.PHONY: actions_gcc
+actions_gcc:
+ifdef GITHUB_ACTIONS
+ [ -z `dpkg -l | grep gcc-arm-none-eabi` ] && sudo apt-get install gcc-arm-none-eabi
+endif
# Create symlink for App into SDK folder structure
sdk/OpenBK7231T/apps/$(APP_NAME):
@@ -74,6 +115,8 @@ sdk/OpenBL602/customer_app/bl602_sharedApp/bl602_sharedApp/shared:
cp ./bouffalo.mk sdk/OpenBL602/customer_app/bl602_sharedApp/bl602_sharedApp/shared
@echo Create symlink for $(APP_NAME) into sdk folder
ln -s "$(shell pwd)/src/" "sdk/OpenBL602/customer_app/bl602_sharedApp/bl602_sharedApp/shared/src"
+ ln -s "$(shell pwd)/libraries/" "sdk/OpenBL602/customer_app/bl602_sharedApp/bl602_sharedApp/shared/libraries"
+ ln -s "$(shell pwd)/include/" "sdk/OpenBL602/customer_app/bl602_sharedApp/bl602_sharedApp/shared/include"
sdk/OpenW800/sharedAppContainer/sharedApp:
@echo Create symlink for $(APP_NAME) into sdk folder
@@ -94,116 +137,113 @@ sdk/OpenLN882H/project/OpenBeken/app:
.PHONY: prebuild_OpenW600 prebuild_OpenW800 prebuild_OpenXR809 prebuild_OpenXR806 prebuild_OpenXR872 prebuild_ESPIDF prebuild_OpenTR6260
.PHONY: prebuild_OpenRTL87X0C prebuild_OpenBK7238 prebuild_OpenBK7231N_ALT
-prebuild_OpenBK7231N:
- git submodule update --init --recursive sdk/OpenBK7231N
- git submodule update --init --recursive libraries/berry
+prebuild_OpenBK7231N: berry
+ git submodule update --init --recursive --depth=1 sdk/OpenBK7231N
@if [ -e platforms/BK7231N/pre_build.sh ]; then \
echo "prebuild found for OpenBK7231N"; \
sh platforms/BK7231N/pre_build.sh; \
else echo "prebuild for OpenBK7231N not found ... "; \
fi
-prebuild_OpenBK7231T:
- git submodule update --init --recursive sdk/OpenBK7231T
- git submodule update --init --recursive libraries/berry
+prebuild_OpenBK7231T: berry
+ git submodule update --init --recursive --depth=1 sdk/OpenBK7231T
@if [ -e platforms/BK7231T/pre_build.sh ]; then \
echo "prebuild found for OpenBK7231T"; \
sh platforms/BK7231T/pre_build.sh; \
else echo "prebuild for OpenBK7231T not found ... "; \
fi
-prebuild_OpenBL602:
- git submodule update --init --recursive sdk/OpenBL602
- git submodule update --init --recursive libraries/berry
+prebuild_OpenBL602: berry
+ git submodule update --init --recursive --depth=1 sdk/OpenBL602
@if [ -e platforms/BL602/pre_build.sh ]; then \
echo "prebuild found for OpenBL602"; \
sh platforms/BL602/pre_build.sh; \
else echo "prebuild for OpenBL602 not found ... "; \
fi
-prebuild_OpenLN882H:
- git submodule update --init --recursive sdk/OpenLN882H
- git submodule update --init --recursive libraries/berry
+prebuild_OpenLN882H: berry actions_gcc
+ git submodule update --init --recursive --depth=1 sdk/OpenLN882H
@if [ -e platforms/LN882H/pre_build.sh ]; then \
echo "prebuild found for OpenLN882H"; \
sh platforms/LN882H/pre_build.sh; \
else echo "prebuild for OpenLN882H not found ... "; \
fi
-prebuild_OpenW600:
- git submodule update --init --recursive sdk/OpenW600
- git submodule update --init --recursive libraries/berry
+prebuild_OpenW600: berry
+ git submodule update --init --recursive --depth=1 sdk/OpenW600
@if [ -e platforms/W600/pre_build.sh ]; then \
echo "prebuild found for OpenW600"; \
sh platforms/W600/pre_build.sh; \
else echo "prebuild for OpenW600 not found ... "; \
fi
-prebuild_OpenW800:
- git submodule update --init --recursive sdk/OpenW800
- git submodule update --init --recursive libraries/berry
+prebuild_OpenW800: berry
+ git submodule update --init --recursive --depth=1 sdk/OpenW800
@if [ -e platforms/W800/pre_build.sh ]; then \
echo "prebuild found for OpenW800"; \
sh platforms/W800/pre_build.sh; \
else echo "prebuild for OpenW800 not found ... "; \
fi
-prebuild_OpenXR809:
- git submodule update --init --recursive sdk/OpenXR809
- git submodule update --init --recursive libraries/berry
+prebuild_OpenXR809: berry
+ git submodule update --init --recursive --depth=1 sdk/OpenXR809
@if [ -e platforms/XR809/pre_build.sh ]; then \
echo "prebuild found for OpenXR809"; \
sh platforms/XR809/pre_build.sh; \
else echo "prebuild for OpenXR809 not found ... "; \
fi
-prebuild_OpenXR806:
- git submodule update --init --recursive sdk/OpenXR806
- git submodule update --init --recursive libraries/berry
+prebuild_OpenXR806: berry
+ git submodule update --init --recursive --depth=1 sdk/OpenXR806
@if [ -e platforms/XR806/pre_build.sh ]; then \
echo "prebuild found for OpenXR806"; \
sh platforms/XR806/pre_build.sh; \
else echo "prebuild for OpenXR806 not found ... "; \
fi
-prebuild_OpenXR872:
- git submodule update --init --recursive sdk/OpenXR872
+prebuild_OpenXR872: berry
+ git submodule update --init --recursive --depth=1 sdk/OpenXR872
@if [ -e platforms/XR872/pre_build.sh ]; then \
echo "prebuild found for OpenXR872"; \
sh platforms/XR872/pre_build.sh; \
else echo "prebuild for OpenXR872 not found ... "; \
fi
-prebuild_ESPIDF:
- #git submodule update --init --recursive sdk/esp-idf
- git submodule update --init --recursive libraries/berry
+prebuild_ESPIDF: berry
+ #git submodule update --init --recursive --depth=1 sdk/esp-idf
+ -rm platforms/ESP-IDF/sdkconfig
+ -rm platforms/ESP-IDF/partitions.csv
+ifeq ($(OBK_VARIANT), 1)
+ cp platforms/ESP-IDF/partitions-2mb.csv platforms/ESP-IDF/partitions.csv
+else ifeq ($(OBK_VARIANT), 2)
+ cp platforms/ESP-IDF/partitions-4mb.csv platforms/ESP-IDF/partitions.csv
+else ifeq ($(OBK_VARIANT), 3)
+ cp platforms/ESP-IDF/partitions-2mb.csv platforms/ESP-IDF/partitions.csv
+endif
@if [ -e platforms/ESP-IDF/pre_build.sh ]; then \
echo "prebuild found for ESP-IDF"; \
sh platforms/ESP-IDF/pre_build.sh; \
else echo "prebuild for ESP-IDF not found ... "; \
fi
-prebuild_OpenTR6260:
- git submodule update --init --recursive sdk/OpenTR6260
- git submodule update --init --recursive libraries/berry
+prebuild_OpenTR6260: berry
+ git submodule update --init --recursive --depth=1 sdk/OpenTR6260
@if [ -e platforms/TR6260/pre_build.sh ]; then \
echo "prebuild found for OpenTR6260"; \
sh platforms/TR6260/pre_build.sh; \
else echo "prebuild for OpenTR6260 not found ... "; \
fi
-prebuild_OpenRTL87X0C:
- git submodule update --init --recursive sdk/OpenRTL87X0C
- git submodule update --init --recursive libraries/berry
+prebuild_OpenRTL87X0C: berry actions_gcc
+ git submodule update --init --recursive --depth=1 sdk/OpenRTL87X0C
@if [ -e platforms/RTL87X0C/pre_build.sh ]; then \
echo "prebuild found for OpenRTL87X0C"; \
sh platforms/RTL87X0C/pre_build.sh; \
else echo "prebuild for OpenRTL87X0C not found ... "; \
fi
-prebuild_OpenRTL8710B:
- git submodule update --init --recursive sdk/OpenRTL8710A_B
- git submodule update --init --recursive libraries/berry
+prebuild_OpenRTL8710B: berry actions_gcc
+ git submodule update --init --recursive --depth=1 sdk/OpenRTL8710A_B
@if [ -e platforms/RTL8710B/pre_build.sh ]; then \
echo "prebuild found for OpenRTL8710B"; \
sh platforms/RTL8710B/pre_build.sh; \
@@ -214,43 +254,40 @@ prebuild_OpenRTL8710B:
else g++ -o platforms/RTL8710B/tools/amebaz_ota_combine platforms/RTL8710B/tools/amebaz_ota_combine.cpp --std=c++17 -lstdc++fs; \
fi
-prebuild_OpenRTL8710A:
- git submodule update --init --recursive sdk/OpenRTL8710A_B
- git submodule update --init --recursive libraries/berry
+prebuild_OpenRTL8710A: berry actions_gcc
+ git submodule update --init --recursive --depth=1 sdk/OpenRTL8710A_B
@if [ -e platforms/RTL8710A/pre_build.sh ]; then \
echo "prebuild found for OpenRTL8710A"; \
sh platforms/RTL8710A/pre_build.sh; \
else echo "prebuild for OpenRTL8710A not found ... "; \
fi
-prebuild_OpenRTL8720D:
- git submodule update --init --recursive sdk/OpenRTL8720D
+prebuild_OpenRTL8720D: berry actions_gcc
+ git submodule update --init --recursive --depth=1 sdk/OpenRTL8720D
@if [ -e platforms/RTL8720D/pre_build.sh ]; then \
echo "prebuild found for OpenRTL8720D"; \
sh platforms/RTL8720D/pre_build.sh; \
else echo "prebuild for OpenRTL8720D not found ... "; \
fi
-prebuild_OpenBK7238:
- git submodule update --init --recursive sdk/beken_freertos_sdk
- git submodule update --init --recursive libraries/berry
+prebuild_OpenBK7238: berry actions_gcc
+ git submodule update --init --recursive --depth=1 sdk/beken_freertos_sdk
@if [ -e platforms/BK723x/pre_build_7238.sh ]; then \
echo "prebuild found for OpenBK7238"; \
sh platforms/BK723x/pre_build_7238.sh; \
else echo "prebuild for OpenBK7238 not found ... "; \
fi
-prebuild_OpenBK7231N_ALT:
- git submodule update --init --recursive sdk/beken_freertos_sdk
- git submodule update --init --recursive libraries/berry
+prebuild_OpenBK7231N_ALT: berry actions_gcc
+ git submodule update --init --recursive --depth=1 sdk/beken_freertos_sdk
@if [ -e platforms/BK723x/pre_build_7231n.sh ]; then \
echo "prebuild found for OpenBK7231N"; \
sh platforms/BK723x/pre_build_7231n.sh; \
else echo "prebuild for OpenBK7231N not found ... "; \
fi
-prebuild_OpenECR6600:
- git submodule update --init --recursive sdk/OpenECR6600
+prebuild_OpenECR6600: berry
+ git submodule update --init --recursive --depth=1 sdk/OpenECR6600
@if [ -e platforms/ECR6600/pre_build.sh ]; then \
echo "prebuild found for OpenECR6600"; \
sh platforms/ECR6600/pre_build.sh; \
@@ -261,69 +298,43 @@ prebuild_OpenECR6600:
OpenBK7231T: prebuild_OpenBK7231T
mkdir -p output
if [ ! -d "$(MBEDTLS)" ]; then wget -q "https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/v2.28.5.tar.gz"; tar -xf v2.28.5.tar.gz -C output; rm -f v2.28.5.tar.gz; mv $(MBEDTLS)/library/base64.c $(MBEDTLS)/library/base64_mbedtls.c; fi
- $(MAKE) APP_NAME=OpenBK7231T TARGET_PLATFORM=bk7231t SDK_PATH=sdk/OpenBK7231T APPS_BUILD_PATH=../bk7231t_os build-BK7231
+ $(MAKE) APP_NAME=OpenBK7231T TARGET_PLATFORM=bk7231t SDK_PATH=sdk/OpenBK7231T APPS_BUILD_PATH=../bk7231t_os OBK_VARIANT=$(OBK_VARIANT) build-BK7231
OpenBK7231N: prebuild_OpenBK7231N
mkdir -p output
if [ ! -d "$(MBEDTLS)" ]; then wget -q "https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/v2.28.5.tar.gz"; tar -xf v2.28.5.tar.gz -C output; rm -f v2.28.5.tar.gz; mv $(MBEDTLS)/library/base64.c $(MBEDTLS)/library/base64_mbedtls.c; fi
- $(MAKE) APP_NAME=OpenBK7231N TARGET_PLATFORM=bk7231n SDK_PATH=sdk/OpenBK7231N APPS_BUILD_PATH=../bk7231n_os build-BK7231
+ $(MAKE) APP_NAME=OpenBK7231N TARGET_PLATFORM=bk7231n SDK_PATH=sdk/OpenBK7231N APPS_BUILD_PATH=../bk7231n_os OBK_VARIANT=$(OBK_VARIANT) build-BK7231
-sdk/OpenXR809/tools/gcc-arm-none-eabi-4_9-2015q2:
- cd sdk/OpenXR809/tools && wget -q "https://launchpad.net/gcc-arm-embedded/4.9/4.9-2015-q2-update/+download/gcc-arm-none-eabi-4_9-2015q2-20150609-linux.tar.bz2" && tar -xf *.tar.bz2 && rm -f *.tar.bz2
+sdk/OpenXR809/tools/gcc-arm-none-eabi-4_9-2015q1:
+ git submodule update --init --depth=1 sdk/OpenBK7231T
-sdk/OpenXR806/tools/gcc-arm-none-eabi-8-2019-q3-update:
- cd sdk/OpenXR806/tools && wget -q "https://developer.arm.com/-/media/Files/downloads/gnu-rm/8-2019q3/RC1.1/gcc-arm-none-eabi-8-2019-q3-update-linux.tar.bz2" && tar -xf *.tar.bz2 && rm -f *.tar.bz2
+sdk/OpenXR806/tools/xpack-arm-none-eabi-gcc-8.3.1-1.4:
+ if [ ! -e sdk/OpenXR806/tools/xpack-arm-none-eabi-gcc-8.3.1-1.4 ]; then cd sdk/OpenXR806/tools && wget -q "https://github.com/xpack-dev-tools/arm-none-eabi-gcc-xpack/releases/download/v8.3.1-1.4/xpack-arm-none-eabi-gcc-8.3.1-1.4-linux-x64.tar.gz" && tar -xf *.tar.gz && rm -f *.tar.gz; fi
-sdk/OpenXR872/tools/gcc-arm-none-eabi-4_9-2015q2:
- cd sdk/OpenXR872/tools && wget -q "https://launchpad.net/gcc-arm-embedded/4.9/4.9-2015-q2-update/+download/gcc-arm-none-eabi-4_9-2015q2-20150609-linux.tar.bz2" && tar -xf *.tar.bz2 && rm -f *.tar.bz2
-
-.PHONY: OpenXR872 build-XR872
-# Retry OpenXR809 a few times to account for calibration file issues
-RETRY = 3
-OpenXR872: prebuild_OpenXR872
- @for i in `seq 1 ${RETRY}`; do ($(MAKE) -k build-XR872; echo Prebuild attempt $$i/${RETRY}); done
- @echo Running build final time to check output
- $(MAKE) build-XR872;
-
-build-XR872: sdk/OpenXR872/project/demo/hello_demo/shared sdk/OpenXR872/tools/gcc-arm-none-eabi-4_9-2015q2
- $(MAKE) -C sdk/OpenXR872/src CC_DIR=$(PWD)/sdk/OpenXR872/tools/gcc-arm-none-eabi-4_9-2015q2/bin
- $(MAKE) -C sdk/OpenXR872/src install CC_DIR=$(PWD)/sdk/OpenXR872/tools/gcc-arm-none-eabi-4_9-2015q2/bin
- $(MAKE) -C sdk/OpenXR872/project/demo/hello_demo/gcc CC_DIR=$(PWD)/sdk/OpenXR872/tools/gcc-arm-none-eabi-4_9-2015q2/bin
- $(MAKE) -C sdk/OpenXR872/project/demo/hello_demo/gcc image CC_DIR=$(PWD)/sdk/OpenXR872/tools/gcc-arm-none-eabi-4_9-2015q2/bin
+.PHONY: OpenXR872
+OpenXR872: prebuild_OpenXR872 sdk/OpenXR872/project/demo/hello_demo/shared sdk/OpenXR809/tools/gcc-arm-none-eabi-4_9-2015q1
+ $(MAKE) -C sdk/OpenXR872/src CC_DIR=$(PWD)/sdk/OpenBK7231T/platforms/bk7231t/toolchain/gcc-arm-none-eabi-4_9-2015q1/bin APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) -j $(shell nproc)
+ $(MAKE) -C sdk/OpenXR872/src install CC_DIR=$(PWD)/sdk/OpenBK7231T/platforms/bk7231t/toolchain/gcc-arm-none-eabi-4_9-2015q1/bin APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) -j $(shell nproc)
+ $(MAKE) -C sdk/OpenXR872/project/demo/hello_demo/gcc CC_DIR=$(PWD)/sdk/OpenBK7231T/platforms/bk7231t/toolchain/gcc-arm-none-eabi-4_9-2015q1/bin APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) -j $(shell nproc)
+ $(MAKE) -C sdk/OpenXR872/project/demo/hello_demo/gcc image CC_DIR=$(PWD)/sdk/OpenBK7231T/platforms/bk7231t/toolchain/gcc-arm-none-eabi-4_9-2015q1/bin APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) -j $(shell nproc)
mkdir -p output/$(APP_VERSION)
cp sdk/OpenXR872/project/demo/hello_demo/image/xr872/xr_system.img output/$(APP_VERSION)/OpenXR872_$(APP_VERSION).img
-
-
-
-.PHONY: OpenXR806 build-XR806
-# Retry OpenXR806 a few times to account for calibration file issues
-RETRY = 3
-OpenXR806: prebuild_OpenXR806
- @for i in `seq 1 ${RETRY}`; do ($(MAKE) -k build-XR806; echo Prebuild attempt $$i/${RETRY}); done
- @echo Running build final time to check output
- $(MAKE) build-XR806;
-build-XR806: sdk/OpenXR806/project/demo/sharedApp/shared sdk/OpenXR806/tools/gcc-arm-none-eabi-8-2019-q3-update
- $(MAKE) -C sdk/OpenXR806/src CC_DIR=$(PWD)/sdk/OpenXR806/tools/gcc-arm-none-eabi-8-2019-q3-update/bin
- $(MAKE) -C sdk/OpenXR806/src install CC_DIR=$(PWD)/sdk/OpenXR806/tools/gcc-arm-none-eabi-8-2019-q3-update/bin
- $(MAKE) -C sdk/OpenXR806/project/demo/sharedApp/gcc CC_DIR=$(PWD)/sdk/OpenXR806/tools/gcc-arm-none-eabi-8-2019-q3-update/bin
- $(MAKE) -C sdk/OpenXR806/project/demo/sharedApp/gcc image CC_DIR=$(PWD)/sdk/OpenXR806/tools/gcc-arm-none-eabi-8-2019-q3-update/bin
+.PHONY: OpenXR806
+OpenXR806: prebuild_OpenXR806 sdk/OpenXR806/project/demo/sharedApp/shared sdk/OpenXR806/tools/xpack-arm-none-eabi-gcc-8.3.1-1.4
+ $(MAKE) -C sdk/OpenXR806/src CC_DIR=$(PWD)/sdk/OpenXR806/tools/xpack-arm-none-eabi-gcc-8.3.1-1.4/bin APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) -j $(shell nproc)
+ $(MAKE) -C sdk/OpenXR806/src install CC_DIR=$(PWD)/sdk/OpenXR806/tools/xpack-arm-none-eabi-gcc-8.3.1-1.4/bin APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) -j $(shell nproc)
+ $(MAKE) -C sdk/OpenXR806/project/demo/sharedApp/gcc CC_DIR=$(PWD)/sdk/OpenXR806/tools/xpack-arm-none-eabi-gcc-8.3.1-1.4/bin APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) -j $(shell nproc)
+ $(MAKE) -C sdk/OpenXR806/project/demo/sharedApp/gcc image CC_DIR=$(PWD)/sdk/OpenXR806/tools/xpack-arm-none-eabi-gcc-8.3.1-1.4/bin APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) -j $(shell nproc)
mkdir -p output/$(APP_VERSION)
cp sdk/OpenXR806/project/demo/sharedApp/image/xr806/xr_system.img output/$(APP_VERSION)/OpenXR806_$(APP_VERSION).img
-.PHONY: OpenXR809 build-XR809
-# Retry OpenXR809 a few times to account for calibration file issues
-RETRY = 3
-OpenXR809: prebuild_OpenXR809
- @for i in `seq 1 ${RETRY}`; do ($(MAKE) -k build-XR809; echo Prebuild attempt $$i/${RETRY}); done
- @echo Running build final time to check output
- $(MAKE) build-XR809;
-
-build-XR809: sdk/OpenXR809/project/oxr_sharedApp/shared sdk/OpenXR809/tools/gcc-arm-none-eabi-4_9-2015q2
- $(MAKE) -C sdk/OpenXR809/src CC_DIR=$(PWD)/sdk/OpenXR809/tools/gcc-arm-none-eabi-4_9-2015q2/bin
- $(MAKE) -C sdk/OpenXR809/src install CC_DIR=$(PWD)/sdk/OpenXR809/tools/gcc-arm-none-eabi-4_9-2015q2/bin
- $(MAKE) -C sdk/OpenXR809/project/oxr_sharedApp/gcc CC_DIR=$(PWD)/sdk/OpenXR809/tools/gcc-arm-none-eabi-4_9-2015q2/bin
- $(MAKE) -C sdk/OpenXR809/project/oxr_sharedApp/gcc image CC_DIR=$(PWD)/sdk/OpenXR809/tools/gcc-arm-none-eabi-4_9-2015q2/bin
+.PHONY: OpenXR809
+OpenXR809: prebuild_OpenXR809 sdk/OpenXR809/project/oxr_sharedApp/shared sdk/OpenXR809/tools/gcc-arm-none-eabi-4_9-2015q1
+ $(MAKE) -C sdk/OpenXR809/src CC_DIR=$(PWD)/sdk/OpenBK7231T/platforms/bk7231t/toolchain/gcc-arm-none-eabi-4_9-2015q1/bin APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT)
+ $(MAKE) -C sdk/OpenXR809/src install CC_DIR=$(PWD)/sdk/OpenBK7231T/platforms/bk7231t/toolchain/gcc-arm-none-eabi-4_9-2015q1/bin APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT)
+ $(MAKE) -C sdk/OpenXR809/project/oxr_sharedApp/gcc CC_DIR=$(PWD)/sdk/OpenBK7231T/platforms/bk7231t/toolchain/gcc-arm-none-eabi-4_9-2015q1/bin APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT)
+ $(MAKE) -C sdk/OpenXR809/project/oxr_sharedApp/gcc image CC_DIR=$(PWD)/sdk/OpenBK7231T/platforms/bk7231t/toolchain/gcc-arm-none-eabi-4_9-2015q1/bin APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT)
mkdir -p output/$(APP_VERSION)
cp sdk/OpenXR809/project/oxr_sharedApp/image/xr809/xr_system.img output/$(APP_VERSION)/OpenXR809_$(APP_VERSION).img
@@ -334,120 +345,113 @@ build-BK7231: $(SDK_PATH)/apps/$(APP_NAME)
rm $(SDK_PATH)/platforms/$(TARGET_PLATFORM)/toolchain/$(APPS_BUILD_PATH)/tools/generate/$(APP_NAME)_*.bin || /bin/true
OpenBL602: prebuild_OpenBL602 sdk/OpenBL602/customer_app/bl602_sharedApp/bl602_sharedApp/shared
- $(MAKE) -C sdk/OpenBL602/customer_app/bl602_sharedApp USER_SW_VER=$(APP_VERSION) CONFIG_CHIP_NAME=BL602 CONFIG_LINK_ROM=1 -j
- $(MAKE) -C sdk/OpenBL602/customer_app/bl602_sharedApp USER_SW_VER=$(APP_VERSION) CONFIG_CHIP_NAME=BL602 bins
+ $(MAKE) -C sdk/OpenBL602/customer_app/bl602_sharedApp USER_SW_VER=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) CONFIG_CHIP_NAME=BL602 CONFIG_LINK_ROM=1 -j
+ $(MAKE) -C sdk/OpenBL602/customer_app/bl602_sharedApp USER_SW_VER=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) CONFIG_CHIP_NAME=BL602 bins
mkdir -p output/$(APP_VERSION)
cp sdk/OpenBL602/customer_app/bl602_sharedApp/build_out/bl602_sharedApp.bin output/$(APP_VERSION)/OpenBL602_$(APP_VERSION).bin
cp sdk/OpenBL602/customer_app/bl602_sharedApp/build_out/ota/dts40M_pt2M_boot2release_ef4015/FW_OTA.bin output/$(APP_VERSION)/OpenBL602_$(APP_VERSION)_OTA.bin
cp sdk/OpenBL602/customer_app/bl602_sharedApp/build_out/ota/dts40M_pt2M_boot2release_ef4015/FW_OTA.bin.xz output/$(APP_VERSION)/OpenBL602_$(APP_VERSION)_OTA.bin.xz
cp sdk/OpenBL602/customer_app/bl602_sharedApp/build_out/ota/dts40M_pt2M_boot2release_ef4015/FW_OTA.bin.xz.ota output/$(APP_VERSION)/OpenBL602_$(APP_VERSION)_OTA.bin.xz.ota
-sdk/OpenW800/tools/w800/csky/bin: submodules
+sdk/OpenW800/tools/w800/csky/bin:
mkdir -p sdk/OpenW800/tools/w800/csky
- # cd sdk/OpenW800/tools/w800/csky && wget -q "https://occ-oss-prod.oss-cn-hangzhou.aliyuncs.com/resource/1356021/1619529111421/csky-elfabiv2-tools-x86_64-minilibc-20210423.tar.gz" && tar -xf *.tar.gz && rm -f *.tar.gz
- if [ ! -e sdk/OpenW800/tools/w800/csky/got_csky-elfabiv2-tools-x86_64-minilibc-20210423 ]; then cd sdk/OpenW800/tools/w800/csky && wget -q "https://occ-oss-prod.oss-cn-hangzhou.aliyuncs.com/resource/1356021/1619529111421/csky-elfabiv2-tools-x86_64-minilibc-20210423.tar.gz" && tar -xf *.tar.gz && rm -f *.tar.gz && touch got_csky-elfabiv2-tools-x86_64-minilibc-20210423 ; fi
+ # cd sdk/OpenW800/tools/w800/csky && wget -q "https://occ-oss-prod.oss-cn-hangzhou.aliyuncs.com/resource/1356021/1619529419771/csky-elf-noneabiv2-tools-x86_64-newlib-20210423.tar.gz" && tar -xf *.tar.gz && rm -f *.tar.gz
+ if [ ! -e sdk/OpenW800/tools/w800/csky/got_csky-elf-noneabiv2-tools-x86_64-newlib-20250328 ]; then cd sdk/OpenW800/tools/w800/csky && tar -xf *.tar.gz && touch got_csky-elf-noneabiv2-tools-x86_64-newlib-20250328; fi
-sdk/OpenW600/tools/gcc-arm-none-eabi-4_9-2014q4/bin: submodules
- mkdir -p sdk/OpenW600/tools
- cd sdk/OpenW600/tools && tar -xf ../support/*.tar.bz2
+sdk/OpenW600/tools/gcc-arm-none-eabi-4_9-2015q1/bin:
+ git submodule update --init --depth=1 sdk/OpenBK7231T
.PHONY: OpenW800
OpenW800: prebuild_OpenW800 sdk/OpenW800/tools/w800/csky/bin sdk/OpenW800/sharedAppContainer/sharedApp
# if building new version, make sure "new_http.o" is deleted (it contains build time and version, so build time is set to actual time)
rm -rf sdk/OpenW800/bin/build/w800/obj/sharedAppContainer/sharedApp/src/httpserver/new_http.o
# define APP_Version so it's not "W800_Test" every time
- $(MAKE) -C sdk/OpenW800 EXTRA_CCFLAGS="-DPLATFORM_W800 -DUSER_SW_VER=\\\"${APP_VERSION}\\\"" CONFIG_W800_USE_LIB=n CONFIG_W800_TOOLCHAIN_PATH="$(shell realpath sdk/OpenW800/tools/w800/csky/bin)/"
+ $(MAKE) -C sdk/OpenW800 OBK_VARIANT=$(OBK_VARIANT) CONFIG_W800_USE_LIB=n CONFIG_W800_TOOLCHAIN_PATH="$(shell realpath sdk/OpenW800/tools/w800/csky/bin)/"
mkdir -p output/$(APP_VERSION)
cp sdk/OpenW800/bin/w800/w800.fls output/$(APP_VERSION)/OpenW800_$(APP_VERSION).fls
cp sdk/OpenW800/bin/w800/w800_ota.img output/$(APP_VERSION)/OpenW800_$(APP_VERSION)_ota.img
.PHONY: OpenW600
-OpenW600: prebuild_OpenW600 sdk/OpenW600/tools/gcc-arm-none-eabi-4_9-2014q4/bin sdk/OpenW600/sharedAppContainer/sharedApp
- $(MAKE) -C sdk/OpenW600 TOOL_CHAIN_PATH="$(shell realpath sdk/OpenW600/tools/gcc-arm-none-eabi-4_9-2014q4/bin)/" APP_VERSION=$(APP_VERSION)
+OpenW600: prebuild_OpenW600 sdk/OpenW600/tools/gcc-arm-none-eabi-4_9-2015q1/bin sdk/OpenW600/sharedAppContainer/sharedApp
+ $(MAKE) -C sdk/OpenW600 TOOL_CHAIN_PATH="$(shell realpath sdk/OpenBK7231T/platforms/bk7231t/toolchain/gcc-arm-none-eabi-4_9-2015q1/bin)/" APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT)
mkdir -p output/$(APP_VERSION)
cp sdk/OpenW600/bin/w600/w600.fls output/$(APP_VERSION)/OpenW600_$(APP_VERSION).fls
cp sdk/OpenW600/bin/w600/w600_gz.img output/$(APP_VERSION)/OpenW600_$(APP_VERSION)_gz.img
.PHONY: OpenLN882H
OpenLN882H: prebuild_OpenLN882H sdk/OpenLN882H/project/OpenBeken/app
- CROSS_TOOLCHAIN_ROOT="/usr/" cmake sdk/OpenLN882H -B sdk/OpenLN882H/build
- CROSS_TOOLCHAIN_ROOT="/usr/" cmake --build ./sdk/OpenLN882H/build
+ CROSS_TOOLCHAIN_ROOT="/usr/" APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) cmake sdk/OpenLN882H -B sdk/OpenLN882H/build
+ CROSS_TOOLCHAIN_ROOT="/usr/" APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) cmake --build ./sdk/OpenLN882H/build -j $(shell nproc)
mkdir -p output/$(APP_VERSION)
cp sdk/OpenLN882H/build/bin/flashimage.bin output/$(APP_VERSION)/OpenLN882H_$(APP_VERSION).bin
cp sdk/OpenLN882H/build/bin/flashimage-ota-xz-v0.1.bin output/$(APP_VERSION)/OpenLN882H_$(APP_VERSION)_OTA.bin
.PHONY: OpenESP32
OpenESP32: prebuild_ESPIDF
- -rm platforms/ESP-IDF/sdkconfig
- IDF_TARGET="esp32" USER_SW_VER=$(APP_VERSION) cmake platforms/ESP-IDF -B platforms/ESP-IDF/build-32
- IDF_TARGET="esp32" USER_SW_VER=$(APP_VERSION) cmake --build ./platforms/ESP-IDF/build-32 -j $(shell nproc)
+ IDF_TARGET="esp32" APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) cmake platforms/ESP-IDF -B platforms/ESP-IDF/build-32
+ IDF_TARGET="esp32" APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) cmake --build ./platforms/ESP-IDF/build-32 -j $(shell nproc)
mkdir -p output/$(APP_VERSION)
- esptool.py -c esp32 merge_bin -o output/$(APP_VERSION)/OpenESP32_$(APP_VERSION).factory.bin --flash_mode dio --flash_size 4MB 0x1000 ./platforms/ESP-IDF/build-32/bootloader/bootloader.bin 0x8000 ./platforms/ESP-IDF/build-32/partition_table/partition-table.bin 0x10000 ./platforms/ESP-IDF/build-32/OpenBeken.bin
+ esptool.py -c esp32 merge_bin -o output/$(APP_VERSION)/OpenESP32_$(APP_VERSION).factory.bin --flash_mode dio --flash_size $(ESP_FSIZE) 0x1000 ./platforms/ESP-IDF/build-32/bootloader/bootloader.bin 0x8000 ./platforms/ESP-IDF/build-32/partition_table/partition-table.bin 0x10000 ./platforms/ESP-IDF/build-32/OpenBeken.bin
cp ./platforms/ESP-IDF/build-32/OpenBeken.bin output/$(APP_VERSION)/OpenESP32_$(APP_VERSION).img
.PHONY: OpenESP32C3
OpenESP32C3: prebuild_ESPIDF
- -rm platforms/ESP-IDF/sdkconfig
- IDF_TARGET="esp32c3" USER_SW_VER=$(APP_VERSION) cmake platforms/ESP-IDF -B platforms/ESP-IDF/build-c3
- IDF_TARGET="esp32c3" USER_SW_VER=$(APP_VERSION) cmake --build ./platforms/ESP-IDF/build-c3 -j $(shell nproc)
+ IDF_TARGET="esp32c3" APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) cmake platforms/ESP-IDF -B platforms/ESP-IDF/build-c3
+ IDF_TARGET="esp32c3" APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) cmake --build ./platforms/ESP-IDF/build-c3 -j $(shell nproc)
mkdir -p output/$(APP_VERSION)
- esptool.py -c esp32c3 merge_bin -o output/$(APP_VERSION)/OpenESP32C3_$(APP_VERSION).factory.bin --flash_mode dio --flash_size 2MB 0x0 ./platforms/ESP-IDF/build-c3/bootloader/bootloader.bin 0x8000 ./platforms/ESP-IDF/build-c3/partition_table/partition-table.bin 0x10000 ./platforms/ESP-IDF/build-c3/OpenBeken.bin
+ esptool.py -c esp32c3 merge_bin -o output/$(APP_VERSION)/OpenESP32C3_$(APP_VERSION).factory.bin --flash_mode dio --flash_size $(ESP_FSIZE) 0x0 ./platforms/ESP-IDF/build-c3/bootloader/bootloader.bin 0x8000 ./platforms/ESP-IDF/build-c3/partition_table/partition-table.bin 0x10000 ./platforms/ESP-IDF/build-c3/OpenBeken.bin
cp ./platforms/ESP-IDF/build-c3/OpenBeken.bin output/$(APP_VERSION)/OpenESP32C3_$(APP_VERSION).img
.PHONY: OpenESP32C2
OpenESP32C2: prebuild_ESPIDF
- -rm platforms/ESP-IDF/sdkconfig
- IDF_TARGET="esp32c2" USER_SW_VER=$(APP_VERSION) cmake platforms/ESP-IDF -B platforms/ESP-IDF/build-c2
- IDF_TARGET="esp32c2" USER_SW_VER=$(APP_VERSION) cmake --build ./platforms/ESP-IDF/build-c2 -j $(shell nproc)
+ IDF_TARGET="esp32c2" APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) cmake platforms/ESP-IDF -B platforms/ESP-IDF/build-c2
+ IDF_TARGET="esp32c2" APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) cmake --build ./platforms/ESP-IDF/build-c2 -j $(shell nproc)
mkdir -p output/$(APP_VERSION)
- esptool.py -c esp32c2 merge_bin -o output/$(APP_VERSION)/OpenESP32C2_$(APP_VERSION).factory.bin --flash_mode dio --flash_size 2MB 0x0 ./platforms/ESP-IDF/build-c2/bootloader/bootloader.bin 0x8000 ./platforms/ESP-IDF/build-c2/partition_table/partition-table.bin 0x10000 ./platforms/ESP-IDF/build-c2/OpenBeken.bin
+ esptool.py -c esp32c2 merge_bin -o output/$(APP_VERSION)/OpenESP32C2_$(APP_VERSION).factory.bin --flash_mode dio --flash_size $(ESP_FSIZE) 0x0 ./platforms/ESP-IDF/build-c2/bootloader/bootloader.bin 0x8000 ./platforms/ESP-IDF/build-c2/partition_table/partition-table.bin 0x10000 ./platforms/ESP-IDF/build-c2/OpenBeken.bin
cp ./platforms/ESP-IDF/build-c2/OpenBeken.bin output/$(APP_VERSION)/OpenESP32C2_$(APP_VERSION).img
.PHONY: OpenESP32C6
OpenESP32C6: prebuild_ESPIDF
- -rm platforms/ESP-IDF/sdkconfig
- IDF_TARGET="esp32c6" USER_SW_VER=$(APP_VERSION) cmake platforms/ESP-IDF -B platforms/ESP-IDF/build-c6
- IDF_TARGET="esp32c6" USER_SW_VER=$(APP_VERSION) cmake --build ./platforms/ESP-IDF/build-c6 -j $(shell nproc)
+ IDF_TARGET="esp32c6" APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) cmake platforms/ESP-IDF -B platforms/ESP-IDF/build-c6
+ IDF_TARGET="esp32c6" APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) cmake --build ./platforms/ESP-IDF/build-c6 -j $(shell nproc)
mkdir -p output/$(APP_VERSION)
- esptool.py -c esp32c6 merge_bin -o output/$(APP_VERSION)/OpenESP32C6_$(APP_VERSION).factory.bin --flash_mode dio --flash_size 4MB 0x0 ./platforms/ESP-IDF/build-c6/bootloader/bootloader.bin 0x8000 ./platforms/ESP-IDF/build-c6/partition_table/partition-table.bin 0x10000 ./platforms/ESP-IDF/build-c6/OpenBeken.bin
+ esptool.py -c esp32c6 merge_bin -o output/$(APP_VERSION)/OpenESP32C6_$(APP_VERSION).factory.bin --flash_mode dio --flash_size $(ESP_FSIZE) 0x0 ./platforms/ESP-IDF/build-c6/bootloader/bootloader.bin 0x8000 ./platforms/ESP-IDF/build-c6/partition_table/partition-table.bin 0x10000 ./platforms/ESP-IDF/build-c6/OpenBeken.bin
cp ./platforms/ESP-IDF/build-c6/OpenBeken.bin output/$(APP_VERSION)/OpenESP32C6_$(APP_VERSION).img
.PHONY: OpenESP32S2
OpenESP32S2: prebuild_ESPIDF
- -rm platforms/ESP-IDF/sdkconfig
- IDF_TARGET="esp32s2" USER_SW_VER=$(APP_VERSION) cmake platforms/ESP-IDF -B platforms/ESP-IDF/build-s2
- IDF_TARGET="esp32s2" USER_SW_VER=$(APP_VERSION) cmake --build ./platforms/ESP-IDF/build-s2 -j $(shell nproc)
+ IDF_TARGET="esp32s2" APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) cmake platforms/ESP-IDF -B platforms/ESP-IDF/build-s2
+ IDF_TARGET="esp32s2" APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) cmake --build ./platforms/ESP-IDF/build-s2 -j $(shell nproc)
mkdir -p output/$(APP_VERSION)
- esptool.py -c esp32s2 merge_bin -o output/$(APP_VERSION)/OpenESP32S2_$(APP_VERSION).factory.bin --flash_mode dio --flash_size 4MB 0x1000 ./platforms/ESP-IDF/build-s2/bootloader/bootloader.bin 0x8000 ./platforms/ESP-IDF/build-s2/partition_table/partition-table.bin 0x10000 ./platforms/ESP-IDF/build-s2/OpenBeken.bin
+ esptool.py -c esp32s2 merge_bin -o output/$(APP_VERSION)/OpenESP32S2_$(APP_VERSION).factory.bin --flash_mode dio --flash_size $(ESP_FSIZE) 0x1000 ./platforms/ESP-IDF/build-s2/bootloader/bootloader.bin 0x8000 ./platforms/ESP-IDF/build-s2/partition_table/partition-table.bin 0x10000 ./platforms/ESP-IDF/build-s2/OpenBeken.bin
cp ./platforms/ESP-IDF/build-s2/OpenBeken.bin output/$(APP_VERSION)/OpenESP32S2_$(APP_VERSION).img
.PHONY: OpenESP32S3
OpenESP32S3: prebuild_ESPIDF
- -rm platforms/ESP-IDF/sdkconfig
- IDF_TARGET="esp32s3" USER_SW_VER=$(APP_VERSION) cmake platforms/ESP-IDF -B platforms/ESP-IDF/build-s3
- IDF_TARGET="esp32s3" USER_SW_VER=$(APP_VERSION) cmake --build ./platforms/ESP-IDF/build-s3 -j $(shell nproc)
+ IDF_TARGET="esp32s3" APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) cmake platforms/ESP-IDF -B platforms/ESP-IDF/build-s3
+ IDF_TARGET="esp32s3" APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) cmake --build ./platforms/ESP-IDF/build-s3 -j $(shell nproc)
mkdir -p output/$(APP_VERSION)
- esptool.py -c esp32s3 merge_bin -o output/$(APP_VERSION)/OpenESP32S3_$(APP_VERSION).factory.bin --flash_mode dio --flash_size 4MB 0x0 ./platforms/ESP-IDF/build-s3/bootloader/bootloader.bin 0x8000 ./platforms/ESP-IDF/build-s3/partition_table/partition-table.bin 0x10000 ./platforms/ESP-IDF/build-s3/OpenBeken.bin
+ esptool.py -c esp32s3 merge_bin -o output/$(APP_VERSION)/OpenESP32S3_$(APP_VERSION).factory.bin --flash_mode dio --flash_size $(ESP_FSIZE) 0x0 ./platforms/ESP-IDF/build-s3/bootloader/bootloader.bin 0x8000 ./platforms/ESP-IDF/build-s3/partition_table/partition-table.bin 0x10000 ./platforms/ESP-IDF/build-s3/OpenBeken.bin
cp ./platforms/ESP-IDF/build-s3/OpenBeken.bin output/$(APP_VERSION)/OpenESP32S3_$(APP_VERSION).img
.PHONY: OpenTR6260
OpenTR6260: prebuild_OpenTR6260
if [ ! -e sdk/OpenTR6260/toolchain/nds32le-elf-mculib-v3 ]; then cd sdk/OpenTR6260/toolchain && xz -d < nds32le-elf-mculib-v3.txz | tar xvf - > /dev/null; fi
- cd sdk/OpenTR6260/scripts && APP_VERSION=$(APP_VERSION) bash build_tr6260s1.sh
+ cd sdk/OpenTR6260/scripts && APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) bash build_tr6260s1.sh
mkdir -p output/$(APP_VERSION)
cp sdk/OpenTR6260/out/tr6260s1/standalone/tr6260s1_0x007000.bin output/$(APP_VERSION)/OpenTR6260_$(APP_VERSION).bin
.PHONY: OpenRTL87X0C
OpenRTL87X0C: prebuild_OpenRTL87X0C
- $(MAKE) -C sdk/OpenRTL87X0C/project/OpenBeken/GCC-RELEASE APP_VERSION=$(APP_VERSION) -j $(shell nproc)
+ $(MAKE) -C sdk/OpenRTL87X0C/project/OpenBeken/GCC-RELEASE APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) -j $(shell nproc)
mkdir -p output/$(APP_VERSION)
cp sdk/OpenRTL87X0C/project/OpenBeken/GCC-RELEASE/application_is/Debug/bin/flash_is.bin output/$(APP_VERSION)/OpenRTL87X0C_$(APP_VERSION).bin
cp sdk/OpenRTL87X0C/project/OpenBeken/GCC-RELEASE/application_is/Debug/bin/firmware_is.bin output/$(APP_VERSION)/OpenRTL87X0C_$(APP_VERSION)_ota.img
.PHONY: OpenRTL8710B
OpenRTL8710B: prebuild_OpenRTL8710B
- $(MAKE) -C sdk/OpenRTL8710A_B/project/obk_amebaz/GCC-RELEASE APP_VERSION=$(APP_VERSION) -j $(shell nproc)
- $(MAKE) -C sdk/OpenRTL8710A_B/project/obk_amebaz/GCC-RELEASE APP_VERSION=$(APP_VERSION) ota_idx=2
+ $(MAKE) -C sdk/OpenRTL8710A_B/project/obk_amebaz/GCC-RELEASE APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) -j $(shell nproc)
+ $(MAKE) -C sdk/OpenRTL8710A_B/project/obk_amebaz/GCC-RELEASE APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) ota_idx=2
mkdir -p output/$(APP_VERSION)
cp sdk/OpenRTL8710A_B/project/obk_amebaz/GCC-RELEASE/application/Debug/bin/boot_all.bin output/$(APP_VERSION)/OpenRTL8710B_boot.bin
cp sdk/OpenRTL8710A_B/project/obk_amebaz/GCC-RELEASE/application/Debug/bin/image2_all_ota1.bin output/$(APP_VERSION)/OpenRTL8710B_$(APP_VERSION).bin
@@ -455,15 +459,15 @@ OpenRTL8710B: prebuild_OpenRTL8710B
.PHONY: OpenRTL8710A
OpenRTL8710A: prebuild_OpenRTL8710A
- $(MAKE) -C sdk/OpenRTL8710A_B/project/obk_ameba1/GCC-RELEASE APP_VERSION=$(APP_VERSION) -j $(shell nproc)
+ $(MAKE) -C sdk/OpenRTL8710A_B/project/obk_ameba1/GCC-RELEASE APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) -j $(shell nproc)
mkdir -p output/$(APP_VERSION)
cp sdk/OpenRTL8710A_B/project/obk_ameba1/GCC-RELEASE/application/Debug/bin/ram_all.bin output/$(APP_VERSION)/OpenRTL8710A_$(APP_VERSION).bin
cp sdk/OpenRTL8710A_B/project/obk_ameba1/GCC-RELEASE/application/Debug/bin/ota.bin output/$(APP_VERSION)/OpenRTL8710A_$(APP_VERSION)_ota.img
.PHONY: OpenRTL8720D
OpenRTL8720D: prebuild_OpenRTL8720D
- $(MAKE) -C sdk/OpenRTL8720D/project/OpenBeken/GCC-RELEASE/project_hp APP_VERSION=$(APP_VERSION)
- $(MAKE) -C sdk/OpenRTL8720D/project/OpenBeken/GCC-RELEASE/project_lp APP_VERSION=$(APP_VERSION)
+ $(MAKE) -C sdk/OpenRTL8720D/project/OpenBeken/GCC-RELEASE/project_hp APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT)
+ $(MAKE) -C sdk/OpenRTL8720D/project/OpenBeken/GCC-RELEASE/project_lp APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT)
mkdir -p output/$(APP_VERSION)
touch output/$(APP_VERSION)/OpenRTL8720D_$(APP_VERSION).bin
dd conv=notrunc bs=1 if=sdk/OpenRTL8720D/project/OpenBeken/GCC-RELEASE/project_lp/asdk/image/km0_boot_all.bin of=output/$(APP_VERSION)/OpenRTL8720D_$(APP_VERSION).bin seek=0
@@ -473,7 +477,7 @@ OpenRTL8720D: prebuild_OpenRTL8720D
.PHONY: OpenBK7238
OpenBK7238: prebuild_OpenBK7238
- cd sdk/beken_freertos_sdk && sh build.sh bk7238 $(APP_VERSION)
+ cd sdk/beken_freertos_sdk && OBK_VARIANT=$(OBK_VARIANT) sh build.sh bk7238 $(APP_VERSION)
mkdir -p output/$(APP_VERSION)
cp sdk/beken_freertos_sdk/out/all_2M.1220.bin output/$(APP_VERSION)/OpenBK7238_QIO_${APP_VERSION}.bin
cp sdk/beken_freertos_sdk/out/app.rbl output/$(APP_VERSION)/OpenBK7238_${APP_VERSION}.rbl
@@ -481,7 +485,7 @@ OpenBK7238: prebuild_OpenBK7238
.PHONY: OpenBK7231N_ALT
OpenBK7231N_ALT: prebuild_OpenBK7231N_ALT
- cd sdk/beken_freertos_sdk && sh build.sh bk7231n $(APP_VERSION)
+ cd sdk/beken_freertos_sdk && OBK_VARIANT=$(OBK_VARIANT) sh build.sh bk7231n $(APP_VERSION)
mkdir -p output/$(APP_VERSION)
cp sdk/beken_freertos_sdk/out/all_2M.1220.bin output/$(APP_VERSION)/OpenBK7231N_ALT_QIO_${APP_VERSION}.bin
cp sdk/beken_freertos_sdk/out/app.rbl output/$(APP_VERSION)/OpenBK7231N_ALT_${APP_VERSION}.rbl
@@ -491,8 +495,8 @@ OpenBK7231N_ALT: prebuild_OpenBK7231N_ALT
ECRDIR := $(PWD)/sdk/OpenECR6600
OpenECR6600: prebuild_OpenECR6600
if [ ! -e sdk/OpenECR6600/tool/nds32le-elf-mculib-v3s ]; then cd sdk/OpenECR6600/tool && xz -d < nds32le-elf-mculib-v3s.txz | tar xvf - > /dev/null; fi
- cd sdk/OpenECR6600 && make BOARD_DIR=$(ECRDIR)/Boards/ecr6600/standalone APP_NAME=OpenBeken TOPDIR=$(ECRDIR) GCC_PATH=$(ECRDIR)/tool/nds32le-elf-mculib-v3s/bin/ APP_VERSION=$(APP_VERSION) defconfig
- cd sdk/OpenECR6600 && make BOARD_DIR=$(ECRDIR)/Boards/ecr6600/standalone APP_NAME=OpenBeken TOPDIR=$(ECRDIR) GCC_PATH=$(ECRDIR)/tool/nds32le-elf-mculib-v3s/bin/ APP_VERSION=$(APP_VERSION) REL_V=OpenECR6600_$(APP_VERSION) all
+ cd sdk/OpenECR6600 && make BOARD_DIR=$(ECRDIR)/Boards/ecr6600/standalone APP_NAME=OpenBeken TOPDIR=$(ECRDIR) GCC_PATH=$(ECRDIR)/tool/nds32le-elf-mculib-v3s/bin/ APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) defconfig
+ cd sdk/OpenECR6600 && make BOARD_DIR=$(ECRDIR)/Boards/ecr6600/standalone APP_NAME=OpenBeken TOPDIR=$(ECRDIR) GCC_PATH=$(ECRDIR)/tool/nds32le-elf-mculib-v3s/bin/ APP_VERSION=$(APP_VERSION) OBK_VARIANT=$(OBK_VARIANT) REL_V=OpenECR6600_$(APP_VERSION) all
mkdir -p output/$(APP_VERSION)
cp $(ECRDIR)/build/OpenBeken/ECR6600F_standalone_OpenBeken_allinone.bin output/$(APP_VERSION)/OpenECR6600_$(APP_VERSION).bin
cp $(ECRDIR)/build/OpenBeken/ECR6600F_OpenBeken_Compress_ota_packeg.bin output/$(APP_VERSION)/OpenECR6600_$(APP_VERSION)_ota.img
diff --git a/bouffalo.mk b/bouffalo.mk
index 984e54e2f..0e26227f3 100644
--- a/bouffalo.mk
+++ b/bouffalo.mk
@@ -6,6 +6,7 @@ COMPONENT_ADD_INCLUDEDIRS += src/ src/httpserver/ src/cmnds/ src/logging/ src/ha
## not be exported to project level
COMPONENT_PRIV_INCLUDEDIRS :=
+CFLAGS += -DOBK_VARIANT=${OBK_VARIANT}
## This component's src
COMPONENT_SRCS :=
@@ -13,4 +14,6 @@ COMPONENT_SRCS :=
COMPONENT_OBJS := $(patsubst %.c,%.o, $(COMPONENT_SRCS))
COMPONENT_OBJS := $(patsubst %.S,%.o, $(COMPONENT_OBJS))
-COMPONENT_SRCDIRS := src/ src/jsmn src/httpserver/ src/cmnds/ src/logging/ src/hal/bl602/ src/mqtt/ src/i2c/ src/cJSON src/base64 src/driver src/devicegroups src/bitmessage src/littlefs src/hal/generic
+COMPONENT_SRCDIRS := src/ src/jsmn src/httpserver/ src/cmnds/ src/logging/ src/hal/bl602/ src/mqtt/ src/i2c/ src/cJSON src/base64 src/driver src/devicegroups src/bitmessage src/littlefs src/hal/generic libraries/berry/src src/berry src/berry/modules
+
+COMPONENT_ADD_LDFLAGS = -Wl,--whole-archive -l$(COMPONENT_NAME) -Wl,--no-whole-archive
diff --git a/components.mk b/components.mk
index 9f4538ea1..0ba34226d 100644
--- a/components.mk
+++ b/components.mk
@@ -1,19 +1,14 @@
OBK_DIR = $(TOP_DIR)/apps/$(APP_BIN_NAME)/
+BERRY_MODULEPATH = $(OBK_DIR)/src/berry/modules
BERRY_SRCPATH = $(OBK_DIR)/libraries/berry/src/
-# different frameworks put object files in different places,
-# berry needs to add a rule to autogenerate some files before the object files
-# are built, so it needs the translation function from a C source to an object
-# file
-define obj_from_c
- $(patsubst %.c, %.o, $(1))
-endef
-
include $(OBK_DIR)/libraries/berry.mk
SRC_C += $(BERRY_SRC_C)
+CPPDEFINES += -DOBK_VARIANT=$(OBK_VARIANT)
+
ifeq ($(TARGET_PLATFORM),bk7231n)
CFG_USE_MQTT_TLS ?= 0
diff --git a/custom.mk b/custom.mk
index fcfcd8983..2d39ed49d 100644
--- a/custom.mk
+++ b/custom.mk
@@ -7,7 +7,7 @@ SRC_DIRS ?= src/
EXCLUDED_FILES ?= src/httpserver/http_tcp_server.c src/ota/ota.c src/cmnds/cmd_tcp.c src/memory/memtest.c src/new_ping.c src/win_main_scriptOnly.c src/driver/drv_ir2.c src/driver/drv_ir.cpp
-SRCS := $(filter-out $(EXCLUDED_FILES), $(wildcard $(shell find $(SRC_DIRS) -not \( -path "src/hal/bl602" -prune \) -not \( -path "src/hal/xr809" -prune \) -not \( -path "src/hal/w800" -prune \) -not \( -path "src/hal/bk7231" -prune \) -name *.c | sort -k 1nr | cut -f2-)))
+SRCS := $(filter-out $(EXCLUDED_FILES), $(wildcard $(shell find $(SRC_DIRS) -not \( -path "src/hal/bl602" -prune \) -not \( -path "src/hal/xr809" -prune \) -not \( -path "src/hal/w800" -prune \) -not \( -path "src/hal/bk7231" -prune \) -not \( -path "src/berry" -prune \) -name *.c | sort -k 1nr | cut -f2-)))
INC_DIRS := include $(shell find $(SRC_DIRS) -type d)
INC_DIRS := $(filter-out src/hal/bl602 src/hal/xr809 src/hal/w800 src/hal/bk7231 src/memory, $(wildcard $(INC_DIRS)))
@@ -16,14 +16,8 @@ INCLUDES := $(addprefix -I,$(INC_DIRS))
default: $(BUILD_DIR)/$(TARGET_EXEC)
-BERRY_SRCPATH = libraries/berry/src/
-# different frameworks put object files in different places,
-# berry needs to add a rule to autogenerate some files before the object files
-# are built, so it needs the translation function from a C source to an object
-# file
-define obj_from_c
- $(patsubst %.c, build/%.c.o, $(1))
-endef
+BERRY_MODULEPATH = src/berry/modules
+BERRY_SRCPATH = libraries/berry/src
include libraries/berry.mk
diff --git a/include/berry_conf.h b/include/berry_conf.h
index 6612e5543..73b920955 100644
--- a/include/berry_conf.h
+++ b/include/berry_conf.h
@@ -229,14 +229,25 @@
**/
#define BE_EXPLICIT_ABORT abort
#define BE_EXPLICIT_EXIT exit
-#define BE_EXPLICIT_MALLOC malloc
-#define BE_EXPLICIT_FREE free
-// normal realloc appears broken on OpenBK7231T: #1563, #298
-#if defined(PLATFORM_BK7231T) || defined(PLATFORM_BK7231N)
+ // BK7231/RTL wraps malloc, free etc. to freertos ports. Some platforms don't do it.
+#if PLATFORM_W800 || PLATFORM_W600
+#define BE_EXPLICIT_MALLOC pvPortMalloc
+#define BE_EXPLICIT_REALLOC pvPortRealloc
+#define BE_EXPLICIT_FREE vPortFree
+#elif PLATFORM_TR6260 || PLATFORM_ECR6600
+#define BE_EXPLICIT_MALLOC os_malloc
+#define BE_EXPLICIT_FREE os_free
#define BE_EXPLICIT_REALLOC os_realloc
#else
+#define BE_EXPLICIT_MALLOC malloc
+#define BE_EXPLICIT_FREE free
#define BE_EXPLICIT_REALLOC realloc
#endif
+// normal realloc appears broken on OpenBK7231T: #1563, #298
+#if PLATFORM_BEKEN
+#undef BE_EXPLICIT_REALLOC
+#define BE_EXPLICIT_REALLOC os_realloc
+#endif
/* Macro: be_assert
* Berry debug assertion. Only enabled when BE_DEBUG is active.
diff --git a/libraries/berry.cmake b/libraries/berry.cmake
new file mode 100644
index 000000000..89276d40f
--- /dev/null
+++ b/libraries/berry.cmake
@@ -0,0 +1,49 @@
+set(BERRY_SRC_C
+ ${BERRY_SRCPATH}/be_api.c
+ ${BERRY_SRCPATH}/be_baselib.c
+ ${BERRY_SRCPATH}/be_bytecode.c
+ ${BERRY_SRCPATH}/be_byteslib.c
+ ${BERRY_SRCPATH}/be_class.c
+ ${BERRY_SRCPATH}/be_code.c
+ ${BERRY_SRCPATH}/be_debug.c
+ ${BERRY_SRCPATH}/be_debuglib.c
+ ${BERRY_SRCPATH}/be_exec.c
+ ${BERRY_SRCPATH}/be_filelib.c
+ ${BERRY_SRCPATH}/be_func.c
+ ${BERRY_SRCPATH}/be_gc.c
+ ${BERRY_SRCPATH}/be_gclib.c
+ ${BERRY_SRCPATH}/be_globallib.c
+ ${BERRY_SRCPATH}/be_introspectlib.c
+ ${BERRY_SRCPATH}/be_jsonlib.c
+ ${BERRY_SRCPATH}/be_lexer.c
+ ${BERRY_SRCPATH}/be_libs.c
+ ${BERRY_SRCPATH}/be_list.c
+ ${BERRY_SRCPATH}/be_listlib.c
+ ${BERRY_SRCPATH}/be_map.c
+ ${BERRY_SRCPATH}/be_maplib.c
+ ${BERRY_SRCPATH}/be_mathlib.c
+ ${BERRY_SRCPATH}/be_mem.c
+ ${BERRY_SRCPATH}/be_module.c
+ ${BERRY_SRCPATH}/be_object.c
+ ${BERRY_SRCPATH}/be_oslib.c
+ ${BERRY_SRCPATH}/be_parser.c
+ ${BERRY_SRCPATH}/be_rangelib.c
+ ${BERRY_SRCPATH}/be_repl.c
+ ${BERRY_SRCPATH}/be_solidifylib.c
+ ${BERRY_SRCPATH}/be_strictlib.c
+ ${BERRY_SRCPATH}/be_string.c
+ ${BERRY_SRCPATH}/be_strlib.c
+ ${BERRY_SRCPATH}/be_syslib.c
+ ${BERRY_SRCPATH}/be_timelib.c
+ ${BERRY_SRCPATH}/be_undefinedlib.c
+ ${BERRY_SRCPATH}/be_var.c
+ ${BERRY_SRCPATH}/be_vector.c
+ ${BERRY_SRCPATH}/be_vm.c
+
+ ${BERRY_MODULEPATH}/../be_bindings.c
+ ${BERRY_MODULEPATH}/../be_modtab.c
+ ${BERRY_MODULEPATH}/../be_port.c
+ ${BERRY_MODULEPATH}/../be_run.c
+
+ ${BERRY_MODULEPATH}/be_i2c.c
+)
diff --git a/libraries/berry.mk b/libraries/berry.mk
index 4cd5a0c33..6532e7b99 100644
--- a/libraries/berry.mk
+++ b/libraries/berry.mk
@@ -1,4 +1,4 @@
-# meant to be included, depends on BERRY_SRCPATH and obj_from_c function
+# meant to be included, depends on BERRY_SRCPATH and BERRY_MODULEPATH
INCLUDES += -I$(BERRY_SRCPATH)
@@ -43,25 +43,14 @@ BERRY_SRC_C += $(BERRY_SRCPATH)/be_var.c
BERRY_SRC_C += $(BERRY_SRCPATH)/be_vector.c
BERRY_SRC_C += $(BERRY_SRCPATH)/be_vm.c
-COC = $(BERRY_SRCPATH)/../tools/coc/coc
-BERRY_GENERATE = $(BERRY_SRCPATH)/../generate
-BERRY_CONFIG = $(BERRY_SRCPATH)/../../../include/berry_conf.h
-ifneq ($(V), 1)
- Q=@
- MSG=@echo
+ifeq ($(TARGET_PLATFORM),bk7231n)
+else ifeq ($(TARGET_PLATFORM),bk7231t)
else
- MSG=@true
+BERRY_SRC_C += $(BERRY_MODULEPATH)/../be_bindings.c
+BERRY_SRC_C += $(BERRY_MODULEPATH)/../be_modtab.c
+BERRY_SRC_C += $(BERRY_MODULEPATH)/../be_port.c
+BERRY_SRC_C += $(BERRY_MODULEPATH)/../be_run.c
+
+BERRY_SRC_C += $(BERRY_MODULEPATH)/be_i2c.c
endif
-
-
-BERRY_OBJS = $(call obj_from_c,$(BERRY_SRC_C))
-
-$(BERRY_OBJS): berry_const_tab
-
-berry_const_tab: $(BERRY_GENERATE) $(BERRY_SRC_C) $(BERRY_CONFIG)
- $(MSG) [Prebuild] generate resources
- $(Q) $(COC) -o $(BERRY_GENERATE) $(BERRY_SRCPATH) -c $(BERRY_CONFIG)
-
-$(BERRY_GENERATE):
- $(Q) mkdir $(BERRY_GENERATE)
diff --git a/libraries/easyflash/inc/ef_cfg.h b/libraries/easyflash/inc/ef_cfg.h
index 986e600e7..765dffeda 100644
--- a/libraries/easyflash/inc/ef_cfg.h
+++ b/libraries/easyflash/inc/ef_cfg.h
@@ -111,6 +111,12 @@
#define EF_START_ADDR 0x1B0000
#define ENV_AREA_SIZE 0x40000
+#elif PLATFORM_W800
+
+#define EF_START_ADDR 0x1DB000
+// extend to 0x21000 if moving obk config to ef
+#define ENV_AREA_SIZE 0x15000
+
#endif
/* print debug information of flash */
#ifdef PKG_EASYFLASH_DEBUG
diff --git a/libraries/easyflash/ports/ef_port.c b/libraries/easyflash/ports/ef_port.c
index 02d34e90d..7d31bd014 100644
--- a/libraries/easyflash/ports/ef_port.c
+++ b/libraries/easyflash/ports/ef_port.c
@@ -33,11 +33,22 @@
#include "FreeRTOS.h"
#include "semphr.h"
#include "queue.h"
+
+#if PLATFORM_REALTEK
+
#include "flash_api.h"
#include "device_lock.h"
flash_t flash;
+#elif defined(PLATFORM_W800) || defined(PLATFORM_W600)
+
+#include "wm_internal_flash.h"
+#include "wm_flash.h"
+#define QueueHandle_t xQueueHandle
+
+#endif
+
/* default ENV set for user */
static const ef_env default_env_set[] =
{
@@ -62,6 +73,9 @@ EfErrCode ef_port_init(ef_env const** default_env, size_t* default_env_size)
*default_env_size = sizeof(default_env_set) / sizeof(default_env_set[0]);
ef_mutex = xSemaphoreCreateMutex();
+#if defined(PLATFORM_W800) || defined(PLATFORM_W600)
+ tls_fls_init();
+#endif
return result;
}
@@ -78,12 +92,17 @@ EfErrCode ef_port_init(ef_env const** default_env, size_t* default_env_size)
*/
EfErrCode ef_port_read(uint32_t addr, uint32_t* buf, size_t size)
{
+#if PLATFORM_REALTEK
device_mutex_lock(RT_DEV_LOCK_FLASH);
int res = flash_stream_read(&flash, addr, size, buf);
device_mutex_unlock(RT_DEV_LOCK_FLASH);
-
if(res) return EF_NO_ERR;
else return EF_READ_ERR;
+#elif defined(PLATFORM_W800) || defined(PLATFORM_W600)
+ int res = tls_fls_read(addr, (uint8_t*)buf, size);
+ if(res != TLS_FLS_STATUS_OK) return EF_READ_ERR;
+ else return EF_NO_ERR;
+#endif
}
/**
@@ -103,10 +122,16 @@ EfErrCode ef_port_erase(uint32_t addr, size_t size)
/* make sure the start address is a multiple of FLASH_ERASE_MIN_SIZE */
EF_ASSERT(addr % EF_ERASE_MIN_SIZE == 0);
+#if PLATFORM_REALTEK
device_mutex_lock(RT_DEV_LOCK_FLASH);
flash_erase_sector(&flash, addr);
device_mutex_unlock(RT_DEV_LOCK_FLASH);
+#elif defined(PLATFORM_W800) || defined(PLATFORM_W600)
+ int res = tls_fls_erase(addr / EF_ERASE_MIN_SIZE);
+ if(res != TLS_FLS_STATUS_OK) return EF_ERASE_ERR;
+ else return EF_NO_ERR;
+#endif
return result;
}
/**
@@ -122,12 +147,19 @@ EfErrCode ef_port_erase(uint32_t addr, size_t size)
*/
EfErrCode ef_port_write(uint32_t addr, const uint32_t* buf, size_t size)
{
+#if PLATFORM_REALTEK
device_mutex_lock(RT_DEV_LOCK_FLASH);
int res = flash_stream_write(&flash, addr, size, buf);
device_mutex_unlock(RT_DEV_LOCK_FLASH);
if(res) return EF_NO_ERR;
else return EF_WRITE_ERR;
+
+#elif defined(PLATFORM_W800) || defined(PLATFORM_W600)
+ int res = tls_fls_write(addr, (uint8_t*)buf, size);
+ if(res != TLS_FLS_STATUS_OK) return EF_WRITE_ERR;
+ else return EF_NO_ERR;
+#endif
}
/**
diff --git a/openBeken_win32_mvsc2017.vcxproj b/openBeken_win32_mvsc2017.vcxproj
index e67b3c6bd..9dda10f44 100644
--- a/openBeken_win32_mvsc2017.vcxproj
+++ b/openBeken_win32_mvsc2017.vcxproj
@@ -66,7 +66,7 @@
.\libs_for_simulator\SDL2-2.24.2\lib\x86;.\libs_for_simulator\DevIL-Windows-SDK-1.8.0\lib\x86\Release;.\libs_for_simulator\freeglut-MSVC-3.0.0-2.mp\lib;.\libs_for_simulator\nativefiledialog\build\lib\Debug\x86
- cd libraries\berry & mkdir generate & python tools/coc/coc -o generate src -c ..\..\include\berry_conf.h
+ cd libraries\berry & mkdir generate & python tools/coc/coc -o generate src ..\..\src\berry\modules -c ..\..\include\berry_conf.h
prebuild berry
@@ -89,7 +89,7 @@
.\libs_for_simulator\SDL2-2.24.2\lib\x86;.\libs_for_simulator\DevIL-Windows-SDK-1.8.0\lib\x86\Release;.\libs_for_simulator\freeglut-MSVC-3.0.0-2.mp\lib;.\libs_for_simulator\nativefiledialog\build\lib\Release\x86
- cd libraries\berry & mkdir generate & python tools/coc/coc -o generate src -c ..\..\include\berry_conf.h
+ cd libraries\berry & mkdir generate & python tools/coc/coc -o generate src ..\..\src\berry\modules -c ..\..\include\berry_conf.h
prebuild berry
@@ -173,6 +173,7 @@
+
diff --git a/platforms/BK723x/OpenBeken.mk b/platforms/BK723x/OpenBeken.mk
index da907cc5e..4bef77dea 100644
--- a/platforms/BK723x/OpenBeken.mk
+++ b/platforms/BK723x/OpenBeken.mk
@@ -5,10 +5,6 @@ INCLUDES += -I./fixes
CCFLAGS += -DPLATFORM_BEKEN -DPLATFORM_BEKEN_NEW
-ifdef USER_SW_VER
-CCFLAGS += -DUSER_SW_VER='"${USER_SW_VER}"'
-endif
-
ifeq ($(CFG_SOC_NAME), 1)
CFLAGS += -DPLATFORM_BK7231T
else ifeq ($(CFG_SOC_NAME), 2)
@@ -21,30 +17,9 @@ else ifeq ($(CFG_SOC_NAME), 7)
CCFLAGS += -DPLATFORM_BK7238
endif
+SRC_C += ./fixes/blank.c
APP_C += $(OBK_DIR)/../platforms/BK723x/ps.c
-APP_C += $(OBK_DIR)/base64/base64.c
-APP_C += $(OBK_DIR)/bitmessage/bitmessage_read.c
-APP_C += $(OBK_DIR)/bitmessage/bitmessage_write.c
-APP_C += $(OBK_DIR)/cJSON/cJSON.c
-APP_C += $(OBK_DIR)/cmnds/cmd_berry.c
-APP_C += $(OBK_DIR)/cmnds/cmd_channels.c
-APP_C += $(OBK_DIR)/cmnds/cmd_eventHandlers.c
-APP_C += $(OBK_DIR)/cmnds/cmd_if.c
-APP_C += $(OBK_DIR)/cmnds/cmd_main.c
-APP_C += $(OBK_DIR)/cmnds/cmd_newLEDDriver_colors.c
-APP_C += $(OBK_DIR)/cmnds/cmd_newLEDDriver.c
-APP_C += $(OBK_DIR)/cmnds/cmd_repeatingEvents.c
-APP_C += $(OBK_DIR)/cmnds/cmd_script.c
-APP_C += $(OBK_DIR)/cmnds/cmd_simulatorOnly.c
-APP_C += $(OBK_DIR)/cmnds/cmd_tasmota.c
-APP_C += $(OBK_DIR)/cmnds/cmd_tcp.c
-APP_C += $(OBK_DIR)/cmnds/cmd_test.c
-APP_C += $(OBK_DIR)/cmnds/cmd_tokenizer.c
-APP_C += $(OBK_DIR)/devicegroups/deviceGroups_read.c
-APP_C += $(OBK_DIR)/devicegroups/deviceGroups_util.c
-APP_C += $(OBK_DIR)/devicegroups/deviceGroups_write.c
-APP_C += $(OBK_DIR)/driver/drv_main.c
APP_C += $(OBK_DIR)/hal/bk7231/hal_adc_bk7231.c
APP_C += $(OBK_DIR)/hal/bk7231/hal_flashConfig_bk7231.c
APP_C += $(OBK_DIR)/hal/bk7231/hal_flashVars_bk7231.c
@@ -53,126 +28,16 @@ APP_C += $(OBK_DIR)/hal/bk7231/hal_main_bk7231.c
APP_C += $(OBK_DIR)/hal/bk7231/hal_pins_bk7231.c
APP_C += $(OBK_DIR)/hal/bk7231/hal_wifi_bk7231.c
APP_C += $(OBK_DIR)/hal/bk7231/hal_uart_bk7231.c
-APP_C += $(OBK_DIR)/httpserver/hass.c
-APP_C += $(OBK_DIR)/httpserver/http_basic_auth.c
-APP_C += $(OBK_DIR)/httpserver/http_fns.c
-APP_C += $(OBK_DIR)/httpserver/new_tcp_server.c
-#APP_C += $(OBK_DIR)/httpserver/http_tcp_server.c
-APP_C += $(OBK_DIR)/httpserver/json_interface.c
-APP_C += $(OBK_DIR)/httpserver/new_http.c
-APP_C += $(OBK_DIR)/httpserver/rest_interface.c
-APP_C += $(OBK_DIR)/mqtt/new_mqtt_deduper.c
-APP_C += $(OBK_DIR)/jsmn/jsmn.c
-APP_C += $(OBK_DIR)/logging/logging.c
-APP_C += $(OBK_DIR)/mqtt/new_mqtt.c
-APP_C += $(OBK_DIR)/new_cfg.c
-APP_C += $(OBK_DIR)/new_common.c
-APP_C += $(OBK_DIR)/new_ping.c
-APP_C += $(OBK_DIR)/new_pins.c
-APP_C += $(OBK_DIR)/rgb2hsv.c
-APP_C += $(OBK_DIR)/tiny_crc8.c
-APP_C += $(OBK_DIR)/user_main.c
-APP_C += $(OBK_DIR)/cmnds/cmd_send.c
-APP_C += $(OBK_DIR)/driver/drv_adcButton.c
-APP_C += $(OBK_DIR)/driver/drv_adcSmoother.c
-APP_C += $(OBK_DIR)/driver/drv_aht2x.c
-APP_C += $(OBK_DIR)/driver/drv_battery.c
-APP_C += $(OBK_DIR)/driver/drv_bl_shared.c
-APP_C += $(OBK_DIR)/driver/drv_bl0937.c
-APP_C += $(OBK_DIR)/driver/drv_bl0942.c
-APP_C += $(OBK_DIR)/driver/drv_bmp280.c
-APP_C += $(OBK_DIR)/driver/drv_bmpi2c.c
-APP_C += $(OBK_DIR)/driver/drv_bp1658cj.c
-APP_C += $(OBK_DIR)/driver/drv_bp5758d.c
-APP_C += $(OBK_DIR)/driver/drv_bridge_driver.c
-APP_C += $(OBK_DIR)/driver/drv_chargingLimit.c
-APP_C += $(OBK_DIR)/driver/drv_charts.c
-APP_C += $(OBK_DIR)/driver/drv_cht8305.c
-APP_C += $(OBK_DIR)/driver/drv_cse7766.c
-APP_C += $(OBK_DIR)/driver/drv_ddp.c
-APP_C += $(OBK_DIR)/driver/drv_debouncer.c
-APP_C += $(OBK_DIR)/driver/drv_dht_internal.c
-APP_C += $(OBK_DIR)/driver/drv_dht.c
-APP_C += $(OBK_DIR)/driver/drv_doorSensorWithDeepSleep.c
-APP_C += $(OBK_DIR)/driver/drv_gn6932.c
-APP_C += $(OBK_DIR)/driver/drv_hd2015.c
-APP_C += $(OBK_DIR)/driver/drv_ht16k33.c
-APP_C += $(OBK_DIR)/driver/drv_httpButtons.c
-APP_C += $(OBK_DIR)/driver/drv_hue.c
-APP_C += $(OBK_DIR)/driver/drv_kp18058.c
-APP_C += $(OBK_DIR)/driver/drv_kp18068.c
-APP_C += $(OBK_DIR)/driver/drv_max72xx_clock.c
-APP_C += $(OBK_DIR)/driver/drv_max72xx_internal.c
-APP_C += $(OBK_DIR)/driver/drv_max72xx_single.c
-APP_C += $(OBK_DIR)/driver/drv_mcp9808.c
-APP_C += $(OBK_DIR)/driver/drv_ntp_events.c
-APP_C += $(OBK_DIR)/driver/drv_ntp.c
-APP_C += $(OBK_DIR)/driver/drv_pt6523.c
-APP_C += $(OBK_DIR)/driver/drv_pwm_groups.c
-APP_C += $(OBK_DIR)/driver/drv_pwmToggler.c
-APP_C += $(OBK_DIR)/driver/drv_pwrCal.c
-APP_C += $(OBK_DIR)/driver/drv_rn8209.c
-APP_C += $(OBK_DIR)/driver/drv_sgp.c
-APP_C += $(OBK_DIR)/driver/drv_shiftRegister.c
-APP_C += $(OBK_DIR)/driver/drv_sht3x.c
-APP_C += $(OBK_DIR)/driver/drv_pir.c
-#APP_C += $(OBK_DIR)/driver/drv_sm15155e.c
-#APP_C += $(OBK_DIR)/driver/drv_sm16703P.c
-APP_C += $(OBK_DIR)/driver/drv_sm2135.c
-APP_C += $(OBK_DIR)/driver/drv_sm2235.c
-APP_C += $(OBK_DIR)/driver/drv_soft_i2c.c
-APP_C += $(OBK_DIR)/driver/drv_soft_spi.c
-APP_C += $(OBK_DIR)/driver/drv_spi_flash.c
-APP_C += $(OBK_DIR)/driver/drv_spi.c
-APP_C += $(OBK_DIR)/driver/drv_spidma.c
-APP_C += $(OBK_DIR)/driver/drv_ssdp.c
-APP_C += $(OBK_DIR)/driver/drv_tasmotaDeviceGroups.c
-APP_C += $(OBK_DIR)/driver/drv_test_drivers.c
-APP_C += $(OBK_DIR)/driver/drv_textScroller.c
-APP_C += $(OBK_DIR)/driver/drv_tm_gn_display_shared.c
-APP_C += $(OBK_DIR)/driver/drv_tm1637.c
-APP_C += $(OBK_DIR)/driver/drv_tm1638.c
-APP_C += $(OBK_DIR)/driver/drv_tuyaMCU.c
-APP_C += $(OBK_DIR)/driver/drv_tuyaMCUSensor.c
-APP_C += $(OBK_DIR)/driver/drv_uart.c
-APP_C += $(OBK_DIR)/driver/drv_ucs1912.c
-APP_C += $(OBK_DIR)/driver/drv_wemo.c
-APP_C += $(OBK_DIR)/driver/drv_ds1820_simple.c
-APP_C += $(OBK_DIR)/httpclient/http_client.c
-APP_C += $(OBK_DIR)/httpclient/utils_net.c
-APP_C += $(OBK_DIR)/httpclient/utils_timer.c
-APP_C += $(OBK_DIR)/i2c/drv_i2c_lcd_pcf8574t.c
-APP_C += $(OBK_DIR)/i2c/drv_i2c_main.c
-APP_C += $(OBK_DIR)/i2c/drv_i2c_mcp23017.c
-APP_C += $(OBK_DIR)/i2c/drv_i2c_tc74.c
-APP_C += $(OBK_DIR)/littlefs/lfs_util.c
-APP_C += $(OBK_DIR)/littlefs/lfs.c
-APP_C += $(OBK_DIR)/littlefs/our_lfs.c
-APP_C += $(OBK_DIR)/memory/memtest.c
-APP_C += $(OBK_DIR)/ota/ota.c
-APP_C += $(OBK_DIR)/sim/sim_uart.c
-APP_C += $(OBK_DIR)/driver/drv_ir2.c
-#APP_C += $(OBK_DIR)/driver/drv_pixelAnim.c
-SRC_C += ./fixes/blank.c
+OBK_SRCS = $(OBK_DIR)/
+include $(OBK_DIR)/../platforms/obk_main.mk
+APP_C += $(OBKM_SRC)
+APP_CXX += $(OBKM_SRC_CXX)
+CCFLAGS += $(OBK_CFLAGS)
-APP_CXX += $(OBK_DIR)/driver/drv_ir.cpp
-
-BERRY_SRCPATH = $(OBK_DIR)/../libraries/berry/src/
-
-# different frameworks put object files in different places,
-# berry needs to add a rule to autogenerate some files before the object files
-# are built, so it needs the translation function from a C source to an object
-# file
-define obj_from_c
- $(patsubst %.c, $(OBJ_DIR)/%.app.o, $(1))
-endef
-
+BERRY_MODULEPATH = $(OBK_DIR)/berry/modules
+BERRY_SRCPATH = $(OBK_DIR)/../libraries/berry/src
include $(OBK_DIR)/../libraries/berry.mk
APP_C += $(BERRY_SRC_C)
-APP_C += $(OBK_DIR)/berry/be_bindings.c
-APP_C += $(OBK_DIR)/berry/be_modtab.c
-APP_C += $(OBK_DIR)/berry/be_port.c
-APP_C += $(OBK_DIR)/berry/be_run.c
diff --git a/platforms/ECR6600/OpenBeken.mk b/platforms/ECR6600/OpenBeken.mk
index d3de6ce1f..674b270ed 100644
--- a/platforms/ECR6600/OpenBeken.mk
+++ b/platforms/ECR6600/OpenBeken.mk
@@ -1,19 +1,4 @@
-CFLAGS += -DPLATFORM_ECR6600 -DUSER_SW_VER='"$(APP_VERSION)"' -Wno-error -DTCP_MSL=3000
-#VPATH += $(TOPDIR)/../../src/base64
-#VPATH += $(TOPDIR)/../../src/bitmessage
-#VPATH += $(TOPDIR)/../../src/cJSON
-#VPATH += $(TOPDIR)/../../src/cmnds
-#VPATH += $(TOPDIR)/../../src/devicegroups
-#VPATH += $(TOPDIR)/../../src/driver
-#VPATH += $(TOPDIR)/../../src/hal
-#VPATH += $(TOPDIR)/../../src/hal/ecr6600
-#VPATH += $(TOPDIR)/../../src/hal/generic
-#VPATH += $(TOPDIR)/../../src/httpserver
-#VPATH += $(TOPDIR)/../../src/jsmn
-#VPATH += $(TOPDIR)/../../src/logging
-#VPATH += $(TOPDIR)/../../src/mqtt
-#VPATH += $(TOPDIR)/../../src/i2c
-#VPATH += $(TOPDIR)/../../src/littlefs
+CFLAGS += -DPLATFORM_ECR6600 -Wno-error -DTCP_MSL=3000
VPATH += $(TOPDIR)/../../src
VPATH += $(TOPDIR)/../../platforms/ECR6600
@@ -22,28 +7,7 @@ INCPATHS += $(TOPDIR)/include/ota
INCPATHS += $(TOPDIR)/include
INCPATHS += $(TOPDIR)
-CSRCS = main.c
-CSRCS += base64/base64.c
-CSRCS += bitmessage/bitmessage_read.c
-CSRCS += bitmessage/bitmessage_write.c
-CSRCS += cJSON/cJSON.c
-CSRCS += cmnds/cmd_channels.c
-CSRCS += cmnds/cmd_eventHandlers.c
-CSRCS += cmnds/cmd_if.c
-CSRCS += cmnds/cmd_main.c
-CSRCS += cmnds/cmd_newLEDDriver_colors.c
-CSRCS += cmnds/cmd_newLEDDriver.c
-CSRCS += cmnds/cmd_repeatingEvents.c
-CSRCS += cmnds/cmd_script.c
-CSRCS += cmnds/cmd_simulatorOnly.c
-CSRCS += cmnds/cmd_tasmota.c
-CSRCS += cmnds/cmd_tcp.c
-CSRCS += cmnds/cmd_test.c
-CSRCS += cmnds/cmd_tokenizer.c
-CSRCS += devicegroups/deviceGroups_read.c
-CSRCS += devicegroups/deviceGroups_util.c
-CSRCS += devicegroups/deviceGroups_write.c
-CSRCS += driver/drv_main.c
+CSRCS = main.c
CSRCS += hal/ecr6600/hal_adc_ecr6600.c
CSRCS += hal/ecr6600/hal_flashConfig_ecr6600.c
CSRCS += hal/ecr6600/hal_flashVars_ecr6600.c
@@ -51,109 +15,17 @@ CSRCS += hal/ecr6600/hal_generic_ecr6600.c
CSRCS += hal/ecr6600/hal_pins_ecr6600.c
CSRCS += hal/ecr6600/hal_wifi_ecr6600.c
CSRCS += hal/ecr6600/hal_uart_ecr6600.c
-CSRCS += hal/generic/hal_adc_generic.c
-CSRCS += hal/generic/hal_flashConfig_generic.c
-CSRCS += hal/generic/hal_flashVars_generic.c
-CSRCS += hal/generic/hal_generic.c
-CSRCS += hal/generic/hal_main_generic.c
-CSRCS += hal/generic/hal_pins_generic.c
-CSRCS += hal/generic/hal_wifi_generic.c
-CSRCS += hal/generic/hal_uart_generic.c
-CSRCS += httpserver/hass.c
-CSRCS += httpserver/http_basic_auth.c
-CSRCS += httpserver/http_fns.c
-CSRCS += httpserver/http_tcp_server.c
-CSRCS += httpserver/new_tcp_server.c
-CSRCS += httpserver/json_interface.c
-CSRCS += httpserver/new_http.c
-CSRCS += httpserver/rest_interface.c
-CSRCS += mqtt/new_mqtt_deduper.c
-CSRCS += jsmn/jsmn.c
-CSRCS += logging/logging.c
-CSRCS += mqtt/new_mqtt.c
-CSRCS += new_cfg.c
-CSRCS += new_common.c
-CSRCS += new_ping.c
-CSRCS += new_pins.c
-CSRCS += rgb2hsv.c
-CSRCS += tiny_crc8.c
-CSRCS += user_main.c
-#CSRCS += cmnds/cmd_send.c
-CSRCS += driver/drv_adcButton.c
-CSRCS += driver/drv_adcSmoother.c
-CSRCS += driver/drv_aht2x.c
-CSRCS += driver/drv_battery.c
-CSRCS += driver/drv_bl_shared.c
-CSRCS += driver/drv_bl0937.c
-CSRCS += driver/drv_bl0942.c
-#CSRCS += driver/drv_bmp280.c
-CSRCS += driver/drv_bmpi2c.c
-CSRCS += driver/drv_bp1658cj.c
-CSRCS += driver/drv_bp5758d.c
-CSRCS += driver/drv_bridge_driver.c
-CSRCS += driver/drv_chargingLimit.c
-CSRCS += driver/drv_charts.c
-CSRCS += driver/drv_cht8305.c
-CSRCS += driver/drv_cse7766.c
-CSRCS += driver/drv_ddp.c
-CSRCS += driver/drv_debouncer.c
-CSRCS += driver/drv_dht_internal.c
-CSRCS += driver/drv_dht.c
-CSRCS += driver/drv_doorSensorWithDeepSleep.c
-CSRCS += driver/drv_gn6932.c
-CSRCS += driver/drv_hd2015.c
-CSRCS += driver/drv_ht16k33.c
-CSRCS += driver/drv_httpButtons.c
-CSRCS += driver/drv_hue.c
-CSRCS += driver/drv_kp18058.c
-CSRCS += driver/drv_kp18068.c
-CSRCS += driver/drv_max72xx_clock.c
-CSRCS += driver/drv_max72xx_internal.c
-CSRCS += driver/drv_max72xx_single.c
-CSRCS += driver/drv_mcp9808.c
-CSRCS += driver/drv_ntp_events.c
-CSRCS += driver/drv_ntp.c
-CSRCS += driver/drv_pt6523.c
-CSRCS += driver/drv_pwm_groups.c
-CSRCS += driver/drv_pwmToggler.c
-CSRCS += driver/drv_pwrCal.c
-CSRCS += driver/drv_rn8209.c
-CSRCS += driver/drv_sgp.c
-CSRCS += driver/drv_shiftRegister.c
-CSRCS += driver/drv_sht3x.c
-#CSRCS += driver/drv_sm15155e.c
-#CSRCS += driver/drv_sm16703P.c
-CSRCS += driver/drv_sm2135.c
-CSRCS += driver/drv_sm2235.c
-CSRCS += driver/drv_soft_i2c.c
-#CSRCS += driver/drv_soft_spi.c
-#CSRCS += driver/drv_spi_flash.c
-#CSRCS += driver/drv_spi.c
-#CSRCS += driver/drv_spidma.c
-CSRCS += driver/drv_ssdp.c
-CSRCS += driver/drv_tasmotaDeviceGroups.c
-CSRCS += driver/drv_test_drivers.c
-CSRCS += driver/drv_textScroller.c
-CSRCS += driver/drv_tm_gn_display_shared.c
-CSRCS += driver/drv_tm1637.c
-CSRCS += driver/drv_tm1638.c
-CSRCS += driver/drv_tuyaMCU.c
-CSRCS += driver/drv_tuyaMCUSensor.c
-CSRCS += driver/drv_uart.c
-CSRCS += driver/drv_ucs1912.c
-CSRCS += driver/drv_wemo.c
-CSRCS += driver/drv_ds1820_simple.c
-CSRCS += driver/drv_uart_tcp.c
-#CSRCS += httpclient/http_client.c
-#CSRCS += httpclient/utils_net.c
-#CSRCS += httpclient/utils_timer.c
-CSRCS += i2c/drv_i2c_lcd_pcf8574t.c
-CSRCS += i2c/drv_i2c_main.c
-CSRCS += i2c/drv_i2c_mcp23017.c
-CSRCS += i2c/drv_i2c_tc74.c
-CSRCS += littlefs/lfs_util.c
-CSRCS += littlefs/lfs.c
-CSRCS += littlefs/our_lfs.c
-#CSRCS += memory/memtest.c
-#CSRCS += ota/ota.c
-#CSRCS += sim/sim_uart.c
+
+OBK_SRCS =
+include $(TOPDIR)/../../platforms/obk_main.mk
+CSRCS += $(OBKM_SRC)
+CFLAGS += $(OBK_CFLAGS)
+
+VPATH += $(TOPDIR)/../../libraries
+INCPATHS += $(TOPDIR)/../../include
+BERRY_MODULEPATH = berry/modules
+BERRY_SRCPATH = berry/src
+INCPATHS += $(TOPDIR)/../../libraries/$(BERRY_SRCPATH)
+include $(TOPDIR)/../../libraries/berry.mk
+
+CSRCS += $(BERRY_SRC_C)
diff --git a/platforms/ESP-IDF/.gitignore b/platforms/ESP-IDF/.gitignore
index 26fad58aa..86be639bf 100644
--- a/platforms/ESP-IDF/.gitignore
+++ b/platforms/ESP-IDF/.gitignore
@@ -1,2 +1,3 @@
build*
-sdkconfig
\ No newline at end of file
+sdkconfig
+partitions.csv
\ No newline at end of file
diff --git a/platforms/ESP-IDF/CMakeLists.txt b/platforms/ESP-IDF/CMakeLists.txt
index fe64132ce..7648a7a8d 100644
--- a/platforms/ESP-IDF/CMakeLists.txt
+++ b/platforms/ESP-IDF/CMakeLists.txt
@@ -5,7 +5,10 @@ add_compile_definitions(MQTT_OUTPUT_RINGBUF_SIZE=2048)
add_compile_definitions(MQTT_VAR_HEADER_BUFFER_LEN=256)
add_compile_definitions(MQTT_REQ_MAX_IN_FLIGHT=16)
add_compile_definitions(LWIP_NOASSERT=1)
-add_definitions( -DUSER_SW_VER="$ENV{USER_SW_VER}" )
-set(PROJECT_VER "$ENV{USER_SW_VER}")
+add_definitions( -DUSER_SW_VER="$ENV{APP_VERSION}" )
+add_definitions( -DOBK_VARIANT=$ENV{OBK_VARIANT} )
+include_directories("$ENV{IDF_PATH}/../../libraries/berry/src")
+include_directories("$ENV{IDF_PATH}/../../include")
+set(PROJECT_VER "$ENV{APP_VERSION}")
project(OpenBeken)
-idf_build_set_property(COMPILE_OPTIONS "-Wno-format-truncation" APPEND)
\ No newline at end of file
+idf_build_set_property(COMPILE_OPTIONS "-Wno-format-truncation" APPEND)
diff --git a/platforms/ESP-IDF/main/CMakeLists.txt b/platforms/ESP-IDF/main/CMakeLists.txt
index 6a4ac0999..51907e91b 100644
--- a/platforms/ESP-IDF/main/CMakeLists.txt
+++ b/platforms/ESP-IDF/main/CMakeLists.txt
@@ -1,141 +1,23 @@
+set(OBK_SRCS "../../../src/")
+include($ENV{IDF_PATH}/../../platforms/obk_main.cmake)
+
+set(BERRY_SRCPATH "../../../libraries/berry/src")
+set(BERRY_MODULEPATH "${OBK_SRCS}berry/modules")
+include($ENV{IDF_PATH}/../../libraries/berry.cmake)
+
set(PROJ_ALL_SRC
- ../../../src/base64/base64.c
- ../../../src/bitmessage/bitmessage_read.c
- ../../../src/bitmessage/bitmessage_write.c
- ../../../src/cJSON/cJSON.c
- ../../../src/cmnds/cmd_channels.c
- ../../../src/cmnds/cmd_eventHandlers.c
- ../../../src/cmnds/cmd_if.c
- ../../../src/cmnds/cmd_main.c
- ../../../src/cmnds/cmd_newLEDDriver_colors.c
- ../../../src/cmnds/cmd_newLEDDriver.c
- ../../../src/cmnds/cmd_repeatingEvents.c
- ../../../src/cmnds/cmd_script.c
-# ../../../src/cmnds/cmd_send.c
- ../../../src/cmnds/cmd_simulatorOnly.c
- ../../../src/cmnds/cmd_tasmota.c
- ../../../src/cmnds/cmd_tcp.c
- ../../../src/cmnds/cmd_test.c
- ../../../src/cmnds/cmd_tokenizer.c
- ../../../src/devicegroups/deviceGroups_read.c
- ../../../src/devicegroups/deviceGroups_util.c
- ../../../src/devicegroups/deviceGroups_write.c
- ../../../src/driver/drv_adcButton.c
- ../../../src/driver/drv_adcSmoother.c
- ../../../src/driver/drv_aht2x.c
- ../../../src/driver/drv_battery.c
- ../../../src/driver/drv_bl_shared.c
- ../../../src/driver/drv_bl0937.c
-# ../../../src/driver/drv_bl0942.c
- ../../../src/driver/drv_bmp280.c
- ../../../src/driver/drv_bmpi2c.c
- ../../../src/driver/drv_bp1658cj.c
- ../../../src/driver/drv_bp5758d.c
- ../../../src/driver/drv_bridge_driver.c
- ../../../src/driver/drv_chargingLimit.c
- ../../../src/driver/drv_charts.c
- ../../../src/driver/drv_cht8305.c
- ../../../src/driver/drv_cse7766.c
- ../../../src/driver/drv_cse7761.c
- ../../../src/driver/drv_ddp.c
- ../../../src/driver/drv_debouncer.c
- ../../../src/driver/drv_dht_internal.c
- ../../../src/driver/drv_dht.c
-# ../../../src/driver/drv_doorSensorWithDeepSleep.c
- ../../../src/driver/drv_gn6932.c
- ../../../src/driver/drv_hd2015.c
- ../../../src/driver/drv_ht16k33.c
- ../../../src/driver/drv_httpButtons.c
- ../../../src/driver/drv_hue.c
- ../../../src/driver/drv_kp18058.c
- ../../../src/driver/drv_kp18068.c
- ../../../src/driver/drv_main.c
- ../../../src/driver/drv_max72xx_clock.c
- ../../../src/driver/drv_max72xx_internal.c
- ../../../src/driver/drv_max72xx_single.c
- ../../../src/driver/drv_mcp9808.c
- ../../../src/driver/drv_ntp_events.c
- ../../../src/driver/drv_ntp.c
- ../../../src/driver/drv_pt6523.c
- ../../../src/driver/drv_pwm_groups.c
- ../../../src/driver/drv_pwmToggler.c
- ../../../src/driver/drv_pwrCal.c
-# ../../../src/driver/drv_rn8209.c
- ../../../src/driver/drv_sgp.c
- ../../../src/driver/drv_shiftRegister.c
- ../../../src/driver/drv_sht3x.c
-# ../../../src/driver/drv_sm15155e.c
-# ../../../src/driver/drv_sm16703P.c
- ../../../src/driver/drv_sm2135.c
- ../../../src/driver/drv_sm2235.c
- ../../../src/driver/drv_soft_i2c.c
- ../../../src/driver/drv_soft_spi.c
-# ../../../src/driver/drv_spi_flash.c
-# ../../../src/driver/drv_spi.c
-# ../../../src/driver/drv_spidma.c
- ../../../src/driver/drv_ssdp.c
- ../../../src/driver/drv_tasmotaDeviceGroups.c
- ../../../src/driver/drv_test_drivers.c
- ../../../src/driver/drv_textScroller.c
- ../../../src/driver/drv_tm_gn_display_shared.c
- ../../../src/driver/drv_tm1637.c
- ../../../src/driver/drv_tm1638.c
- ../../../src/driver/drv_tuyaMCU.c
- ../../../src/driver/drv_tuyaMCUSensor.c
- ../../../src/driver/drv_uart.c
-# ../../../src/driver/drv_ucs1912.c
- ../../../src/driver/drv_wemo.c
- ../../../src/driver/drv_ds1820_simple.c
- ../../../src/hal/espidf/hal_adc_espidf.c
- ../../../src/hal/espidf/hal_flashConfig_espidf.c
- ../../../src/hal/espidf/hal_flashVars_espidf.c
- ../../../src/hal/espidf/hal_generic_espidf.c
- ../../../src/hal/espidf/hal_main_espidf.c
- ../../../src/hal/espidf/hal_pins_espidf.c
- ../../../src/hal/espidf/hal_wifi_espidf.c
- ../../../src/hal/espidf/hal_uart_espidf.c
- ../../../src/hal/generic/hal_adc_generic.c
- ../../../src/hal/generic/hal_flashConfig_generic.c
- ../../../src/hal/generic/hal_flashVars_generic.c
- ../../../src/hal/generic/hal_generic.c
- ../../../src/hal/generic/hal_main_generic.c
- ../../../src/hal/generic/hal_pins_generic.c
- ../../../src/hal/generic/hal_wifi_generic.c
- ../../../src/hal/generic/hal_uart_generic.c
- ../../../src/httpserver/hass.c
- ../../../src/httpserver/http_basic_auth.c
- ../../../src/httpserver/http_fns.c
- ../../../src/httpserver/http_tcp_server_nonblocking.c
- ../../../src/httpserver/http_tcp_server.c
- ../../../src/httpserver/json_interface.c
- ../../../src/httpserver/new_http.c
- ../../../src/httpserver/rest_interface.c
-# ../../../src/httpclient/http_client.c
-# ../../../src/httpclient/utils_net.c
-# ../../../src/httpclient/utils_timer.c
- ../../../src/i2c/drv_i2c_lcd_pcf8574t.c
- ../../../src/i2c/drv_i2c_main.c
- ../../../src/i2c/drv_i2c_mcp23017.c
- ../../../src/i2c/drv_i2c_tc74.c
- ../../../src/jsmn/jsmn.c
- ../../../src/littlefs/lfs_util.c
- ../../../src/littlefs/lfs.c
- ../../../src/littlefs/our_lfs.c
- ../../../src/logging/logging.c
-# ../../../src/memory/memtest.c
- ../../../src/mqtt/new_mqtt_deduper.c
- ../../../src/mqtt/new_mqtt.c
- ../../../src/new_cfg.c
- ../../../src/new_common.c
- ../../../src/new_ping.c
- ../../../src/new_pins.c
-# ../../../src/ota/ota.c
- ../../../src/rgb2hsv.c
-# ../../../src/sim/sim_uart.c
- ../../../src/tiny_crc8.c
- ../../../src/user_main.c
+ ${OBKM_SRC}
+ ${BERRY_SRC_C}
+ ${OBK_SRCS}hal/espidf/hal_adc_espidf.c
+ ${OBK_SRCS}hal/espidf/hal_flashConfig_espidf.c
+ ${OBK_SRCS}hal/espidf/hal_flashVars_espidf.c
+ ${OBK_SRCS}hal/espidf/hal_generic_espidf.c
+ ${OBK_SRCS}hal/espidf/hal_main_espidf.c
+ ${OBK_SRCS}hal/espidf/hal_pins_espidf.c
+ ${OBK_SRCS}hal/espidf/hal_wifi_espidf.c
+ ${OBK_SRCS}hal/espidf/hal_uart_espidf.c
$ENV{IDF_PATH}/components/lwip/lwip/src/apps/mqtt/mqtt.c
app.c
)
-idf_component_register(SRCS ${PROJ_ALL_SRC}
+idf_component_register(SRCS ${PROJ_ALL_SRC} WHOLE_ARCHIVE
PRIV_REQUIRES mqtt lwip esp_wifi nvs_flash esp_driver_tsens esp_driver_gpio esp_pm esp_partition app_update esp_adc esp_driver_uart esp_driver_ledc)
diff --git a/platforms/ESP-IDF/sdkconfig.defaults b/platforms/ESP-IDF/sdkconfig.defaults
index 9c37808a8..a7044e862 100644
--- a/platforms/ESP-IDF/sdkconfig.defaults
+++ b/platforms/ESP-IDF/sdkconfig.defaults
@@ -20,3 +20,5 @@ CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=n
CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=n
CONFIG_LWIP_TCP_MSL=1000
+CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y
+CONFIG_ESPTOOLPY_FLASHSIZE="16MB"
diff --git a/platforms/ESP-IDF/sdkconfig.defaults.esp32 b/platforms/ESP-IDF/sdkconfig.defaults.esp32
index 0f00f7e88..5112865ca 100644
--- a/platforms/ESP-IDF/sdkconfig.defaults.esp32
+++ b/platforms/ESP-IDF/sdkconfig.defaults.esp32
@@ -1,8 +1,5 @@
CONFIG_PM_ENABLE=y
CONFIG_PM_DFS_INIT_AUTO=y
CONFIG_PARTITION_TABLE_CUSTOM=y
-CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions-4mb.csv"
-CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
-CONFIG_ESPTOOLPY_FLASHSIZE="4MB"
CONFIG_ESPTOOLPY_FLASHFREQ_40M=y
CONFIG_ESPTOOLPY_FLASHFREQ="40m"
\ No newline at end of file
diff --git a/platforms/ESP-IDF/sdkconfig.defaults.esp32c2 b/platforms/ESP-IDF/sdkconfig.defaults.esp32c2
index 2d252bd29..e9d128ea1 100644
--- a/platforms/ESP-IDF/sdkconfig.defaults.esp32c2
+++ b/platforms/ESP-IDF/sdkconfig.defaults.esp32c2
@@ -10,7 +10,6 @@ CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION=y
CONFIG_PARTITION_TABLE_CUSTOM=y
-CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions-2mb.csv"
CONFIG_LWIP_MAX_SOCKETS=5
CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=16
diff --git a/platforms/ESP-IDF/sdkconfig.defaults.esp32c3 b/platforms/ESP-IDF/sdkconfig.defaults.esp32c3
index d68edc6d0..953cfed73 100644
--- a/platforms/ESP-IDF/sdkconfig.defaults.esp32c3
+++ b/platforms/ESP-IDF/sdkconfig.defaults.esp32c3
@@ -1,4 +1,3 @@
CONFIG_PM_ENABLE=y
CONFIG_PM_DFS_INIT_AUTO=y
-CONFIG_PARTITION_TABLE_CUSTOM=y
-CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions-2mb.csv"
\ No newline at end of file
+CONFIG_PARTITION_TABLE_CUSTOM=y
\ No newline at end of file
diff --git a/platforms/ESP-IDF/sdkconfig.defaults.esp32c6 b/platforms/ESP-IDF/sdkconfig.defaults.esp32c6
index 5b03b1399..953cfed73 100644
--- a/platforms/ESP-IDF/sdkconfig.defaults.esp32c6
+++ b/platforms/ESP-IDF/sdkconfig.defaults.esp32c6
@@ -1,6 +1,3 @@
CONFIG_PM_ENABLE=y
CONFIG_PM_DFS_INIT_AUTO=y
-CONFIG_PARTITION_TABLE_CUSTOM=y
-CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions-4mb.csv"
-CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
-CONFIG_ESPTOOLPY_FLASHSIZE="4MB"
\ No newline at end of file
+CONFIG_PARTITION_TABLE_CUSTOM=y
\ No newline at end of file
diff --git a/platforms/ESP-IDF/sdkconfig.defaults.esp32s2 b/platforms/ESP-IDF/sdkconfig.defaults.esp32s2
index 5b03b1399..953cfed73 100644
--- a/platforms/ESP-IDF/sdkconfig.defaults.esp32s2
+++ b/platforms/ESP-IDF/sdkconfig.defaults.esp32s2
@@ -1,6 +1,3 @@
CONFIG_PM_ENABLE=y
CONFIG_PM_DFS_INIT_AUTO=y
-CONFIG_PARTITION_TABLE_CUSTOM=y
-CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions-4mb.csv"
-CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
-CONFIG_ESPTOOLPY_FLASHSIZE="4MB"
\ No newline at end of file
+CONFIG_PARTITION_TABLE_CUSTOM=y
\ No newline at end of file
diff --git a/platforms/ESP-IDF/sdkconfig.defaults.esp32s3 b/platforms/ESP-IDF/sdkconfig.defaults.esp32s3
index 5b03b1399..953cfed73 100644
--- a/platforms/ESP-IDF/sdkconfig.defaults.esp32s3
+++ b/platforms/ESP-IDF/sdkconfig.defaults.esp32s3
@@ -1,6 +1,3 @@
CONFIG_PM_ENABLE=y
CONFIG_PM_DFS_INIT_AUTO=y
-CONFIG_PARTITION_TABLE_CUSTOM=y
-CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions-4mb.csv"
-CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
-CONFIG_ESPTOOLPY_FLASHSIZE="4MB"
\ No newline at end of file
+CONFIG_PARTITION_TABLE_CUSTOM=y
\ No newline at end of file
diff --git a/platforms/LN882H/CMakeLists.txt b/platforms/LN882H/CMakeLists.txt
index e4f5dc8a6..68c8dad54 100644
--- a/platforms/LN882H/CMakeLists.txt
+++ b/platforms/LN882H/CMakeLists.txt
@@ -2,146 +2,32 @@ include(ProjModuleCollect.cmake)
add_compile_definitions(PLATFORM_LN882H=1)
+add_definitions( -DUSER_SW_VER="$ENV{APP_VERSION}" )
+add_definitions( -DOBK_VARIANT=$ENV{OBK_VARIANT} )
-add_definitions( -DUSER_SW_VER="$(APP_VERSION)" )
+set(OBK_SRCS "app/src/")
+include(app/platforms/obk_main.cmake)
+
+set(BERRY_SRCPATH "app/libraries/berry/src")
+set(BERRY_MODULEPATH "${OBK_SRCS}berry/modules")
+include_directories(${BERRY_SRCPATH})
+include(app/libraries/berry.cmake)
set(PROJ_ALL_SRC
- app/src/base64/base64.c
- app/src/bitmessage/bitmessage_read.c
- app/src/bitmessage/bitmessage_write.c
- app/src/cJSON/cJSON.c
- app/src/cmnds/cmd_channels.c
- app/src/cmnds/cmd_eventHandlers.c
- app/src/cmnds/cmd_if.c
- app/src/cmnds/cmd_main.c
- app/src/cmnds/cmd_newLEDDriver_colors.c
- app/src/cmnds/cmd_newLEDDriver.c
- app/src/cmnds/cmd_repeatingEvents.c
- app/src/cmnds/cmd_script.c
-# app/src/cmnds/cmd_send.c
- app/src/cmnds/cmd_simulatorOnly.c
- app/src/cmnds/cmd_tasmota.c
- app/src/cmnds/cmd_tcp.c
- app/src/cmnds/cmd_test.c
- app/src/cmnds/cmd_tokenizer.c
- app/src/devicegroups/deviceGroups_read.c
- app/src/devicegroups/deviceGroups_util.c
- app/src/devicegroups/deviceGroups_write.c
- app/src/driver/drv_adcButton.c
- app/src/driver/drv_adcSmoother.c
- app/src/driver/drv_battery.c
- app/src/driver/drv_bl_shared.c
- app/src/driver/drv_bl0937.c
-# app/src/driver/drv_bl0942.c
- app/src/driver/drv_bmp280.c
- app/src/driver/drv_bp1658cj.c
- app/src/driver/drv_bp5758d.c
- app/src/driver/drv_bridge_driver.c
- app/src/driver/drv_chargingLimit.c
- app/src/driver/drv_cht8305.c
- app/src/driver/drv_cse7766.c
- app/src/driver/drv_ddp.c
- app/src/driver/drv_debouncer.c
- app/src/driver/drv_dht_internal.c
- app/src/driver/drv_dht.c
-# app/src/driver/drv_doorSensorWithDeepSleep.c
- app/src/driver/drv_gn6932.c
- app/src/driver/drv_hd2015.c
- app/src/driver/drv_ht16k33.c
- app/src/driver/drv_httpButtons.c
- app/src/driver/drv_hue.c
- app/src/driver/drv_kp18058.c
- app/src/driver/drv_kp18068.c
- app/src/driver/drv_main.c
- app/src/driver/drv_max72xx_clock.c
- app/src/driver/drv_max72xx_internal.c
- app/src/driver/drv_max72xx_single.c
- app/src/driver/drv_mcp9808.c
-# app/src/driver/drv_ntp_events.c
- app/src/driver/drv_ntp.c
- app/src/driver/drv_openWeatherMap.c
- app/src/driver/drv_pt6523.c
- app/src/driver/drv_pwm_groups.c
- app/src/driver/drv_pwmToggler.c
- app/src/driver/drv_pwrCal.c
-# app/src/driver/drv_rn8209.c
- app/src/driver/drv_sgp.c
- app/src/driver/drv_shiftRegister.c
- app/src/driver/drv_sht3x.c
-# app/src/driver/drv_sm16703P.c
- app/src/driver/drv_sm2135.c
- app/src/driver/drv_sm2235.c
- app/src/driver/drv_soft_i2c.c
- app/src/driver/drv_soft_spi.c
-# app/src/driver/drv_spi_flash.c
-# app/src/driver/drv_spi.c
-# app/src/driver/drv_spidma.c
- app/src/driver/drv_ssdp.c
- app/src/driver/drv_tasmotaDeviceGroups.c
- app/src/driver/drv_test_drivers.c
- app/src/driver/drv_textScroller.c
- app/src/driver/drv_tm_gn_display_shared.c
- app/src/driver/drv_tm1637.c
- app/src/driver/drv_tm1638.c
-# app/src/driver/drv_tuyaMCU.c
-# app/src/driver/drv_tuyaMCUSensor.c
-# app/src/driver/drv_uart.c
-# app/src/driver/drv_ucs1912.c
- app/src/driver/drv_wemo.c
- app/src/driver/drv_ds1820_simple.c
- app/src/driver/drv_charts.c
- app/src/hal/ln882h/hal_adc_ln882h.c
- app/src/hal/ln882h/hal_flashConfig_ln882h.c
- app/src/hal/ln882h/hal_flashVars_ln882h.c
- app/src/hal/ln882h/hal_generic_ln882h.c
- app/src/hal/ln882h/hal_main_ln882h.c
- app/src/hal/ln882h/hal_pins_ln882h.c
- app/src/hal/ln882h/hal_wifi_ln882h.c
- app/src/hal/generic/hal_adc_generic.c
- app/src/hal/generic/hal_flashConfig_generic.c
- app/src/hal/generic/hal_flashVars_generic.c
- app/src/hal/generic/hal_generic.c
- app/src/hal/generic/hal_main_generic.c
- app/src/hal/generic/hal_pins_generic.c
- app/src/hal/generic/hal_wifi_generic.c
- app/src/hal/generic/hal_uart_generic.c
- app/src/httpserver/hass.c
- app/src/httpserver/http_basic_auth.c
- app/src/httpserver/http_fns.c
- app/src/httpserver/http_tcp_server_nonblocking.c
- app/src/httpserver/http_tcp_server.c
- app/src/httpserver/json_interface.c
- app/src/httpserver/new_http.c
- app/src/httpserver/rest_interface.c
-# app/src/httpclient/http_client.c
-# app/src/httpclient/utils_net.c
-# app/src/httpclient/utils_timer.c
-# app/src/i2c/drv_i2c_lcd_pcf8574t.c
-# app/src/i2c/drv_i2c_main.c
-# app/src/i2c/drv_i2c_mcp23017.c
-# app/src/i2c/drv_i2c_tc74.c
- app/src/jsmn/jsmn.c
- app/src/littlefs/lfs_util.c
- app/src/littlefs/lfs.c
- app/src/littlefs/our_lfs.c
- app/src/logging/logging.c
-# app/src/memory/memtest.c
- app/src/mqtt/new_mqtt_deduper.c
- app/src/mqtt/new_mqtt.c
- app/src/new_cfg.c
- app/src/new_common.c
- app/src/new_ping.c
- app/src/new_pins.c
-# app/src/ota/ota.c
- app/src/rgb2hsv.c
-# app/src/sim/sim_uart.c
- app/src/tiny_crc8.c
- app/src/user_main.c
- main.c
- usr_app.c
- bsp/serial_hw.c
- startup/startup_${CHIP_SERIAL}_gcc.c
- ${MODULE_SRC}
+ ${OBKM_SRC}
+ ${BERRY_SRC_C}
+ ${OBK_SRCS}hal/ln882h/hal_adc_ln882h.c
+ ${OBK_SRCS}hal/ln882h/hal_flashConfig_ln882h.c
+ ${OBK_SRCS}hal/ln882h/hal_flashVars_ln882h.c
+ ${OBK_SRCS}hal/ln882h/hal_generic_ln882h.c
+ ${OBK_SRCS}hal/ln882h/hal_main_ln882h.c
+ ${OBK_SRCS}hal/ln882h/hal_pins_ln882h.c
+ ${OBK_SRCS}hal/ln882h/hal_wifi_ln882h.c
+ main.c
+ usr_app.c
+ bsp/serial_hw.c
+ startup/startup_${CHIP_SERIAL}_gcc.c
+ ${MODULE_SRC}
${COMP_LWIP_DIR}/apps/mqtt/mqtt.c
)
diff --git a/platforms/RTL8710A/OpenBeken.mk b/platforms/RTL8710A/OpenBeken.mk
index b058de59a..77d04793f 100644
--- a/platforms/RTL8710A/OpenBeken.mk
+++ b/platforms/RTL8710A/OpenBeken.mk
@@ -1,33 +1,12 @@
OBK_DIR = ../../../../..
-CFLAGS += -DPLATFORM_RTL8710A -DPLATFORM_REALTEK -DUSER_SW_VER='"$(APP_VERSION)"'
+CFLAGS += -DPLATFORM_RTL8710A -DPLATFORM_REALTEK
INCLUDES += -I$(OBK_DIR)/libraries/easyflash/inc
SRC_C += $(OBK_DIR)/platforms/RTL8710A/main.c
SRC_C += $(OBK_DIR)/platforms/RTL8710A/stdlib.c
-SRC_C += $(OBK_DIR)/src/base64/base64.c
-SRC_C += $(OBK_DIR)/src/bitmessage/bitmessage_read.c
-SRC_C += $(OBK_DIR)/src/bitmessage/bitmessage_write.c
-SRC_C += $(OBK_DIR)/src/cJSON/cJSON.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_channels.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_eventHandlers.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_if.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_main.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_newLEDDriver_colors.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_newLEDDriver.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_repeatingEvents.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_script.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_simulatorOnly.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_tasmota.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_tcp.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_test.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_tokenizer.c
-SRC_C += $(OBK_DIR)/src/devicegroups/deviceGroups_read.c
-SRC_C += $(OBK_DIR)/src/devicegroups/deviceGroups_util.c
-SRC_C += $(OBK_DIR)/src/devicegroups/deviceGroups_write.c
-SRC_C += $(OBK_DIR)/src/driver/drv_main.c
#SRC_C += $(OBK_DIR)/src/hal/realtek/rtl8710a/hal_adc_rtl8710a.c
#SRC_C += $(OBK_DIR)/src/hal/realtek/rtl8710a/hal_main_rtl8710a.c
SRC_C += $(OBK_DIR)/src/hal/realtek/rtl8710a/hal_uart_rtl8710a.c
@@ -37,114 +16,11 @@ SRC_C += $(OBK_DIR)/src/hal/realtek/hal_flashVars_realtek.c
SRC_C += $(OBK_DIR)/src/hal/realtek/hal_generic_realtek.c
SRC_C += $(OBK_DIR)/src/hal/realtek/hal_pins_realtek.c
SRC_C += $(OBK_DIR)/src/hal/realtek/hal_wifi_realtek.c
-SRC_C += $(OBK_DIR)/src/hal/generic/hal_adc_generic.c
-SRC_C += $(OBK_DIR)/src/hal/generic/hal_flashConfig_generic.c
-SRC_C += $(OBK_DIR)/src/hal/generic/hal_flashVars_generic.c
-SRC_C += $(OBK_DIR)/src/hal/generic/hal_generic.c
-SRC_C += $(OBK_DIR)/src/hal/generic/hal_main_generic.c
-SRC_C += $(OBK_DIR)/src/hal/generic/hal_pins_generic.c
-SRC_C += $(OBK_DIR)/src/hal/generic/hal_wifi_generic.c
-SRC_C += $(OBK_DIR)/src/hal/generic/hal_uart_generic.c
-SRC_C += $(OBK_DIR)/src/httpserver/hass.c
-SRC_C += $(OBK_DIR)/src/httpserver/http_basic_auth.c
-SRC_C += $(OBK_DIR)/src/httpserver/http_fns.c
-SRC_C += $(OBK_DIR)/src/httpserver/http_tcp_server.c
-SRC_C += $(OBK_DIR)/src/httpserver/new_tcp_server.c
-SRC_C += $(OBK_DIR)/src/httpserver/json_interface.c
-SRC_C += $(OBK_DIR)/src/httpserver/new_http.c
-SRC_C += $(OBK_DIR)/src/httpserver/rest_interface.c
-SRC_C += $(OBK_DIR)/src/mqtt/new_mqtt_deduper.c
-SRC_C += $(OBK_DIR)/src/jsmn/jsmn.c
-SRC_C += $(OBK_DIR)/src/logging/logging.c
-SRC_C += $(OBK_DIR)/src/mqtt/new_mqtt.c
-SRC_C += $(OBK_DIR)/src/new_cfg.c
-SRC_C += $(OBK_DIR)/src/new_common.c
-SRC_C += $(OBK_DIR)/src/new_ping.c
-SRC_C += $(OBK_DIR)/src/new_pins.c
-SRC_C += $(OBK_DIR)/src/rgb2hsv.c
-SRC_C += $(OBK_DIR)/src/tiny_crc8.c
-SRC_C += $(OBK_DIR)/src/user_main.c
-#SRC_C += $(OBK_DIR)/src/cmnds/cmd_send.c
-SRC_C += $(OBK_DIR)/src/driver/drv_tclAC.c
-SRC_C += $(OBK_DIR)/src/driver/drv_adcButton.c
-SRC_C += $(OBK_DIR)/src/driver/drv_adcSmoother.c
-SRC_C += $(OBK_DIR)/src/driver/drv_aht2x.c
-SRC_C += $(OBK_DIR)/src/driver/drv_battery.c
-SRC_C += $(OBK_DIR)/src/driver/drv_bl_shared.c
-SRC_C += $(OBK_DIR)/src/driver/drv_bl0937.c
-SRC_C += $(OBK_DIR)/src/driver/drv_bl0942.c
-#SRC_C += $(OBK_DIR)/src/driver/drv_bmp280.c
-SRC_C += $(OBK_DIR)/src/driver/drv_bmpi2c.c
-SRC_C += $(OBK_DIR)/src/driver/drv_bp1658cj.c
-SRC_C += $(OBK_DIR)/src/driver/drv_bp5758d.c
-SRC_C += $(OBK_DIR)/src/driver/drv_bridge_driver.c
-SRC_C += $(OBK_DIR)/src/driver/drv_chargingLimit.c
-SRC_C += $(OBK_DIR)/src/driver/drv_charts.c
-SRC_C += $(OBK_DIR)/src/driver/drv_cht8305.c
-SRC_C += $(OBK_DIR)/src/driver/drv_cse7766.c
-SRC_C += $(OBK_DIR)/src/driver/drv_ddp.c
-SRC_C += $(OBK_DIR)/src/driver/drv_debouncer.c
-SRC_C += $(OBK_DIR)/src/driver/drv_dht_internal.c
-SRC_C += $(OBK_DIR)/src/driver/drv_dht.c
-SRC_C += $(OBK_DIR)/src/driver/drv_doorSensorWithDeepSleep.c
-SRC_C += $(OBK_DIR)/src/driver/drv_gn6932.c
-SRC_C += $(OBK_DIR)/src/driver/drv_hd2015.c
-SRC_C += $(OBK_DIR)/src/driver/drv_ht16k33.c
-SRC_C += $(OBK_DIR)/src/driver/drv_httpButtons.c
-SRC_C += $(OBK_DIR)/src/driver/drv_hue.c
-SRC_C += $(OBK_DIR)/src/driver/drv_kp18058.c
-SRC_C += $(OBK_DIR)/src/driver/drv_kp18068.c
-SRC_C += $(OBK_DIR)/src/driver/drv_max72xx_clock.c
-SRC_C += $(OBK_DIR)/src/driver/drv_max72xx_internal.c
-SRC_C += $(OBK_DIR)/src/driver/drv_max72xx_single.c
-SRC_C += $(OBK_DIR)/src/driver/drv_mcp9808.c
-SRC_C += $(OBK_DIR)/src/driver/drv_ntp_events.c
-SRC_C += $(OBK_DIR)/src/driver/drv_ntp.c
-SRC_C += $(OBK_DIR)/src/driver/drv_pt6523.c
-SRC_C += $(OBK_DIR)/src/driver/drv_pwm_groups.c
-SRC_C += $(OBK_DIR)/src/driver/drv_pwmToggler.c
-SRC_C += $(OBK_DIR)/src/driver/drv_pwrCal.c
-SRC_C += $(OBK_DIR)/src/driver/drv_rn8209.c
-SRC_C += $(OBK_DIR)/src/driver/drv_sgp.c
-SRC_C += $(OBK_DIR)/src/driver/drv_shiftRegister.c
-SRC_C += $(OBK_DIR)/src/driver/drv_sht3x.c
-#SRC_C += $(OBK_DIR)/src/driver/drv_sm15155e.c
-#SRC_C += $(OBK_DIR)/src/driver/drv_sm16703P.c
-SRC_C += $(OBK_DIR)/src/driver/drv_sm2135.c
-SRC_C += $(OBK_DIR)/src/driver/drv_sm2235.c
-SRC_C += $(OBK_DIR)/src/driver/drv_soft_i2c.c
-#SRC_C += $(OBK_DIR)/src/driver/drv_soft_spi.c
-#SRC_C += $(OBK_DIR)/src/driver/drv_spi_flash.c
-#SRC_C += $(OBK_DIR)/src/driver/drv_spi.c
-#SRC_C += $(OBK_DIR)/src/driver/drv_spidma.c
-SRC_C += $(OBK_DIR)/src/driver/drv_ssdp.c
-SRC_C += $(OBK_DIR)/src/driver/drv_tasmotaDeviceGroups.c
-SRC_C += $(OBK_DIR)/src/driver/drv_test_drivers.c
-SRC_C += $(OBK_DIR)/src/driver/drv_textScroller.c
-SRC_C += $(OBK_DIR)/src/driver/drv_tm_gn_display_shared.c
-SRC_C += $(OBK_DIR)/src/driver/drv_tm1637.c
-SRC_C += $(OBK_DIR)/src/driver/drv_tm1638.c
-SRC_C += $(OBK_DIR)/src/driver/drv_tuyaMCU.c
-SRC_C += $(OBK_DIR)/src/driver/drv_tuyaMCUSensor.c
-SRC_C += $(OBK_DIR)/src/driver/drv_uart.c
-SRC_C += $(OBK_DIR)/src/driver/drv_ucs1912.c
-SRC_C += $(OBK_DIR)/src/driver/drv_wemo.c
-SRC_C += $(OBK_DIR)/src/driver/drv_ds1820_simple.c
-SRC_C += $(OBK_DIR)/src/driver/drv_uart_tcp.c
-#SRC_C += $(OBK_DIR)/src/httpclient/http_client.c
-#SRC_C += $(OBK_DIR)/src/httpclient/utils_net.c
-#SRC_C += $(OBK_DIR)/src/httpclient/utils_timer.c
-SRC_C += $(OBK_DIR)/src/i2c/drv_i2c_lcd_pcf8574t.c
-SRC_C += $(OBK_DIR)/src/i2c/drv_i2c_main.c
-SRC_C += $(OBK_DIR)/src/i2c/drv_i2c_mcp23017.c
-SRC_C += $(OBK_DIR)/src/i2c/drv_i2c_tc74.c
-SRC_C += $(OBK_DIR)/src/littlefs/lfs_util.c
-SRC_C += $(OBK_DIR)/src/littlefs/lfs.c
-SRC_C += $(OBK_DIR)/src/littlefs/our_lfs.c
-#SRC_C += $(OBK_DIR)/src/memory/memtest.c
-#SRC_C += $(OBK_DIR)/src/ota/ota.c
-#SRC_C += $(OBK_DIR)/src/sim/sim_uart.c
+OBK_SRCS = $(OBK_DIR)/src/
+include $(OBK_DIR)/platforms/obk_main.mk
+SRC_C += $(OBKM_SRC)
+CFLAGS += $(OBK_CFLAGS)
SRC_C += $(OBK_DIR)/libraries/easyflash/ports/ef_port.c
SRC_C += $(OBK_DIR)/libraries/easyflash/src/easyflash.c
@@ -154,4 +30,12 @@ SRC_C += $(OBK_DIR)/libraries/easyflash/src/ef_env_legacy.c
SRC_C += $(OBK_DIR)/libraries/easyflash/src/ef_env_legacy_wl.c
SRC_C += $(OBK_DIR)/libraries/easyflash/src/ef_iap.c
SRC_C += $(OBK_DIR)/libraries/easyflash/src/ef_log.c
-SRC_C += $(OBK_DIR)/libraries/easyflash/src/ef_utils.c
\ No newline at end of file
+SRC_C += $(OBK_DIR)/libraries/easyflash/src/ef_utils.c
+
+INCLUDES += -I$(OBK_DIR)/include
+BERRY_MODULEPATH = $(OBK_DIR)/src/berry/modules
+BERRY_SRCPATH = $(OBK_DIR)/libraries/berry/src
+
+include $(OBK_DIR)/libraries/berry.mk
+
+SRC_C += $(BERRY_SRC_C)
diff --git a/platforms/RTL8710B/OpenBeken.mk b/platforms/RTL8710B/OpenBeken.mk
index aff36323d..a154c2ded 100644
--- a/platforms/RTL8710B/OpenBeken.mk
+++ b/platforms/RTL8710B/OpenBeken.mk
@@ -1,33 +1,16 @@
OBK_DIR = ../../../../..
-CFLAGS += -DPLATFORM_RTL8710B -DPLATFORM_REALTEK -DUSER_SW_VER='"$(APP_VERSION)"'
+CFLAGS += -DPLATFORM_RTL8710B -DPLATFORM_REALTEK
INCLUDES += -I$(OBK_DIR)/libraries/easyflash/inc
+#gcc wrap
+SRC_C += ../../../component/soc/realtek/8195a/misc/platform/gcc_wrap.c
+SRC_C += ../../../component/common/api/platform/gcc_wrap_time.c
+
SRC_C += $(OBK_DIR)/platforms/RTL8710B/main.c
SRC_C += $(OBK_DIR)/platforms/RTL8710B/stdlib.c
-SRC_C += $(OBK_DIR)/src/base64/base64.c
-SRC_C += $(OBK_DIR)/src/bitmessage/bitmessage_read.c
-SRC_C += $(OBK_DIR)/src/bitmessage/bitmessage_write.c
-SRC_C += $(OBK_DIR)/src/cJSON/cJSON.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_channels.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_eventHandlers.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_if.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_main.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_newLEDDriver_colors.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_newLEDDriver.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_repeatingEvents.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_script.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_simulatorOnly.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_tasmota.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_tcp.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_test.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_tokenizer.c
-SRC_C += $(OBK_DIR)/src/devicegroups/deviceGroups_read.c
-SRC_C += $(OBK_DIR)/src/devicegroups/deviceGroups_util.c
-SRC_C += $(OBK_DIR)/src/devicegroups/deviceGroups_write.c
-SRC_C += $(OBK_DIR)/src/driver/drv_main.c
#SRC_C += $(OBK_DIR)/src/hal/realtek/rtl8710b/hal_adc_rtl8710b.c
#SRC_C += $(OBK_DIR)/src/hal/realtek/rtl8710b/hal_main_rtl8710b.c
SRC_C += $(OBK_DIR)/src/hal/realtek/rtl8710b/hal_uart_rtl8710b.c
@@ -37,114 +20,11 @@ SRC_C += $(OBK_DIR)/src/hal/realtek/hal_flashVars_realtek.c
SRC_C += $(OBK_DIR)/src/hal/realtek/hal_generic_realtek.c
SRC_C += $(OBK_DIR)/src/hal/realtek/hal_pins_realtek.c
SRC_C += $(OBK_DIR)/src/hal/realtek/hal_wifi_realtek.c
-SRC_C += $(OBK_DIR)/src/hal/generic/hal_adc_generic.c
-SRC_C += $(OBK_DIR)/src/hal/generic/hal_flashConfig_generic.c
-SRC_C += $(OBK_DIR)/src/hal/generic/hal_flashVars_generic.c
-SRC_C += $(OBK_DIR)/src/hal/generic/hal_generic.c
-SRC_C += $(OBK_DIR)/src/hal/generic/hal_main_generic.c
-SRC_C += $(OBK_DIR)/src/hal/generic/hal_pins_generic.c
-SRC_C += $(OBK_DIR)/src/hal/generic/hal_wifi_generic.c
-SRC_C += $(OBK_DIR)/src/hal/generic/hal_uart_generic.c
-SRC_C += $(OBK_DIR)/src/httpserver/hass.c
-SRC_C += $(OBK_DIR)/src/httpserver/http_basic_auth.c
-SRC_C += $(OBK_DIR)/src/httpserver/http_fns.c
-SRC_C += $(OBK_DIR)/src/httpserver/http_tcp_server.c
-SRC_C += $(OBK_DIR)/src/httpserver/new_tcp_server.c
-SRC_C += $(OBK_DIR)/src/httpserver/json_interface.c
-SRC_C += $(OBK_DIR)/src/httpserver/new_http.c
-SRC_C += $(OBK_DIR)/src/httpserver/rest_interface.c
-SRC_C += $(OBK_DIR)/src/mqtt/new_mqtt_deduper.c
-SRC_C += $(OBK_DIR)/src/jsmn/jsmn.c
-SRC_C += $(OBK_DIR)/src/logging/logging.c
-SRC_C += $(OBK_DIR)/src/mqtt/new_mqtt.c
-SRC_C += $(OBK_DIR)/src/new_cfg.c
-SRC_C += $(OBK_DIR)/src/new_common.c
-SRC_C += $(OBK_DIR)/src/new_ping.c
-SRC_C += $(OBK_DIR)/src/new_pins.c
-SRC_C += $(OBK_DIR)/src/rgb2hsv.c
-SRC_C += $(OBK_DIR)/src/tiny_crc8.c
-SRC_C += $(OBK_DIR)/src/user_main.c
-#SRC_C += $(OBK_DIR)/src/cmnds/cmd_send.c
-SRC_C += $(OBK_DIR)/src/driver/drv_tclAC.c
-SRC_C += $(OBK_DIR)/src/driver/drv_adcButton.c
-SRC_C += $(OBK_DIR)/src/driver/drv_adcSmoother.c
-SRC_C += $(OBK_DIR)/src/driver/drv_aht2x.c
-SRC_C += $(OBK_DIR)/src/driver/drv_battery.c
-SRC_C += $(OBK_DIR)/src/driver/drv_bl_shared.c
-SRC_C += $(OBK_DIR)/src/driver/drv_bl0937.c
-SRC_C += $(OBK_DIR)/src/driver/drv_bl0942.c
-#SRC_C += $(OBK_DIR)/src/driver/drv_bmp280.c
-SRC_C += $(OBK_DIR)/src/driver/drv_bmpi2c.c
-SRC_C += $(OBK_DIR)/src/driver/drv_bp1658cj.c
-SRC_C += $(OBK_DIR)/src/driver/drv_bp5758d.c
-SRC_C += $(OBK_DIR)/src/driver/drv_bridge_driver.c
-SRC_C += $(OBK_DIR)/src/driver/drv_chargingLimit.c
-SRC_C += $(OBK_DIR)/src/driver/drv_charts.c
-SRC_C += $(OBK_DIR)/src/driver/drv_cht8305.c
-SRC_C += $(OBK_DIR)/src/driver/drv_cse7766.c
-SRC_C += $(OBK_DIR)/src/driver/drv_ddp.c
-SRC_C += $(OBK_DIR)/src/driver/drv_debouncer.c
-SRC_C += $(OBK_DIR)/src/driver/drv_dht_internal.c
-SRC_C += $(OBK_DIR)/src/driver/drv_dht.c
-SRC_C += $(OBK_DIR)/src/driver/drv_doorSensorWithDeepSleep.c
-SRC_C += $(OBK_DIR)/src/driver/drv_gn6932.c
-SRC_C += $(OBK_DIR)/src/driver/drv_hd2015.c
-SRC_C += $(OBK_DIR)/src/driver/drv_ht16k33.c
-SRC_C += $(OBK_DIR)/src/driver/drv_httpButtons.c
-SRC_C += $(OBK_DIR)/src/driver/drv_hue.c
-SRC_C += $(OBK_DIR)/src/driver/drv_kp18058.c
-SRC_C += $(OBK_DIR)/src/driver/drv_kp18068.c
-SRC_C += $(OBK_DIR)/src/driver/drv_max72xx_clock.c
-SRC_C += $(OBK_DIR)/src/driver/drv_max72xx_internal.c
-SRC_C += $(OBK_DIR)/src/driver/drv_max72xx_single.c
-SRC_C += $(OBK_DIR)/src/driver/drv_mcp9808.c
-SRC_C += $(OBK_DIR)/src/driver/drv_ntp_events.c
-SRC_C += $(OBK_DIR)/src/driver/drv_ntp.c
-SRC_C += $(OBK_DIR)/src/driver/drv_pt6523.c
-SRC_C += $(OBK_DIR)/src/driver/drv_pwm_groups.c
-SRC_C += $(OBK_DIR)/src/driver/drv_pwmToggler.c
-SRC_C += $(OBK_DIR)/src/driver/drv_pwrCal.c
-SRC_C += $(OBK_DIR)/src/driver/drv_rn8209.c
-SRC_C += $(OBK_DIR)/src/driver/drv_sgp.c
-SRC_C += $(OBK_DIR)/src/driver/drv_shiftRegister.c
-SRC_C += $(OBK_DIR)/src/driver/drv_sht3x.c
-#SRC_C += $(OBK_DIR)/src/driver/drv_sm15155e.c
-#SRC_C += $(OBK_DIR)/src/driver/drv_sm16703P.c
-SRC_C += $(OBK_DIR)/src/driver/drv_sm2135.c
-SRC_C += $(OBK_DIR)/src/driver/drv_sm2235.c
-SRC_C += $(OBK_DIR)/src/driver/drv_soft_i2c.c
-#SRC_C += $(OBK_DIR)/src/driver/drv_soft_spi.c
-#SRC_C += $(OBK_DIR)/src/driver/drv_spi_flash.c
-#SRC_C += $(OBK_DIR)/src/driver/drv_spi.c
-#SRC_C += $(OBK_DIR)/src/driver/drv_spidma.c
-SRC_C += $(OBK_DIR)/src/driver/drv_ssdp.c
-SRC_C += $(OBK_DIR)/src/driver/drv_tasmotaDeviceGroups.c
-SRC_C += $(OBK_DIR)/src/driver/drv_test_drivers.c
-SRC_C += $(OBK_DIR)/src/driver/drv_textScroller.c
-SRC_C += $(OBK_DIR)/src/driver/drv_tm_gn_display_shared.c
-SRC_C += $(OBK_DIR)/src/driver/drv_tm1637.c
-SRC_C += $(OBK_DIR)/src/driver/drv_tm1638.c
-SRC_C += $(OBK_DIR)/src/driver/drv_tuyaMCU.c
-SRC_C += $(OBK_DIR)/src/driver/drv_tuyaMCUSensor.c
-SRC_C += $(OBK_DIR)/src/driver/drv_uart.c
-SRC_C += $(OBK_DIR)/src/driver/drv_ucs1912.c
-SRC_C += $(OBK_DIR)/src/driver/drv_wemo.c
-SRC_C += $(OBK_DIR)/src/driver/drv_ds1820_simple.c
-SRC_C += $(OBK_DIR)/src/driver/drv_uart_tcp.c
-#SRC_C += $(OBK_DIR)/src/httpclient/http_client.c
-#SRC_C += $(OBK_DIR)/src/httpclient/utils_net.c
-#SRC_C += $(OBK_DIR)/src/httpclient/utils_timer.c
-SRC_C += $(OBK_DIR)/src/i2c/drv_i2c_lcd_pcf8574t.c
-SRC_C += $(OBK_DIR)/src/i2c/drv_i2c_main.c
-SRC_C += $(OBK_DIR)/src/i2c/drv_i2c_mcp23017.c
-SRC_C += $(OBK_DIR)/src/i2c/drv_i2c_tc74.c
-SRC_C += $(OBK_DIR)/src/littlefs/lfs_util.c
-SRC_C += $(OBK_DIR)/src/littlefs/lfs.c
-SRC_C += $(OBK_DIR)/src/littlefs/our_lfs.c
-#SRC_C += $(OBK_DIR)/src/memory/memtest.c
-#SRC_C += $(OBK_DIR)/src/ota/ota.c
-#SRC_C += $(OBK_DIR)/src/sim/sim_uart.c
+OBK_SRCS = $(OBK_DIR)/src/
+include $(OBK_DIR)/platforms/obk_main.mk
+SRC_C += $(OBKM_SRC)
+CFLAGS += $(OBK_CFLAGS)
SRC_C += $(OBK_DIR)/libraries/easyflash/ports/ef_port.c
SRC_C += $(OBK_DIR)/libraries/easyflash/src/easyflash.c
@@ -154,4 +34,12 @@ SRC_C += $(OBK_DIR)/libraries/easyflash/src/ef_env_legacy.c
SRC_C += $(OBK_DIR)/libraries/easyflash/src/ef_env_legacy_wl.c
SRC_C += $(OBK_DIR)/libraries/easyflash/src/ef_iap.c
SRC_C += $(OBK_DIR)/libraries/easyflash/src/ef_log.c
-SRC_C += $(OBK_DIR)/libraries/easyflash/src/ef_utils.c
\ No newline at end of file
+SRC_C += $(OBK_DIR)/libraries/easyflash/src/ef_utils.c
+
+INCLUDES += -I$(OBK_DIR)/include
+BERRY_MODULEPATH = $(OBK_DIR)/src/berry/modules
+BERRY_SRCPATH = $(OBK_DIR)/libraries/berry/src
+
+include $(OBK_DIR)/libraries/berry.mk
+
+SRC_C += $(BERRY_SRC_C)
diff --git a/platforms/RTL8720D/OpenBeken.mk b/platforms/RTL8720D/OpenBeken.mk
index 2b5a006f3..bcc94d5df 100644
--- a/platforms/RTL8720D/OpenBeken.mk
+++ b/platforms/RTL8720D/OpenBeken.mk
@@ -1,30 +1,9 @@
-MODULE_IFLAGS += -DPLATFORM_RTL8720D -DPLATFORM_REALTEK -DUSER_SW_VER='"$(APP_VERSION)"' -Wno-strict-prototypes -Wno-unused-parameter
+MODULE_IFLAGS += -DPLATFORM_RTL8720D -DPLATFORM_REALTEK -Wno-strict-prototypes -Wno-unused-parameter
MODULE_IFLAGS += -I$(EFDIR)/easyflash/inc
CSRC += $(PLDIR)/main.c
-CSRC += base64/base64.c
-CSRC += bitmessage/bitmessage_read.c
-CSRC += bitmessage/bitmessage_write.c
-CSRC += cJSON/cJSON.c
-CSRC += cmnds/cmd_channels.c
-CSRC += cmnds/cmd_eventHandlers.c
-CSRC += cmnds/cmd_if.c
-CSRC += cmnds/cmd_main.c
-CSRC += cmnds/cmd_newLEDDriver_colors.c
-CSRC += cmnds/cmd_newLEDDriver.c
-CSRC += cmnds/cmd_repeatingEvents.c
-CSRC += cmnds/cmd_script.c
-CSRC += cmnds/cmd_simulatorOnly.c
-CSRC += cmnds/cmd_tasmota.c
-CSRC += cmnds/cmd_tcp.c
-CSRC += cmnds/cmd_test.c
-CSRC += cmnds/cmd_tokenizer.c
-CSRC += devicegroups/deviceGroups_read.c
-CSRC += devicegroups/deviceGroups_util.c
-CSRC += devicegroups/deviceGroups_write.c
-CSRC += driver/drv_main.c
#CSRC += hal/realtek/rtl8720d/hal_adc_rtl8710b.c
#CSRC += hal/realtek/rtl8720d/hal_main_rtl8710b.c
CSRC += hal/realtek/rtl8720d/hal_uart_rtl8720d.c
@@ -34,114 +13,11 @@ CSRC += hal/realtek/hal_flashVars_realtek.c
CSRC += hal/realtek/hal_generic_realtek.c
CSRC += hal/realtek/hal_pins_realtek.c
CSRC += hal/realtek/hal_wifi_realtek.c
-CSRC += hal/generic/hal_adc_generic.c
-CSRC += hal/generic/hal_flashConfig_generic.c
-CSRC += hal/generic/hal_flashVars_generic.c
-CSRC += hal/generic/hal_generic.c
-CSRC += hal/generic/hal_main_generic.c
-CSRC += hal/generic/hal_pins_generic.c
-CSRC += hal/generic/hal_wifi_generic.c
-CSRC += hal/generic/hal_uart_generic.c
-CSRC += httpserver/hass.c
-CSRC += httpserver/http_basic_auth.c
-CSRC += httpserver/http_fns.c
-CSRC += httpserver/http_tcp_server.c
-CSRC += httpserver/new_tcp_server.c
-CSRC += httpserver/json_interface.c
-CSRC += httpserver/new_http.c
-CSRC += httpserver/rest_interface.c
-CSRC += mqtt/new_mqtt_deduper.c
-CSRC += jsmn/jsmn.c
-CSRC += logging/logging.c
-CSRC += mqtt/new_mqtt.c
-CSRC += new_cfg.c
-CSRC += new_common.c
-CSRC += new_ping.c
-CSRC += new_pins.c
-CSRC += rgb2hsv.c
-CSRC += tiny_crc8.c
-CSRC += user_main.c
-#CSRC += cmnds/cmd_send.c
-CSRC += driver/drv_tclAC.c
-CSRC += driver/drv_adcButton.c
-CSRC += driver/drv_adcSmoother.c
-CSRC += driver/drv_aht2x.c
-CSRC += driver/drv_battery.c
-CSRC += driver/drv_bl_shared.c
-CSRC += driver/drv_bl0937.c
-CSRC += driver/drv_bl0942.c
-#CSRC += driver/drv_bmp280.c
-CSRC += driver/drv_bmpi2c.c
-CSRC += driver/drv_bp1658cj.c
-CSRC += driver/drv_bp5758d.c
-CSRC += driver/drv_bridge_driver.c
-CSRC += driver/drv_chargingLimit.c
-CSRC += driver/drv_charts.c
-CSRC += driver/drv_cht8305.c
-CSRC += driver/drv_cse7766.c
-CSRC += driver/drv_ddp.c
-CSRC += driver/drv_debouncer.c
-CSRC += driver/drv_dht_internal.c
-CSRC += driver/drv_dht.c
-CSRC += driver/drv_doorSensorWithDeepSleep.c
-CSRC += driver/drv_gn6932.c
-CSRC += driver/drv_hd2015.c
-CSRC += driver/drv_ht16k33.c
-CSRC += driver/drv_httpButtons.c
-CSRC += driver/drv_hue.c
-CSRC += driver/drv_kp18058.c
-CSRC += driver/drv_kp18068.c
-CSRC += driver/drv_max72xx_clock.c
-CSRC += driver/drv_max72xx_internal.c
-CSRC += driver/drv_max72xx_single.c
-CSRC += driver/drv_mcp9808.c
-CSRC += driver/drv_ntp_events.c
-CSRC += driver/drv_ntp.c
-CSRC += driver/drv_pt6523.c
-CSRC += driver/drv_pwm_groups.c
-CSRC += driver/drv_pwmToggler.c
-CSRC += driver/drv_pwrCal.c
-CSRC += driver/drv_rn8209.c
-CSRC += driver/drv_sgp.c
-CSRC += driver/drv_shiftRegister.c
-CSRC += driver/drv_sht3x.c
-#CSRC += driver/drv_sm15155e.c
-#CSRC += driver/drv_sm16703P.c
-CSRC += driver/drv_sm2135.c
-CSRC += driver/drv_sm2235.c
-CSRC += driver/drv_soft_i2c.c
-#CSRC += driver/drv_soft_spi.c
-#CSRC += driver/drv_spi_flash.c
-#CSRC += driver/drv_spi.c
-#CSRC += driver/drv_spidma.c
-CSRC += driver/drv_ssdp.c
-CSRC += driver/drv_tasmotaDeviceGroups.c
-CSRC += driver/drv_test_drivers.c
-CSRC += driver/drv_textScroller.c
-CSRC += driver/drv_tm_gn_display_shared.c
-CSRC += driver/drv_tm1637.c
-CSRC += driver/drv_tm1638.c
-CSRC += driver/drv_tuyaMCU.c
-CSRC += driver/drv_tuyaMCUSensor.c
-CSRC += driver/drv_uart.c
-CSRC += driver/drv_ucs1912.c
-CSRC += driver/drv_wemo.c
-CSRC += driver/drv_ds1820_simple.c
-CSRC += driver/drv_uart_tcp.c
-#CSRC += httpclient/http_client.c
-#CSRC += httpclient/utils_net.c
-#CSRC += httpclient/utils_timer.c
-CSRC += i2c/drv_i2c_lcd_pcf8574t.c
-CSRC += i2c/drv_i2c_main.c
-CSRC += i2c/drv_i2c_mcp23017.c
-CSRC += i2c/drv_i2c_tc74.c
-CSRC += littlefs/lfs_util.c
-CSRC += littlefs/lfs.c
-CSRC += littlefs/our_lfs.c
-#CSRC += memory/memtest.c
-#CSRC += ota/ota.c
-#CSRC += sim/sim_uart.c
+OBK_SRCS =
+include $(EFDIR)/../platforms/obk_main.mk
+CSRC += $(OBKM_SRC)
+MODULE_IFLAGS += $(OBK_CFLAGS)
CSRC += libraries/easyflash/ports/ef_port.c
CSRC += libraries/easyflash/easyflash.c
@@ -151,4 +27,13 @@ CSRC += libraries/easyflash/ef_env_legacy.c
CSRC += libraries/easyflash/ef_env_legacy_wl.c
CSRC += libraries/easyflash/ef_iap.c
CSRC += libraries/easyflash/ef_log.c
-CSRC += libraries/easyflash/ef_utils.c
\ No newline at end of file
+CSRC += libraries/easyflash/ef_utils.c
+
+MODULE_IFLAGS += -I$(EFDIR)/../include
+BERRY_MODULEPATH = berry/modules
+BERRY_SRCPATH = libraries/berry/src
+MODULE_IFLAGS += -I$(EFDIR)/berry/src
+
+include $(EFDIR)/berry.mk
+
+CSRC += $(BERRY_SRC_C)
diff --git a/platforms/RTL8720D/main.c b/platforms/RTL8720D/main.c
index d92a67311..9f2141190 100644
--- a/platforms/RTL8720D/main.c
+++ b/platforms/RTL8720D/main.c
@@ -128,6 +128,8 @@ uint32_t current_fw_idx;
uint8_t flash_size_8720 = 32;
extern int g_sleepfactor;
+__attribute__((weak)) void _fini(void) {}
+
static void obk_task(void* pvParameters)
{
vTaskDelay(50 / portTICK_PERIOD_MS);
diff --git a/platforms/RTL87X0C/OpenBeken.mk b/platforms/RTL87X0C/OpenBeken.mk
index 751c08f98..259ddb2db 100644
--- a/platforms/RTL87X0C/OpenBeken.mk
+++ b/platforms/RTL87X0C/OpenBeken.mk
@@ -1,32 +1,11 @@
OBK_DIR = ../../../../..
-CFLAGS += -DPLATFORM_RTL87X0C -DPLATFORM_REALTEK -DUSER_SW_VER='"$(APP_VERSION)"'
+CFLAGS += -DPLATFORM_RTL87X0C -DPLATFORM_REALTEK
INCLUDES += -I$(OBK_DIR)/libraries/easyflash/inc
SRC_C += ../../../../../platforms/RTL87X0C/main.c
-SRC_C += $(OBK_DIR)/src/base64/base64.c
-SRC_C += $(OBK_DIR)/src/bitmessage/bitmessage_read.c
-SRC_C += $(OBK_DIR)/src/bitmessage/bitmessage_write.c
-SRC_C += $(OBK_DIR)/src/cJSON/cJSON.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_channels.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_eventHandlers.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_if.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_main.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_newLEDDriver_colors.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_newLEDDriver.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_repeatingEvents.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_script.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_simulatorOnly.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_tasmota.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_tcp.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_test.c
-SRC_C += $(OBK_DIR)/src/cmnds/cmd_tokenizer.c
-SRC_C += $(OBK_DIR)/src/devicegroups/deviceGroups_read.c
-SRC_C += $(OBK_DIR)/src/devicegroups/deviceGroups_util.c
-SRC_C += $(OBK_DIR)/src/devicegroups/deviceGroups_write.c
-SRC_C += $(OBK_DIR)/src/driver/drv_main.c
#SRC_C += $(OBK_DIR)/src/hal/realtek/rtl87x0c/hal_adc_rtl87x0c.c
#SRC_C += $(OBK_DIR)/src/hal/realtek/rtl87x0c/hal_main_rtl87x0c.c
SRC_C += $(OBK_DIR)/src/hal/realtek/rtl87x0c/hal_pins_rtl87x0c.c
@@ -36,113 +15,11 @@ SRC_C += $(OBK_DIR)/src/hal/realtek/hal_flashVars_realtek.c
SRC_C += $(OBK_DIR)/src/hal/realtek/hal_generic_realtek.c
SRC_C += $(OBK_DIR)/src/hal/realtek/hal_pins_realtek.c
SRC_C += $(OBK_DIR)/src/hal/realtek/hal_wifi_realtek.c
-SRC_C += $(OBK_DIR)/src/hal/generic/hal_adc_generic.c
-SRC_C += $(OBK_DIR)/src/hal/generic/hal_flashConfig_generic.c
-SRC_C += $(OBK_DIR)/src/hal/generic/hal_flashVars_generic.c
-SRC_C += $(OBK_DIR)/src/hal/generic/hal_generic.c
-SRC_C += $(OBK_DIR)/src/hal/generic/hal_main_generic.c
-SRC_C += $(OBK_DIR)/src/hal/generic/hal_pins_generic.c
-SRC_C += $(OBK_DIR)/src/hal/generic/hal_wifi_generic.c
-SRC_C += $(OBK_DIR)/src/hal/generic/hal_uart_generic.c
-SRC_C += $(OBK_DIR)/src/httpserver/hass.c
-SRC_C += $(OBK_DIR)/src/httpserver/http_basic_auth.c
-SRC_C += $(OBK_DIR)/src/httpserver/http_fns.c
-SRC_C += $(OBK_DIR)/src/httpserver/http_tcp_server.c
-SRC_C += $(OBK_DIR)/src/httpserver/new_tcp_server.c
-SRC_C += $(OBK_DIR)/src/httpserver/json_interface.c
-SRC_C += $(OBK_DIR)/src/httpserver/new_http.c
-SRC_C += $(OBK_DIR)/src/httpserver/rest_interface.c
-SRC_C += $(OBK_DIR)/src/mqtt/new_mqtt_deduper.c
-SRC_C += $(OBK_DIR)/src/jsmn/jsmn.c
-SRC_C += $(OBK_DIR)/src/logging/logging.c
-SRC_C += $(OBK_DIR)/src/mqtt/new_mqtt.c
-SRC_C += $(OBK_DIR)/src/new_cfg.c
-SRC_C += $(OBK_DIR)/src/new_common.c
-SRC_C += $(OBK_DIR)/src/new_ping.c
-SRC_C += $(OBK_DIR)/src/new_pins.c
-SRC_C += $(OBK_DIR)/src/rgb2hsv.c
-SRC_C += $(OBK_DIR)/src/tiny_crc8.c
-SRC_C += $(OBK_DIR)/src/user_main.c
-#SRC_C += $(OBK_DIR)/src/cmnds/cmd_send.c
-SRC_C += $(OBK_DIR)/src/driver/drv_tclAC.c
-SRC_C += $(OBK_DIR)/src/driver/drv_adcButton.c
-SRC_C += $(OBK_DIR)/src/driver/drv_adcSmoother.c
-SRC_C += $(OBK_DIR)/src/driver/drv_aht2x.c
-SRC_C += $(OBK_DIR)/src/driver/drv_battery.c
-SRC_C += $(OBK_DIR)/src/driver/drv_bl_shared.c
-SRC_C += $(OBK_DIR)/src/driver/drv_bl0937.c
-SRC_C += $(OBK_DIR)/src/driver/drv_bl0942.c
-#SRC_C += $(OBK_DIR)/src/driver/drv_bmp280.c
-SRC_C += $(OBK_DIR)/src/driver/drv_bmpi2c.c
-SRC_C += $(OBK_DIR)/src/driver/drv_bp1658cj.c
-SRC_C += $(OBK_DIR)/src/driver/drv_bp5758d.c
-SRC_C += $(OBK_DIR)/src/driver/drv_bridge_driver.c
-SRC_C += $(OBK_DIR)/src/driver/drv_chargingLimit.c
-SRC_C += $(OBK_DIR)/src/driver/drv_charts.c
-SRC_C += $(OBK_DIR)/src/driver/drv_cht8305.c
-SRC_C += $(OBK_DIR)/src/driver/drv_cse7766.c
-SRC_C += $(OBK_DIR)/src/driver/drv_ddp.c
-SRC_C += $(OBK_DIR)/src/driver/drv_debouncer.c
-SRC_C += $(OBK_DIR)/src/driver/drv_dht_internal.c
-SRC_C += $(OBK_DIR)/src/driver/drv_dht.c
-SRC_C += $(OBK_DIR)/src/driver/drv_doorSensorWithDeepSleep.c
-SRC_C += $(OBK_DIR)/src/driver/drv_gn6932.c
-SRC_C += $(OBK_DIR)/src/driver/drv_hd2015.c
-SRC_C += $(OBK_DIR)/src/driver/drv_ht16k33.c
-SRC_C += $(OBK_DIR)/src/driver/drv_httpButtons.c
-SRC_C += $(OBK_DIR)/src/driver/drv_hue.c
-SRC_C += $(OBK_DIR)/src/driver/drv_kp18058.c
-SRC_C += $(OBK_DIR)/src/driver/drv_kp18068.c
-SRC_C += $(OBK_DIR)/src/driver/drv_max72xx_clock.c
-SRC_C += $(OBK_DIR)/src/driver/drv_max72xx_internal.c
-SRC_C += $(OBK_DIR)/src/driver/drv_max72xx_single.c
-SRC_C += $(OBK_DIR)/src/driver/drv_mcp9808.c
-SRC_C += $(OBK_DIR)/src/driver/drv_ntp_events.c
-SRC_C += $(OBK_DIR)/src/driver/drv_ntp.c
-SRC_C += $(OBK_DIR)/src/driver/drv_pt6523.c
-SRC_C += $(OBK_DIR)/src/driver/drv_pwm_groups.c
-SRC_C += $(OBK_DIR)/src/driver/drv_pwmToggler.c
-SRC_C += $(OBK_DIR)/src/driver/drv_pwrCal.c
-SRC_C += $(OBK_DIR)/src/driver/drv_rn8209.c
-SRC_C += $(OBK_DIR)/src/driver/drv_sgp.c
-SRC_C += $(OBK_DIR)/src/driver/drv_shiftRegister.c
-SRC_C += $(OBK_DIR)/src/driver/drv_sht3x.c
-#SRC_C += $(OBK_DIR)/src/driver/drv_sm15155e.c
-#SRC_C += $(OBK_DIR)/src/driver/drv_sm16703P.c
-SRC_C += $(OBK_DIR)/src/driver/drv_sm2135.c
-SRC_C += $(OBK_DIR)/src/driver/drv_sm2235.c
-SRC_C += $(OBK_DIR)/src/driver/drv_soft_i2c.c
-#SRC_C += $(OBK_DIR)/src/driver/drv_soft_spi.c
-#SRC_C += $(OBK_DIR)/src/driver/drv_spi_flash.c
-#SRC_C += $(OBK_DIR)/src/driver/drv_spi.c
-#SRC_C += $(OBK_DIR)/src/driver/drv_spidma.c
-SRC_C += $(OBK_DIR)/src/driver/drv_ssdp.c
-SRC_C += $(OBK_DIR)/src/driver/drv_tasmotaDeviceGroups.c
-SRC_C += $(OBK_DIR)/src/driver/drv_test_drivers.c
-SRC_C += $(OBK_DIR)/src/driver/drv_textScroller.c
-SRC_C += $(OBK_DIR)/src/driver/drv_tm_gn_display_shared.c
-SRC_C += $(OBK_DIR)/src/driver/drv_tm1637.c
-SRC_C += $(OBK_DIR)/src/driver/drv_tm1638.c
-SRC_C += $(OBK_DIR)/src/driver/drv_tuyaMCU.c
-SRC_C += $(OBK_DIR)/src/driver/drv_tuyaMCUSensor.c
-SRC_C += $(OBK_DIR)/src/driver/drv_uart.c
-SRC_C += $(OBK_DIR)/src/driver/drv_ucs1912.c
-SRC_C += $(OBK_DIR)/src/driver/drv_wemo.c
-SRC_C += $(OBK_DIR)/src/driver/drv_ds1820_simple.c
-SRC_C += $(OBK_DIR)/src/driver/drv_uart_tcp.c
-#SRC_C += $(OBK_DIR)/src/httpclient/http_client.c
-#SRC_C += $(OBK_DIR)/src/httpclient/utils_net.c
-#SRC_C += $(OBK_DIR)/src/httpclient/utils_timer.c
-SRC_C += $(OBK_DIR)/src/i2c/drv_i2c_lcd_pcf8574t.c
-SRC_C += $(OBK_DIR)/src/i2c/drv_i2c_main.c
-SRC_C += $(OBK_DIR)/src/i2c/drv_i2c_mcp23017.c
-SRC_C += $(OBK_DIR)/src/i2c/drv_i2c_tc74.c
-SRC_C += $(OBK_DIR)/src/littlefs/lfs_util.c
-SRC_C += $(OBK_DIR)/src/littlefs/lfs.c
-SRC_C += $(OBK_DIR)/src/littlefs/our_lfs.c
-#SRC_C += $(OBK_DIR)/src/memory/memtest.c
-#SRC_C += $(OBK_DIR)/src/ota/ota.c
-#SRC_C += $(OBK_DIR)/src/sim/sim_uart.c
+
+OBK_SRCS = $(OBK_DIR)/src/
+include $(OBK_DIR)/platforms/obk_main.mk
+SRC_C += $(OBKM_SRC)
+CFLAGS += $(OBK_CFLAGS)
SRC_C += $(OBK_DIR)/libraries/easyflash/ports/ef_port.c
SRC_C += $(OBK_DIR)/libraries/easyflash/src/easyflash.c
@@ -153,3 +30,11 @@ SRC_C += $(OBK_DIR)/libraries/easyflash/src/ef_env_legacy_wl.c
SRC_C += $(OBK_DIR)/libraries/easyflash/src/ef_iap.c
SRC_C += $(OBK_DIR)/libraries/easyflash/src/ef_log.c
SRC_C += $(OBK_DIR)/libraries/easyflash/src/ef_utils.c
+
+INCLUDES += -I$(OBK_DIR)/include
+BERRY_MODULEPATH = $(OBK_DIR)/src/berry/modules
+BERRY_SRCPATH = $(OBK_DIR)/libraries/berry/src
+
+include $(OBK_DIR)/libraries/berry.mk
+
+SRC_C += $(BERRY_SRC_C)
diff --git a/platforms/TR6260/openbeken.mk b/platforms/TR6260/openbeken.mk
index 7b07dad31..5653daa93 100644
--- a/platforms/TR6260/openbeken.mk
+++ b/platforms/TR6260/openbeken.mk
@@ -1,31 +1,9 @@
VPATH += $(OBK_PATH)
VPATH += $(OBK_PATH)/../platforms/TR6260
-DEFINE += -DUSER_SW_VER='"$(APP_VERSION)"'
DEFINE += -DPLATFORM_TR6260
DEFINE += -DTCP_MSL=1000
CSRCS += main.c
-CSRCS += base64/base64.c
-CSRCS += bitmessage/bitmessage_read.c
-CSRCS += bitmessage/bitmessage_write.c
-CSRCS += cJSON/cJSON.c
-CSRCS += cmnds/cmd_channels.c
-CSRCS += cmnds/cmd_eventHandlers.c
-CSRCS += cmnds/cmd_if.c
-CSRCS += cmnds/cmd_main.c
-CSRCS += cmnds/cmd_newLEDDriver_colors.c
-CSRCS += cmnds/cmd_newLEDDriver.c
-CSRCS += cmnds/cmd_repeatingEvents.c
-CSRCS += cmnds/cmd_script.c
-CSRCS += cmnds/cmd_simulatorOnly.c
-CSRCS += cmnds/cmd_tasmota.c
-CSRCS += cmnds/cmd_tcp.c
-CSRCS += cmnds/cmd_test.c
-CSRCS += cmnds/cmd_tokenizer.c
-CSRCS += devicegroups/deviceGroups_read.c
-CSRCS += devicegroups/deviceGroups_util.c
-CSRCS += devicegroups/deviceGroups_write.c
-CSRCS += driver/drv_main.c
CSRCS += hal/tr6260/hal_adc_tr6260.c
CSRCS += hal/tr6260/hal_flashConfig_tr6260.c
CSRCS += hal/tr6260/hal_flashVars_tr6260.c
@@ -33,108 +11,19 @@ CSRCS += hal/tr6260/hal_generic_tr6260.c
CSRCS += hal/tr6260/hal_main_tr6260.c
CSRCS += hal/tr6260/hal_pins_tr6260.c
CSRCS += hal/tr6260/hal_wifi_tr6260.c
-CSRCS += hal/generic/hal_adc_generic.c
-CSRCS += hal/generic/hal_flashConfig_generic.c
-CSRCS += hal/generic/hal_flashVars_generic.c
-CSRCS += hal/generic/hal_generic.c
-CSRCS += hal/generic/hal_main_generic.c
-CSRCS += hal/generic/hal_pins_generic.c
-CSRCS += hal/generic/hal_wifi_generic.c
-CSRCS += hal/generic/hal_uart_generic.c
-CSRCS += httpserver/hass.c
-CSRCS += httpserver/http_basic_auth.c
-CSRCS += httpserver/http_fns.c
-CSRCS += httpserver/http_tcp_server.c
-CSRCS += httpserver/new_tcp_server.c
-CSRCS += httpserver/json_interface.c
-CSRCS += httpserver/new_http.c
-CSRCS += httpserver/rest_interface.c
-CSRCS += mqtt/new_mqtt_deduper.c
-CSRCS += jsmn/jsmn.c
-CSRCS += logging/logging.c
-CSRCS += mqtt/new_mqtt.c
-CSRCS += new_cfg.c
-CSRCS += new_common.c
-CSRCS += new_ping.c
-CSRCS += new_pins.c
-CSRCS += rgb2hsv.c
-CSRCS += tiny_crc8.c
-CSRCS += user_main.c
-#CSRCS += cmnds/cmd_send.c
-CSRCS += driver/drv_adcButton.c
-CSRCS += driver/drv_adcSmoother.c
-CSRCS += driver/drv_aht2x.c
-CSRCS += driver/drv_battery.c
-CSRCS += driver/drv_bl_shared.c
-CSRCS += driver/drv_bl0937.c
-CSRCS += driver/drv_bl0942.c
-#CSRCS += driver/drv_bmp280.c
-CSRCS += driver/drv_bmpi2c.c
-CSRCS += driver/drv_bp1658cj.c
-CSRCS += driver/drv_bp5758d.c
-CSRCS += driver/drv_bridge_driver.c
-CSRCS += driver/drv_chargingLimit.c
-CSRCS += driver/drv_charts.c
-CSRCS += driver/drv_cht8305.c
-CSRCS += driver/drv_cse7766.c
-CSRCS += driver/drv_ddp.c
-CSRCS += driver/drv_debouncer.c
-CSRCS += driver/drv_dht_internal.c
-CSRCS += driver/drv_dht.c
-CSRCS += driver/drv_doorSensorWithDeepSleep.c
-CSRCS += driver/drv_gn6932.c
-CSRCS += driver/drv_hd2015.c
-CSRCS += driver/drv_ht16k33.c
-CSRCS += driver/drv_httpButtons.c
-CSRCS += driver/drv_hue.c
-CSRCS += driver/drv_kp18058.c
-CSRCS += driver/drv_kp18068.c
-CSRCS += driver/drv_max72xx_clock.c
-CSRCS += driver/drv_max72xx_internal.c
-CSRCS += driver/drv_max72xx_single.c
-CSRCS += driver/drv_mcp9808.c
-CSRCS += driver/drv_ntp_events.c
-CSRCS += driver/drv_ntp.c
-CSRCS += driver/drv_pt6523.c
-CSRCS += driver/drv_pwm_groups.c
-CSRCS += driver/drv_pwmToggler.c
-CSRCS += driver/drv_pwrCal.c
-CSRCS += driver/drv_rn8209.c
-CSRCS += driver/drv_sgp.c
-CSRCS += driver/drv_shiftRegister.c
-CSRCS += driver/drv_sht3x.c
-#CSRCS += driver/drv_sm15155e.c
-#CSRCS += driver/drv_sm16703P.c
-CSRCS += driver/drv_sm2135.c
-CSRCS += driver/drv_sm2235.c
-CSRCS += driver/drv_soft_i2c.c
-#CSRCS += driver/drv_soft_spi.c
-#CSRCS += driver/drv_spi_flash.c
-#CSRCS += driver/drv_spi.c
-#CSRCS += driver/drv_spidma.c
-CSRCS += driver/drv_ssdp.c
-CSRCS += driver/drv_tasmotaDeviceGroups.c
-CSRCS += driver/drv_test_drivers.c
-CSRCS += driver/drv_textScroller.c
-CSRCS += driver/drv_tm_gn_display_shared.c
-CSRCS += driver/drv_tm1637.c
-CSRCS += driver/drv_tm1638.c
-CSRCS += driver/drv_tuyaMCU.c
-CSRCS += driver/drv_tuyaMCUSensor.c
-CSRCS += driver/drv_uart.c
-CSRCS += driver/drv_ucs1912.c
-CSRCS += driver/drv_wemo.c
-CSRCS += driver/drv_ds1820_simple.c
-#CSRCS += httpclient/http_client.c
-#CSRCS += httpclient/utils_net.c
-#CSRCS += httpclient/utils_timer.c
-CSRCS += i2c/drv_i2c_lcd_pcf8574t.c
-CSRCS += i2c/drv_i2c_main.c
-CSRCS += i2c/drv_i2c_mcp23017.c
-CSRCS += i2c/drv_i2c_tc74.c
-CSRCS += littlefs/lfs_util.c
-CSRCS += littlefs/lfs.c
-CSRCS += littlefs/our_lfs.c
-#CSRCS += memory/memtest.c
-#CSRCS += ota/ota.c
-#CSRCS += sim/sim_uart.c
+
+OBK_SRCS =
+include $(OBK_PATH)/../platforms/obk_main.mk
+CSRCS += $(OBKM_SRC)
+DEFINE += $(OBK_CFLAGS)
+
+INCLUDE += -I$(OBK_PATH)/../include
+VPATH += $(OBK_PATH)/../
+
+BERRY_MODULEPATH = berry/modules
+BERRY_SRCPATH = libraries/berry/src
+INCLUDE += -I$(OBK_PATH)/../$(BERRY_SRCPATH)
+
+include $(OBK_PATH)/../libraries/berry.mk
+
+CSRCS += $(BERRY_SRC_C)
diff --git a/platforms/W600/Makefile b/platforms/W600/Makefile
index c201feda1..4380640c3 100644
--- a/platforms/W600/Makefile
+++ b/platforms/W600/Makefile
@@ -21,45 +21,6 @@ endif
_SHARED_APP = $(TOP_DIR)/sharedAppContainer/sharedApp/src
-CSRCS += $(_SHARED_APP)/bitmessage/bitmessage_read.c
-CSRCS += $(_SHARED_APP)/bitmessage/bitmessage_write.c
-CSRCS += $(_SHARED_APP)/cmnds/cmd_channels.c
-CSRCS += $(_SHARED_APP)/cmnds/cmd_eventHandlers.c
-CSRCS += $(_SHARED_APP)/cmnds/cmd_main.c
-CSRCS += $(_SHARED_APP)/cmnds/cmd_newLEDDriver.c
-CSRCS += $(_SHARED_APP)/cmnds/cmd_newLEDDriver_colors.c
-CSRCS += $(_SHARED_APP)/cmnds/cmd_repeatingEvents.c
-CSRCS += $(_SHARED_APP)/cmnds/cmd_tasmota.c
-CSRCS += $(_SHARED_APP)/cmnds/cmd_test.c
-CSRCS += $(_SHARED_APP)/cmnds/cmd_tcp.c
-CSRCS += $(_SHARED_APP)/cmnds/cmd_tokenizer.c
-CSRCS += $(_SHARED_APP)/cmnds/cmd_if.c
-CSRCS += $(_SHARED_APP)/cmnds/cmd_script.c
-CSRCS += $(_SHARED_APP)/cJSON/cJSON.c
-CSRCS += $(_SHARED_APP)/base64/base64.c
-CSRCS += $(_SHARED_APP)/devicegroups/deviceGroups_read.c
-CSRCS += $(_SHARED_APP)/devicegroups/deviceGroups_write.c
-CSRCS += $(_SHARED_APP)/devicegroups/deviceGroups_util.c
-CSRCS += $(_SHARED_APP)/driver/drv_aht2x.c
-CSRCS += $(_SHARED_APP)/driver/drv_sht3x.c
-CSRCS += $(_SHARED_APP)/driver/drv_bl0937.c
-CSRCS += $(_SHARED_APP)/driver/drv_bl_shared.c
-CSRCS += $(_SHARED_APP)/driver/drv_ssdp.c
-CSRCS += $(_SHARED_APP)/driver/drv_openWeatherMap.c
-CSRCS += $(_SHARED_APP)/driver/drv_pwrCal.c
-CSRCS += $(_SHARED_APP)/driver/drv_bmp280.c
-CSRCS += $(_SHARED_APP)/driver/drv_bmpi2c.c
-CSRCS += $(_SHARED_APP)/driver/drv_soft_i2c.c
-CSRCS += $(_SHARED_APP)/driver/drv_dht.c
-CSRCS += $(_SHARED_APP)/driver/drv_dht_internal.c
-CSRCS += $(_SHARED_APP)/driver/drv_httpButtons.c
-CSRCS += $(_SHARED_APP)/driver/drv_main.c
-CSRCS += $(_SHARED_APP)/driver/drv_ntp.c
-CSRCS += $(_SHARED_APP)/driver/drv_ds1820_simple.c
-CSRCS += $(_SHARED_APP)/driver/drv_tasmotaDeviceGroups.c
-CSRCS += $(_SHARED_APP)/driver/drv_test_drivers.c
-CSRCS += $(_SHARED_APP)/driver/drv_bridge_driver.c
-CSRCS += $(_SHARED_APP)/driver/drv_charts.c
CSRCS += $(_SHARED_APP)/hal/w800/hal_adc_w800.c
CSRCS += $(_SHARED_APP)/hal/w800/hal_flashConfig_w800.c
CSRCS += $(_SHARED_APP)/hal/w800/hal_flashVars_w800.c
@@ -67,35 +28,13 @@ CSRCS += $(_SHARED_APP)/hal/w800/hal_generic_w800.c
CSRCS += $(_SHARED_APP)/hal/w800/hal_main_w800.c
CSRCS += $(_SHARED_APP)/hal/w800/hal_pins_w800.c
CSRCS += $(_SHARED_APP)/hal/w800/hal_wifi_w800.c
-CSRCS += $(_SHARED_APP)/hal/generic/hal_adc_generic.c
-CSRCS += $(_SHARED_APP)/hal/generic/hal_flashConfig_generic.c
-CSRCS += $(_SHARED_APP)/hal/generic/hal_flashVars_generic.c
-CSRCS += $(_SHARED_APP)/hal/generic/hal_generic.c
-CSRCS += $(_SHARED_APP)/hal/generic/hal_main_generic.c
-CSRCS += $(_SHARED_APP)/hal/generic/hal_pins_generic.c
-CSRCS += $(_SHARED_APP)/hal/generic/hal_wifi_generic.c
-CSRCS += $(_SHARED_APP)/hal/generic/hal_uart_generic.c
-CSRCS += $(_SHARED_APP)/httpserver/hass.c
-CSRCS += $(_SHARED_APP)/httpserver/http_fns.c
-CSRCS += $(_SHARED_APP)/httpserver/http_tcp_server.c
-CSRCS += $(_SHARED_APP)/httpserver/http_basic_auth.c
-CSRCS += $(_SHARED_APP)/httpserver/new_http.c
-CSRCS += $(_SHARED_APP)/httpserver/rest_interface.c
-CSRCS += $(_SHARED_APP)/httpserver/json_interface.c
-CSRCS += $(_SHARED_APP)/logging/logging.c
-CSRCS += $(_SHARED_APP)/jsmn/jsmn.c
-CSRCS += $(_SHARED_APP)/mqtt/new_mqtt.c
-CSRCS += $(_SHARED_APP)/mqtt/new_mqtt_deduper.c
-CSRCS += $(_SHARED_APP)/new_cfg.c
-CSRCS += $(_SHARED_APP)/new_common.c
-CSRCS += $(_SHARED_APP)/new_ping.c
-CSRCS += $(_SHARED_APP)/new_pins.c
-CSRCS += $(_SHARED_APP)/ota/ota.c
-CSRCS += $(_SHARED_APP)/rgb2hsv.c
-CSRCS += $(_SHARED_APP)/tiny_crc8.c
-CSRCS += $(_SHARED_APP)/user_main.c
CSRCS += main.c
+OBK_SRCS = $(_SHARED_APP)/
+include $(_SHARED_APP)/../platforms/obk_main.mk
+CSRCS += $(OBKM_SRC)
+EXTRA_CCFLAGS += $(OBK_CFLAGS)
+
CSRCS += $(TOP_DIR)/src/network/lwip2.0.3/apps/mqtt/mqtt.c
diff --git a/platforms/W800/Makefile b/platforms/W800/Makefile
index 124b2806e..8d754b02b 100644
--- a/platforms/W800/Makefile
+++ b/platforms/W800/Makefile
@@ -8,26 +8,12 @@ GEN_LIBS = libuser$(LIB_EXT)
endif
#DEFINES +=
+EXTRA_CCFLAGS += -DPLATFORM_W800
_SHARED_APP = $(TOP_DIR)/sharedAppContainer/sharedApp/src
$(info _SHARED_APP is $(_SHARED_APP))
-
-CSRCS += $(_SHARED_APP)/cmnds/cmd_channels.c
-CSRCS += $(_SHARED_APP)/cmnds/cmd_eventHandlers.c
-CSRCS += $(_SHARED_APP)/cmnds/cmd_main.c
-CSRCS += $(_SHARED_APP)/cmnds/cmd_newLEDDriver.c
-CSRCS += $(_SHARED_APP)/cmnds/cmd_newLEDDriver_colors.c
-CSRCS += $(_SHARED_APP)/cmnds/cmd_repeatingEvents.c
-CSRCS += $(_SHARED_APP)/cmnds/cmd_tasmota.c
-CSRCS += $(_SHARED_APP)/cmnds/cmd_test.c
-CSRCS += $(_SHARED_APP)/cmnds/cmd_tcp.c
-CSRCS += $(_SHARED_APP)/cmnds/cmd_tokenizer.c
-CSRCS += $(_SHARED_APP)/cmnds/cmd_if.c
-CSRCS += $(_SHARED_APP)/cmnds/cmd_script.c
-CSRCS += $(_SHARED_APP)/cJSON/cJSON.c
-CSRCS += $(_SHARED_APP)/base64/base64.c
CSRCS += $(_SHARED_APP)/hal/w800/hal_adc_w800.c
CSRCS += $(_SHARED_APP)/hal/w800/hal_flashConfig_w800.c
CSRCS += $(_SHARED_APP)/hal/w800/hal_flashVars_w800.c
@@ -36,80 +22,28 @@ CSRCS += $(_SHARED_APP)/hal/w800/hal_main_w800.c
CSRCS += $(_SHARED_APP)/hal/w800/hal_pins_w800.c
CSRCS += $(_SHARED_APP)/hal/w800/hal_wifi_w800.c
CSRCS += $(_SHARED_APP)/hal/w800/hal_uart_w800.c
-CSRCS += $(_SHARED_APP)/hal/generic/hal_adc_generic.c
-CSRCS += $(_SHARED_APP)/hal/generic/hal_flashConfig_generic.c
-CSRCS += $(_SHARED_APP)/hal/generic/hal_flashVars_generic.c
-CSRCS += $(_SHARED_APP)/hal/generic/hal_generic.c
-CSRCS += $(_SHARED_APP)/hal/generic/hal_main_generic.c
-CSRCS += $(_SHARED_APP)/hal/generic/hal_pins_generic.c
-CSRCS += $(_SHARED_APP)/hal/generic/hal_wifi_generic.c
-CSRCS += $(_SHARED_APP)/hal/generic/hal_uart_generic.c
-CSRCS += $(_SHARED_APP)/httpserver/hass.c
-CSRCS += $(_SHARED_APP)/httpserver/http_fns.c
-CSRCS += $(_SHARED_APP)/httpserver/http_tcp_server.c
-CSRCS += $(_SHARED_APP)/httpserver/http_basic_auth.c
-CSRCS += $(_SHARED_APP)/httpserver/new_http.c
-CSRCS += $(_SHARED_APP)/httpserver/rest_interface.c
-CSRCS += $(_SHARED_APP)/httpserver/json_interface.c
-CSRCS += $(_SHARED_APP)/logging/logging.c
-CSRCS += $(_SHARED_APP)/jsmn/jsmn.c
-CSRCS += $(_SHARED_APP)/mqtt/new_mqtt.c
-CSRCS += $(_SHARED_APP)/mqtt/new_mqtt_deduper.c
-CSRCS += $(_SHARED_APP)/new_cfg.c
-CSRCS += $(_SHARED_APP)/new_common.c
-CSRCS += $(_SHARED_APP)/new_ping.c
-CSRCS += $(_SHARED_APP)/new_pins.c
-CSRCS += $(_SHARED_APP)/rgb2hsv.c
-CSRCS += $(_SHARED_APP)/tiny_crc8.c
-CSRCS += $(_SHARED_APP)/driver/drv_aht2x.c
-CSRCS += $(_SHARED_APP)/driver/drv_sht3x.c
-CSRCS += $(_SHARED_APP)/driver/drv_adcButton.c
-CSRCS += $(_SHARED_APP)/driver/drv_adcSmoother.c
-CSRCS += $(_SHARED_APP)/driver/drv_battery.c
-CSRCS += $(_SHARED_APP)/driver/drv_bp1658cj.c
-CSRCS += $(_SHARED_APP)/driver/drv_bp5758d.c
-CSRCS += $(_SHARED_APP)/driver/drv_bmp280.c
-CSRCS += $(_SHARED_APP)/driver/drv_bmpi2c.c
-CSRCS += $(_SHARED_APP)/driver/drv_bridge_driver.c
-CSRCS += $(_SHARED_APP)/driver/drv_cht8305.c
-CSRCS += $(_SHARED_APP)/driver/drv_charts.c
-CSRCS += $(_SHARED_APP)/driver/drv_chargingLimit.c
-CSRCS += $(_SHARED_APP)/driver/drv_ddp.c
-CSRCS += $(_SHARED_APP)/driver/drv_debouncer.c
-CSRCS += $(_SHARED_APP)/driver/drv_doorSensorWithDeepSleep.c
-CSRCS += $(_SHARED_APP)/driver/drv_drawers.c
-CSRCS += $(_SHARED_APP)/driver/drv_freeze.c
-CSRCS += $(_SHARED_APP)/driver/drv_httpButtons.c
-CSRCS += $(_SHARED_APP)/driver/drv_kp18058.c
-CSRCS += $(_SHARED_APP)/driver/drv_kp18068.c
-CSRCS += $(_SHARED_APP)/driver/drv_max72xx_clock.c
-CSRCS += $(_SHARED_APP)/driver/drv_max72xx_internal.c
-CSRCS += $(_SHARED_APP)/driver/drv_max72xx_single.c
-CSRCS += $(_SHARED_APP)/driver/drv_max6675.c
-CSRCS += $(_SHARED_APP)/driver/drv_mcp9808.c
-CSRCS += $(_SHARED_APP)/driver/drv_main.c
-CSRCS += $(_SHARED_APP)/driver/drv_ntp.c
-CSRCS += $(_SHARED_APP)/driver/drv_ntp_events.c
-CSRCS += $(_SHARED_APP)/driver/drv_pt6523.c
-CSRCS += $(_SHARED_APP)/driver/drv_pwmToggler.c
-CSRCS += $(_SHARED_APP)/driver/drv_sgp.c
-CSRCS += $(_SHARED_APP)/driver/drv_soft_i2c.c
-CSRCS += $(_SHARED_APP)/driver/drv_shiftRegister.c
-CSRCS += $(_SHARED_APP)/driver/drv_tasmotaDeviceGroups.c
-CSRCS += $(_SHARED_APP)/driver/drv_ssdp.c
-CSRCS += $(_SHARED_APP)/driver/drv_ds1820_simple.c
-CSRCS += $(_SHARED_APP)/driver/drv_charts.c
-CSRCS += $(_SHARED_APP)/driver/drv_dht.c
-CSRCS += $(_SHARED_APP)/driver/drv_uart.c
-CSRCS += $(_SHARED_APP)/i2c/drv_i2c_main.c
-CSRCS += $(_SHARED_APP)/i2c/drv_i2c_tc74.c
-CSRCS += $(_SHARED_APP)/i2c/drv_i2c_ads1115.c
-CSRCS += $(_SHARED_APP)/i2c/drv_i2c_lcd_pcf8574t.c
-CSRCS += $(_SHARED_APP)/i2c/drv_i2c_mcp23017.c
-CSRCS += $(_SHARED_APP)/driver/drv_dht_internal.c
-CSRCS += $(_SHARED_APP)/driver/drv_openWeatherMap.c
-CSRCS += $(_SHARED_APP)/user_main.c
-CSRCS += main.c
+
+OBK_SRCS = $(_SHARED_APP)/
+include $(_SHARED_APP)/../platforms/obk_main.mk
+CSRCS += $(OBKM_SRC)
+EXTRA_CCFLAGS += $(OBK_CFLAGS)
+
+INCLUDES += -I$(_SHARED_APP)/../libraries/easyflash/inc
+CSRCS += $(_SHARED_APP)/../libraries/easyflash/ports/ef_port.c
+CSRCS += $(_SHARED_APP)/../libraries/easyflash/src/easyflash.c
+CSRCS += $(_SHARED_APP)/../libraries/easyflash/src/ef_env.c
+CSRCS += $(_SHARED_APP)/../libraries/easyflash/src/ef_env_legacy.c
+CSRCS += $(_SHARED_APP)/../libraries/easyflash/src/ef_env_legacy_wl.c
+CSRCS += $(_SHARED_APP)/../libraries/easyflash/src/ef_iap.c
+CSRCS += $(_SHARED_APP)/../libraries/easyflash/src/ef_log.c
+CSRCS += $(_SHARED_APP)/../libraries/easyflash/src/ef_utils.c
+
+INCLUDES += -I$(_SHARED_APP)/../include
+BERRY_MODULEPATH = $(_SHARED_APP)/berry/modules
+BERRY_SRCPATH = $(_SHARED_APP)/../libraries/berry/src
+include $(_SHARED_APP)/../libraries/berry.mk
+
+CSRCS += $(BERRY_SRC_C)
CSRCS += $(TOP_DIR)/src/network/lwip2.0.3/apps/mqtt/mqtt.c
diff --git a/platforms/XR809/Makefile b/platforms/XR809/Makefile
index 60807473f..c5df4299e 100644
--- a/platforms/XR809/Makefile
+++ b/platforms/XR809/Makefile
@@ -1,67 +1,21 @@
-# moved part to include app sources here to be able to edit them outside sdks folder
-SRCS += ../shared/src/new_cfg
-SRCS += ../shared/src/new_pins
-SRCS += ../shared/src/new_common
-SRCS += ../shared/src/rgb2hsv
+OBK_SRCS = ../shared/src/
-SRCS += ../shared/src/httpserver/hass
-SRCS += ../shared/src/httpserver/http_basic_auth
-SRCS += ../shared/src/httpserver/new_http
-SRCS += ../shared/src/httpserver/http_tcp_server
-SRCS += ../shared/src/httpserver/http_fns
-SRCS += ../shared/src/httpserver/rest_interface
-SRCS += ../shared/src/httpserver/json_interface
+SRCS += $(OBK_SRCS)hal/xr809/hal_adc_xr809
+SRCS += $(OBK_SRCS)hal/xr809/hal_wifi_xr809
+SRCS += $(OBK_SRCS)hal/xr809/hal_generic_xr809
+SRCS += $(OBK_SRCS)hal/xr809/hal_main_xr809
+SRCS += $(OBK_SRCS)hal/xr809/hal_pins_xr809
+SRCS += $(OBK_SRCS)hal/xr809/hal_flashConfig_xr809
+SRCS += $(OBK_SRCS)hal/xr809/hal_flashVars_xr809
-SRCS += ../shared/src/logging/logging
-SRCS += ../shared/src/jsmn/jsmn
-SRCS += ../shared/src/mqtt/new_mqtt_deduper
-SRCS += ../shared/src/mqtt/new_mqtt
-SRCS += ../shared/src/tiny_crc8
-SRCS += ../shared/src/new_ping
-
-SRCS += ../shared/src/cmnds/cmd_channels
-SRCS += ../shared/src/cmnds/cmd_eventHandlers
-SRCS += ../shared/src/cmnds/cmd_main
-SRCS += ../shared/src/cmnds/cmd_newLEDDriver
-SRCS += ../shared/src/cmnds/cmd_newLEDDriver_colors
-SRCS += ../shared/src/cmnds/cmd_repeatingEvents
-SRCS += ../shared/src/cmnds/cmd_tasmota
-SRCS += ../shared/src/cmnds/cmd_tcp
-SRCS += ../shared/src/cmnds/cmd_test
-SRCS += ../shared/src/cmnds/cmd_if
-SRCS += ../shared/src/cmnds/cmd_tokenizer
-
-SRCS += ../shared/src/cJSON/cJSON
-SRCS += ../shared/src/base64/base64
-
-SRCS += ../shared/src/driver/drv_bl0942
-SRCS += ../shared/src/driver/drv_main
-SRCS += ../shared/src/driver/drv_ntp
-SRCS += ../shared/src/driver/drv_tuyaMCU
-SRCS += ../shared/src/driver/drv_uart
-
-SRCS += ../shared/src/i2c/drv_i2c_main
-SRCS += ../shared/src/i2c/drv_i2c_mcp23017
-SRCS += ../shared/src/i2c/drv_i2c_tc74
-SRCS += ../shared/src/i2c/drv_i2c_lcd_pcf8574t
-
-SRCS += ../shared/src/hal/xr809/hal_adc_xr809
-SRCS += ../shared/src/hal/xr809/hal_wifi_xr809
-SRCS += ../shared/src/hal/xr809/hal_generic_xr809
-SRCS += ../shared/src/hal/xr809/hal_main_xr809
-SRCS += ../shared/src/hal/xr809/hal_pins_xr809
-SRCS += ../shared/src/hal/xr809/hal_flashConfig_xr809
-SRCS += ../shared/src/hal/xr809/hal_flashVars_xr809
-
-SRCS += ../shared/src/hal/generic/hal_adc_generic
-SRCS += ../shared/src/hal/generic/hal_flashConfig_generic
-SRCS += ../shared/src/hal/generic/hal_flashVars_generic
-SRCS += ../shared/src/hal/generic/hal_generic
-SRCS += ../shared/src/hal/generic/hal_main_generic
-SRCS += ../shared/src/hal/generic/hal_pins_generic
-SRCS += ../shared/src/hal/generic/hal_wifi_generic
-SRCS += ../shared/src/hal/generic/hal_uart_generic
-
-SRCS += ../shared/src/user_main
+include ../shared/platforms/obk_main.mk
+SRCS += $(OBKM_SRC:.c=)
+CC_FLAGS += $(OBK_CFLAGS)
+INCLUDE_PATHS += -I$(BERRY_SRCPATH)
+INCLUDE_PATHS += -I../shared/include
+BERRY_MODULEPATH = $(OBK_SRCS)berry/modules
+BERRY_SRCPATH = ../shared/libraries/berry/src
+include ../shared/libraries/berry.mk
+SRCS += $(BERRY_SRC_C:.c=)
\ No newline at end of file
diff --git a/platforms/obk_main.cmake b/platforms/obk_main.cmake
new file mode 100644
index 000000000..870e2fde6
--- /dev/null
+++ b/platforms/obk_main.cmake
@@ -0,0 +1,146 @@
+set(OBKM_SRC
+ ${OBK_SRCS}user_main.c
+
+ ${OBK_SRCS}base64/base64.c
+ ${OBK_SRCS}bitmessage/bitmessage_read.c
+ ${OBK_SRCS}bitmessage/bitmessage_write.c
+ ${OBK_SRCS}cJSON/cJSON.c
+ ${OBK_SRCS}cmnds/cmd_berry.c
+ ${OBK_SRCS}cmnds/cmd_channels.c
+ ${OBK_SRCS}cmnds/cmd_eventHandlers.c
+ ${OBK_SRCS}cmnds/cmd_if.c
+ ${OBK_SRCS}cmnds/cmd_main.c
+ ${OBK_SRCS}cmnds/cmd_newLEDDriver_colors.c
+ ${OBK_SRCS}cmnds/cmd_newLEDDriver.c
+ ${OBK_SRCS}cmnds/cmd_repeatingEvents.c
+ ${OBK_SRCS}cmnds/cmd_send.c
+ ${OBK_SRCS}cmnds/cmd_script.c
+ ${OBK_SRCS}cmnds/cmd_simulatorOnly.c
+ ${OBK_SRCS}cmnds/cmd_tasmota.c
+ ${OBK_SRCS}cmnds/cmd_tcp.c
+ ${OBK_SRCS}cmnds/cmd_test.c
+ ${OBK_SRCS}cmnds/cmd_tokenizer.c
+ ${OBK_SRCS}devicegroups/deviceGroups_read.c
+ ${OBK_SRCS}devicegroups/deviceGroups_util.c
+ ${OBK_SRCS}devicegroups/deviceGroups_write.c
+ ${OBK_SRCS}hal/generic/hal_adc_generic.c
+ ${OBK_SRCS}hal/generic/hal_flashConfig_generic.c
+ ${OBK_SRCS}hal/generic/hal_flashVars_generic.c
+ ${OBK_SRCS}hal/generic/hal_generic.c
+ ${OBK_SRCS}hal/generic/hal_main_generic.c
+ ${OBK_SRCS}hal/generic/hal_pins_generic.c
+ ${OBK_SRCS}hal/generic/hal_wifi_generic.c
+ ${OBK_SRCS}hal/generic/hal_uart_generic.c
+ ${OBK_SRCS}httpserver/hass.c
+ ${OBK_SRCS}httpserver/http_basic_auth.c
+ ${OBK_SRCS}httpserver/http_fns.c
+ ${OBK_SRCS}httpserver/http_tcp_server.c
+ ${OBK_SRCS}httpserver/new_tcp_server.c
+ ${OBK_SRCS}httpserver/json_interface.c
+ ${OBK_SRCS}httpserver/new_http.c
+ ${OBK_SRCS}httpserver/rest_interface.c
+ ${OBK_SRCS}mqtt/new_mqtt_deduper.c
+ ${OBK_SRCS}jsmn/jsmn.c
+ ${OBK_SRCS}logging/logging.c
+ ${OBK_SRCS}mqtt/new_mqtt.c
+ ${OBK_SRCS}new_cfg.c
+ ${OBK_SRCS}new_common.c
+ ${OBK_SRCS}new_ping.c
+ ${OBK_SRCS}new_pins.c
+ ${OBK_SRCS}rgb2hsv.c
+ ${OBK_SRCS}tiny_crc8.c
+ ${OBK_SRCS}httpclient/http_client.c
+ ${OBK_SRCS}httpclient/utils_net.c
+ ${OBK_SRCS}httpclient/utils_timer.c
+ ${OBK_SRCS}littlefs/lfs_util.c
+ ${OBK_SRCS}littlefs/lfs.c
+ ${OBK_SRCS}littlefs/our_lfs.c
+ ${OBK_SRCS}ota/ota.c
+
+ ${OBK_SRCS}driver/drv_main.c
+
+ ${OBK_SRCS}driver/drv_adcButton.c
+ ${OBK_SRCS}driver/drv_adcSmoother.c
+ ${OBK_SRCS}driver/drv_aht2x.c
+ ${OBK_SRCS}driver/drv_battery.c
+ ${OBK_SRCS}driver/drv_bl0937.c
+ ${OBK_SRCS}driver/drv_bl0942.c
+ ${OBK_SRCS}driver/drv_bl_shared.c
+ ${OBK_SRCS}driver/drv_bmpi2c.c
+ ${OBK_SRCS}driver/drv_bp1658cj.c
+ ${OBK_SRCS}driver/drv_bp5758d.c
+ ${OBK_SRCS}driver/drv_bridge_driver.c
+ ${OBK_SRCS}driver/drv_chargingLimit.c
+ ${OBK_SRCS}driver/drv_charts.c
+ ${OBK_SRCS}driver/drv_cht8305.c
+ ${OBK_SRCS}driver/drv_cse7761.c
+ ${OBK_SRCS}driver/drv_cse7766.c
+ ${OBK_SRCS}driver/drv_ddp.c
+ ${OBK_SRCS}driver/drv_debouncer.c
+ ${OBK_SRCS}driver/drv_dht_internal.c
+ ${OBK_SRCS}driver/drv_dht.c
+ ${OBK_SRCS}driver/drv_drawers.c
+ ${OBK_SRCS}driver/drv_doorSensorWithDeepSleep.c
+ ${OBK_SRCS}driver/drv_ds1820_simple.c
+ ${OBK_SRCS}driver/drv_freeze.c
+ ${OBK_SRCS}driver/drv_gn6932.c
+ ${OBK_SRCS}driver/drv_hd2015.c
+ ${OBK_SRCS}driver/drv_hgs02.c
+ ${OBK_SRCS}driver/drv_ht16k33.c
+ ${OBK_SRCS}driver/drv_httpButtons.c
+ ${OBK_SRCS}driver/drv_hue.c
+ ${OBK_SRCS}driver/drv_ir2.c
+ ${OBK_SRCS}driver/drv_kp18058.c
+ ${OBK_SRCS}driver/drv_kp18068.c
+ ${OBK_SRCS}driver/drv_max6675.c
+ ${OBK_SRCS}driver/drv_max72xx_clock.c
+ ${OBK_SRCS}driver/drv_max72xx_internal.c
+ ${OBK_SRCS}driver/drv_max72xx_single.c
+ ${OBK_SRCS}driver/drv_mcp9808.c
+ ${OBK_SRCS}driver/drv_ntp.c
+ ${OBK_SRCS}driver/drv_ntp_events.c
+ ${OBK_SRCS}driver/drv_openWeatherMap.c
+ ${OBK_SRCS}driver/drv_pir.c
+ ${OBK_SRCS}driver/drv_pixelAnim.c
+ ${OBK_SRCS}driver/drv_pt6523.c
+ ${OBK_SRCS}driver/drv_pwm_groups.c
+ ${OBK_SRCS}driver/drv_pwmToggler.c
+ ${OBK_SRCS}driver/drv_pwrCal.c
+ ${OBK_SRCS}driver/drv_rn8209.c
+ ${OBK_SRCS}driver/drv_sgp.c
+ ${OBK_SRCS}driver/drv_shiftRegister.c
+ ${OBK_SRCS}driver/drv_sht3x.c
+ ${OBK_SRCS}driver/drv_sm2135.c
+ ${OBK_SRCS}driver/drv_sm2235.c
+ ${OBK_SRCS}driver/drv_soft_i2c.c
+ ${OBK_SRCS}driver/drv_soft_spi.c
+ ${OBK_SRCS}driver/drv_spi.c
+ ${OBK_SRCS}driver/drv_spiLED.c
+ ${OBK_SRCS}driver/drv_spi_flash.c
+ ${OBK_SRCS}driver/drv_spidma.c
+ ${OBK_SRCS}driver/drv_ssdp.c
+ ${OBK_SRCS}driver/drv_tasmotaDeviceGroups.c
+ ${OBK_SRCS}driver/drv_test_drivers.c
+ ${OBK_SRCS}driver/drv_textScroller.c
+ ${OBK_SRCS}driver/drv_tm1637.c
+ ${OBK_SRCS}driver/drv_tm1638.c
+ ${OBK_SRCS}driver/drv_tm_gn_display_shared.c
+ ${OBK_SRCS}driver/drv_tuyaMCU.c
+ ${OBK_SRCS}driver/drv_tuyaMCUSensor.c
+ ${OBK_SRCS}driver/drv_uart.c
+ ${OBK_SRCS}driver/drv_uart_tcp.c
+ ${OBK_SRCS}driver/drv_ucs1912.c
+ ${OBK_SRCS}driver/drv_wemo.c
+ ${OBK_SRCS}driver/drv_widget.c
+ ${OBK_SRCS}i2c/drv_i2c_ads1115.c
+ ${OBK_SRCS}i2c/drv_i2c_lcd_pcf8574t.c
+ ${OBK_SRCS}i2c/drv_i2c_main.c
+ ${OBK_SRCS}i2c/drv_i2c_mcp23017.c
+ ${OBK_SRCS}i2c/drv_i2c_tc74.c
+
+# ${OBK_SRCS}driver/drv_bmp280.c
+# ${OBK_SRCS}driver/drv_sm15155e.c
+# ${OBK_SRCS}driver/drv_sm16703P.c
+# ${OBK_SRCS}driver/drv_test.c
+# ${OBK_SRCS}driver/drv_test_charts.c
+)
diff --git a/platforms/obk_main.mk b/platforms/obk_main.mk
new file mode 100644
index 000000000..913cb856e
--- /dev/null
+++ b/platforms/obk_main.mk
@@ -0,0 +1,162 @@
+OBK_CFLAGS =
+ifdef OBK_VARIANT
+OBK_CFLAGS += -DOBK_VARIANT=${OBK_VARIANT}
+endif
+ifdef USER_SW_VER
+OBK_CFLAGS += -DUSER_SW_VER='"${USER_SW_VER}"'
+else
+ifdef APP_VERSION
+OBK_CFLAGS += -DUSER_SW_VER='"${APP_VERSION}"'
+endif
+endif
+
+OBKM_SRC =
+OBKM_SRC_CXX =
+
+OBKM_SRC += $(OBK_SRCS)user_main.c
+
+OBKM_SRC += $(OBK_SRCS)base64/base64.c
+OBKM_SRC += $(OBK_SRCS)bitmessage/bitmessage_read.c
+OBKM_SRC += $(OBK_SRCS)bitmessage/bitmessage_write.c
+OBKM_SRC += $(OBK_SRCS)cJSON/cJSON.c
+OBKM_SRC += $(OBK_SRCS)cmnds/cmd_berry.c
+OBKM_SRC += $(OBK_SRCS)cmnds/cmd_channels.c
+OBKM_SRC += $(OBK_SRCS)cmnds/cmd_eventHandlers.c
+OBKM_SRC += $(OBK_SRCS)cmnds/cmd_if.c
+OBKM_SRC += $(OBK_SRCS)cmnds/cmd_main.c
+OBKM_SRC += $(OBK_SRCS)cmnds/cmd_newLEDDriver_colors.c
+OBKM_SRC += $(OBK_SRCS)cmnds/cmd_newLEDDriver.c
+OBKM_SRC += $(OBK_SRCS)cmnds/cmd_repeatingEvents.c
+OBKM_SRC += $(OBK_SRCS)cmnds/cmd_send.c
+OBKM_SRC += $(OBK_SRCS)cmnds/cmd_script.c
+OBKM_SRC += $(OBK_SRCS)cmnds/cmd_simulatorOnly.c
+OBKM_SRC += $(OBK_SRCS)cmnds/cmd_tasmota.c
+OBKM_SRC += $(OBK_SRCS)cmnds/cmd_tcp.c
+OBKM_SRC += $(OBK_SRCS)cmnds/cmd_test.c
+OBKM_SRC += $(OBK_SRCS)cmnds/cmd_tokenizer.c
+OBKM_SRC += $(OBK_SRCS)devicegroups/deviceGroups_read.c
+OBKM_SRC += $(OBK_SRCS)devicegroups/deviceGroups_util.c
+OBKM_SRC += $(OBK_SRCS)devicegroups/deviceGroups_write.c
+OBKM_SRC += $(OBK_SRCS)hal/generic/hal_adc_generic.c
+OBKM_SRC += $(OBK_SRCS)hal/generic/hal_flashConfig_generic.c
+OBKM_SRC += $(OBK_SRCS)hal/generic/hal_flashVars_generic.c
+OBKM_SRC += $(OBK_SRCS)hal/generic/hal_generic.c
+OBKM_SRC += $(OBK_SRCS)hal/generic/hal_main_generic.c
+OBKM_SRC += $(OBK_SRCS)hal/generic/hal_pins_generic.c
+OBKM_SRC += $(OBK_SRCS)hal/generic/hal_wifi_generic.c
+OBKM_SRC += $(OBK_SRCS)hal/generic/hal_uart_generic.c
+OBKM_SRC += $(OBK_SRCS)httpserver/hass.c
+OBKM_SRC += $(OBK_SRCS)httpserver/http_basic_auth.c
+OBKM_SRC += $(OBK_SRCS)httpserver/http_fns.c
+OBKM_SRC += $(OBK_SRCS)httpserver/http_tcp_server.c
+OBKM_SRC += $(OBK_SRCS)httpserver/new_tcp_server.c
+OBKM_SRC += $(OBK_SRCS)httpserver/json_interface.c
+OBKM_SRC += $(OBK_SRCS)httpserver/new_http.c
+OBKM_SRC += $(OBK_SRCS)httpserver/rest_interface.c
+OBKM_SRC += $(OBK_SRCS)mqtt/new_mqtt_deduper.c
+OBKM_SRC += $(OBK_SRCS)jsmn/jsmn.c
+OBKM_SRC += $(OBK_SRCS)logging/logging.c
+OBKM_SRC += $(OBK_SRCS)mqtt/new_mqtt.c
+OBKM_SRC += $(OBK_SRCS)new_cfg.c
+OBKM_SRC += $(OBK_SRCS)new_common.c
+OBKM_SRC += $(OBK_SRCS)new_ping.c
+OBKM_SRC += $(OBK_SRCS)new_pins.c
+OBKM_SRC += $(OBK_SRCS)rgb2hsv.c
+OBKM_SRC += $(OBK_SRCS)tiny_crc8.c
+OBKM_SRC += $(OBK_SRCS)httpclient/http_client.c
+OBKM_SRC += $(OBK_SRCS)httpclient/utils_net.c
+OBKM_SRC += $(OBK_SRCS)httpclient/utils_timer.c
+OBKM_SRC += $(OBK_SRCS)littlefs/lfs_util.c
+OBKM_SRC += $(OBK_SRCS)littlefs/lfs.c
+OBKM_SRC += $(OBK_SRCS)littlefs/our_lfs.c
+OBKM_SRC += $(OBK_SRCS)ota/ota.c
+
+OBKM_SRC += $(OBK_SRCS)driver/drv_main.c
+
+OBKM_SRC += $(OBK_SRCS)driver/drv_adcButton.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_adcSmoother.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_aht2x.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_battery.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_bl0937.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_bl0942.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_bl_shared.c
+#OBKM_SRC += $(OBK_SRCS)driver/drv_bmp280.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_bmpi2c.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_bp1658cj.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_bp5758d.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_bridge_driver.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_chargingLimit.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_charts.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_cht8305.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_cse7761.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_cse7766.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_ddp.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_debouncer.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_dht_internal.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_dht.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_drawers.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_doorSensorWithDeepSleep.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_ds1820_simple.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_freeze.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_gn6932.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_hd2015.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_hgs02.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_ht16k33.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_httpButtons.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_hue.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_ir2.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_kp18058.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_kp18068.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_max6675.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_max72xx_clock.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_max72xx_internal.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_max72xx_single.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_mcp9808.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_ntp.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_ntp_events.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_openWeatherMap.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_pir.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_pixelAnim.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_pt6523.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_pwm_groups.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_pwmToggler.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_pwrCal.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_rn8209.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_sgp.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_shiftRegister.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_sht3x.c
+#OBKM_SRC += $(OBK_SRCS)driver/drv_sm15155e.c
+#OBKM_SRC += $(OBK_SRCS)driver/drv_sm16703P.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_sm2135.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_sm2235.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_soft_i2c.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_soft_spi.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_spi.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_spiLED.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_spi_flash.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_spidma.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_ssdp.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_tasmotaDeviceGroups.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_tclAC.c
+#OBKM_SRC += $(OBK_SRCS)driver/drv_test.c
+#OBKM_SRC += $(OBK_SRCS)driver/drv_test_charts.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_test_drivers.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_textScroller.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_tm1637.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_tm1638.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_tm_gn_display_shared.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_tuyaMCU.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_tuyaMCUSensor.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_uart.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_uart_tcp.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_ucs1912.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_wemo.c
+OBKM_SRC += $(OBK_SRCS)driver/drv_widget.c
+OBKM_SRC += $(OBK_SRCS)i2c/drv_i2c_ads1115.c
+OBKM_SRC += $(OBK_SRCS)i2c/drv_i2c_lcd_pcf8574t.c
+OBKM_SRC += $(OBK_SRCS)i2c/drv_i2c_main.c
+OBKM_SRC += $(OBK_SRCS)i2c/drv_i2c_mcp23017.c
+OBKM_SRC += $(OBK_SRCS)i2c/drv_i2c_tc74.c
+
+OBKM_SRC_CXX += $(OBK_SRCS)driver/drv_ir.cpp
+OBKM_SRC_CXX += $(OBK_SRCS)driver/drv_ir_new.cpp
\ No newline at end of file
diff --git a/sdk/OpenBL602 b/sdk/OpenBL602
index 90cec6784..848d75326 160000
--- a/sdk/OpenBL602
+++ b/sdk/OpenBL602
@@ -1 +1 @@
-Subproject commit 90cec678441f2e7fd23de6f5f1d090fc8953b34f
+Subproject commit 848d75326cbd80f7ef154d161880d445c17451f8
diff --git a/sdk/OpenW600 b/sdk/OpenW600
index 8111457a6..fcf4cd428 160000
--- a/sdk/OpenW600
+++ b/sdk/OpenW600
@@ -1 +1 @@
-Subproject commit 8111457a6f988e80a9801772d244d1c586590292
+Subproject commit fcf4cd428113415bb298a6ce7ec3bf4dc54dab92
diff --git a/sdk/OpenW800 b/sdk/OpenW800
index 590585c25..87b173ba6 160000
--- a/sdk/OpenW800
+++ b/sdk/OpenW800
@@ -1 +1 @@
-Subproject commit 590585c25a0d83af546a55df6f396a8dea369e65
+Subproject commit 87b173ba65e91cbee7f3401b0f01c0b99944a140
diff --git a/sdk/OpenXR806 b/sdk/OpenXR806
index 78dc3c9f7..0e4c015fb 160000
--- a/sdk/OpenXR806
+++ b/sdk/OpenXR806
@@ -1 +1 @@
-Subproject commit 78dc3c9f70ac6a50b0d3c20cad669d375fd61dc2
+Subproject commit 0e4c015fb0c7c1a5cf20e051a15cc8c2970eb158
diff --git a/sdk/OpenXR809 b/sdk/OpenXR809
index cbe84cb18..f3fe6dd2f 160000
--- a/sdk/OpenXR809
+++ b/sdk/OpenXR809
@@ -1 +1 @@
-Subproject commit cbe84cb187fbf33a17a581e68709dbba33b41d94
+Subproject commit f3fe6dd2f26b02127984775f36fd0f9b8a6ad6a1
diff --git a/sdk/OpenXR872 b/sdk/OpenXR872
index 61e5d3a37..51073378c 160000
--- a/sdk/OpenXR872
+++ b/sdk/OpenXR872
@@ -1 +1 @@
-Subproject commit 61e5d3a375f26833e7cdfd703006a5d5053c4c8b
+Subproject commit 51073378c7002df8a1aab5c5813a95b640992cd8
diff --git a/sdk/beken_freertos_sdk b/sdk/beken_freertos_sdk
index d3930afaa..022f4c2f2 160000
--- a/sdk/beken_freertos_sdk
+++ b/sdk/beken_freertos_sdk
@@ -1 +1 @@
-Subproject commit d3930afaa00ff815caa6b462b7f7a596001d32b6
+Subproject commit 022f4c2f25ac2f9f704f1dcfdf93eb1dbdd3e963
diff --git a/src/berry/be_bindings.c b/src/berry/be_bindings.c
index 39010751e..d1297c434 100644
--- a/src/berry/be_bindings.c
+++ b/src/berry/be_bindings.c
@@ -4,6 +4,7 @@
#include "../new_cfg.h"
#include "../new_pins.h"
#include "be_object.h"
+#include "be_run.h"
int be_SetStartValue(bvm *vm) {
int top = be_top(vm);
@@ -115,86 +116,11 @@ int be_delayUs(bvm *vm) {
be_return_nil(vm);
}
-int be_initI2c(bvm *vm) {
- int top = be_top(vm);
- if (top >= 2 && be_isint(vm, 1) && be_isint(vm, 2)) {
- softI2C_t *i2c = malloc(sizeof(softI2C_t));
- memset(i2c, 0, sizeof(softI2C_t));
- i2c->pin_clk = be_toint(vm, 1);
- i2c->pin_data = be_toint(vm, 2);
- be_pushcomptr(vm, i2c);
- be_newcomobj(vm, i2c, &be_commonobj_destroy_generic);
- be_return(vm);
- }
- be_return_nil(vm);
-}
-
-int be_startI2c(bvm *vm) {
- int top = be_top(vm);
- if (top >= 2 && be_iscomptr(vm, 1) && be_isint(vm, 2)) {
- softI2C_t *i2c = be_tocomptr(vm, 1);
- int addr = be_toint(vm, 2);
- Soft_I2C_Start(i2c, addr);
- }
- be_return_nil(vm);
-}
-
-int be_stopI2c(bvm *vm) {
- int top = be_top(vm);
- if (top >= 1 && be_iscomptr(vm, 1)) {
- softI2C_t *i2c = be_tocomptr(vm, 1);
- Soft_I2C_Stop(i2c);
- }
- be_return_nil(vm);
-}
-
-int be_writeByteI2c(bvm *vm) {
- int top = be_top(vm);
- if (top >= 2 && be_iscomptr(vm, 1) && be_isint(vm, 2)) {
- softI2C_t *i2c = be_tocomptr(vm, 1);
- int data = be_toint(vm, 2);
- Soft_I2C_WriteByte(i2c, data);
- }
- be_return_nil(vm);
-}
-
-int be_readByteI2c(bvm *vm) {
- int top = be_top(vm);
- if (top >= 2 && be_iscomptr(vm, 1) && be_isbool(vm, 2)) {
- softI2C_t *i2c = be_tocomptr(vm, 1);
- int nack = be_tobool(vm, 2);
- uint8_t data = Soft_I2C_ReadByte(i2c, nack);
- be_pushint(vm, data);
- be_return(vm);
- }
- be_return_nil(vm);
-}
-
-int be_readBytesI2c(bvm *vm) {
- int top = be_top(vm);
- if (top >= 2 && be_iscomptr(vm, 1) && be_isint(vm, 2)) {
- softI2C_t *i2c = be_tocomptr(vm, 1);
- int size = be_toint(vm, 2);
- uint8_t *data = malloc(size * sizeof(uint8_t));
- Soft_I2C_ReadBytes(i2c, data, size);
- be_newobject(vm, "list");
- for (int i = 0; i < size; i++) {
- be_pushint(vm, data[i]);
- be_data_push(vm, -2);
- be_pop(vm, 1);
- }
- be_pop(vm, 1);
- free(data);
- be_return(vm);
- }
- be_return_nil(vm);
-}
-
int be_CancelThread(bvm *vm) {
int top = be_top(vm);
if (top == 1 && be_isint(vm, 1)) {
int thread_id = be_toint(vm, 1);
- Berry_StopScripts(thread_id, 0);
+ Berry_StopScripts(thread_id);
be_pushbool(vm, true);
be_return(vm);
}
diff --git a/src/berry/be_bindings.h b/src/berry/be_bindings.h
index ad9406eb5..1ebc2cea8 100644
--- a/src/berry/be_bindings.h
+++ b/src/berry/be_bindings.h
@@ -12,11 +12,4 @@ int be_runCmd(bvm *vm);
int be_rtosDelayMs(bvm *vm);
int be_delayUs(bvm *vm);
-int be_initI2c(bvm *vm);
-int be_deinitI2c(bvm *vm);
-int be_startI2c(bvm *vm);
-int be_stopI2c(bvm *vm);
-int be_writeByteI2c(bvm *vm);
-int be_readByteI2c(bvm *vm);
-int be_readBytesI2c(bvm *vm);
int be_CancelThread(bvm *vm);
diff --git a/src/berry/be_modtab.c b/src/berry/be_modtab.c
index 5ecd5dd1e..cad1a6713 100644
--- a/src/berry/be_modtab.c
+++ b/src/berry/be_modtab.c
@@ -76,10 +76,12 @@ BERRY_LOCAL const bntvmodule_t *const be_module_table[] = {
/* user-defined classes declare start */
/* be_extern_native_class(my_class); */
+be_extern_native_class(Wire);
/* user-defined classes declare end */
BERRY_LOCAL bclass_array be_class_table = {
/* first list are direct classes */
/* &be_native_class(my_class), */
+ &be_native_class(Wire),
NULL, /* do not remove */
};
diff --git a/src/berry/be_run.h b/src/berry/be_run.h
index 92e759c81..da02652df 100644
--- a/src/berry/be_run.h
+++ b/src/berry/be_run.h
@@ -6,5 +6,15 @@ extern const char berryPrelude[];
void be_dumpstack(bvm *vm);
bool berryRun(bvm *vm, const char *prog);
+void berryRunClosure(bvm* vm, int closureId);
+void berryRunClosureBytes(bvm *vm, int closureId, byte *data, int len);
+void berryRunClosureIntBytes(bvm *vm, int closureId, int x, const byte *data, int len);
+void berryRunClosureIntInt(bvm *vm, int closureId, int x, int y);
+void berryRunClosureInt(bvm *vm, int closureId, int x);
+void berryRunClosureStr(bvm *vm, int closureId, const char *x, const char *y);
+void berryRunClosurePtr(bvm *vm, int closureId, void *x);
+void berryRemoveClosure(bvm *vm, int closureId);
void berryResumeClosure(bvm *vm, int closureId);
void berryFreeAllClosures(bvm *vm);
+void Berry_StopScripts(int id);
+int Berry_GetStackSizeCurrent();
\ No newline at end of file
diff --git a/src/berry/modules/be_i2c.c b/src/berry/modules/be_i2c.c
new file mode 100644
index 000000000..3585207b3
--- /dev/null
+++ b/src/berry/modules/be_i2c.c
@@ -0,0 +1,155 @@
+#include
+#include
+#include "be_object.h"
+#include "be_strlib.h"
+#include "be_mem.h"
+#include "be_sys.h"
+#include "../../driver/drv_local.h"
+#include "../../logging/logging.h"
+
+static int m_initI2c(bvm* vm)
+{
+ int top = be_top(vm);
+ if(top >= 2 && be_isint(vm, 1) && be_isint(vm, 2) && be_isint(vm, 3))
+ {
+ softI2C_t* i2c = malloc(sizeof(softI2C_t));
+ memset(i2c, 0, sizeof(softI2C_t));
+ i2c->pin_clk = be_toint(vm, 1);
+ i2c->pin_data = be_toint(vm, 2);
+ if(be_isint(vm, 3))
+ {
+ i2c->address8bit = be_toint(vm, 3) << 1;
+ }
+ else
+ {
+ i2c->address8bit = 0xFF;
+ be_writestring("No address configured, only scan is available");
+ }
+ Soft_I2C_PreInit(i2c);
+ be_pushcomptr(vm, i2c);
+ be_newcomobj(vm, i2c, &be_commonobj_destroy_generic);
+ be_return(vm);
+ }
+ be_return_nil(vm);
+}
+
+static int m_scanI2c(bvm* vm)
+{
+ int top = be_top(vm);
+ if(top >= 1 && be_iscomptr(vm, 1))
+ {
+ softI2C_t* i2c = be_tocomptr(vm, 1);
+ for(int a = 1; a < 128; a++)
+ {
+ Soft_I2C_PreInit(i2c);
+ bool bOk = Soft_I2C_Start(i2c, (a << 1) + 0);
+ Soft_I2C_Stop(i2c);
+ if(bOk)
+ {
+ ADDLOG_INFO(LOG_FEATURE_BERRY, "Address 0x%x (dec %i)\n", a, a);
+ }
+ rtos_delay_milliseconds(5);
+ }
+ }
+ be_return_nil(vm);
+}
+
+static int m_startI2c(bvm* vm)
+{
+ int top = be_top(vm);
+ if(top >= 2 && be_iscomptr(vm, 1) && be_isbool(vm, 2))
+ {
+ softI2C_t* i2c = be_tocomptr(vm, 1);
+ bool isRead = be_tobool(vm, 2);
+ Soft_I2C_Start(i2c, i2c->address8bit | (int)isRead);
+ }
+ be_return_nil(vm);
+}
+
+static int m_stopI2c(bvm* vm)
+{
+ int top = be_top(vm);
+ if(top >= 1 && be_iscomptr(vm, 1))
+ {
+ softI2C_t* i2c = be_tocomptr(vm, 1);
+ Soft_I2C_Stop(i2c);
+ }
+ be_return_nil(vm);
+}
+
+static int m_writeI2c(bvm* vm)
+{
+ int top = be_top(vm);
+ if(top >= 2 && be_iscomptr(vm, 1) && be_isinstance(vm, 2))
+ {
+ softI2C_t* i2c = be_tocomptr(vm, 1);
+ if(be_isinstance(vm, 2))
+ {
+ size_t len;
+ uint8_t* buf = (uint8_t*)be_tobytes(vm, 2, &len);
+ for(int i = 0; i < len; i++)
+ {
+ Soft_I2C_WriteByte(i2c, buf[i]);
+ }
+ }
+ else if(be_isint(vm, 2))
+ {
+ int data = be_toint(vm, 2);
+ Soft_I2C_WriteByte(i2c, data);
+ }
+ }
+ be_return_nil(vm);
+}
+
+static int m_readByteI2c(bvm* vm)
+{
+ int top = be_top(vm);
+ if(top >= 2 && be_iscomptr(vm, 1) && be_isbool(vm, 2))
+ {
+ softI2C_t* i2c = be_tocomptr(vm, 1);
+ int nack = be_tobool(vm, 2);
+ uint8_t data = Soft_I2C_ReadByte(i2c, nack);
+ be_pushint(vm, data);
+ be_return(vm);
+ }
+ be_return_nil(vm);
+}
+
+static int m_readBytesI2c(bvm* vm)
+{
+ int top = be_top(vm);
+ if(top >= 2 && be_iscomptr(vm, 1) && be_isint(vm, 2))
+ {
+ softI2C_t* i2c = be_tocomptr(vm, 1);
+ int size = be_toint(vm, 2);
+ uint8_t* data = malloc(size * sizeof(uint8_t));
+ Soft_I2C_ReadBytes(i2c, data, size);
+ be_newobject(vm, "list");
+ for(int i = 0; i < size; i++)
+ {
+ be_pushint(vm, data[i]);
+ be_data_push(vm, -2);
+ be_pop(vm, 1);
+ }
+ be_pop(vm, 1);
+ free(data);
+ be_return(vm);
+ }
+ be_return_nil(vm);
+}
+
+#include "../../../libraries/berry/generate/be_fixed_be_class_Wire.h"
+
+/* @const_object_info_begin
+
+class be_class_Wire (scope: global, name: Wire) {
+ .p, var
+ init, func(m_initI2c)
+ scan, func(m_scanI2c)
+ start, func(m_startI2c)
+ stop, func(m_stopI2c)
+ read, func(m_readByteI2c)
+ read_bytes, func(m_readBytesI2c)
+ write, func(m_writeI2c)
+}
+@const_object_info_end */
diff --git a/src/cmnds/cmd_berry.c b/src/cmnds/cmd_berry.c
index cb8c12f70..11febee44 100644
--- a/src/cmnds/cmd_berry.c
+++ b/src/cmnds/cmd_berry.c
@@ -203,6 +203,7 @@ int be_addClosure(bvm *vm, const char *eventName, int relation, int reqArg, cons
}
// remove the 2 values we pushed on the stack
be_pop(vm, 2);
+ be_return_nil(vm);
}
int be_poststr(bvm *vm) {
int top = be_top(vm);
@@ -306,6 +307,7 @@ int be_setTimeoutInternal(bvm *vm, int repeats) {
}
int be_setTimeout(bvm *vm) {
be_setTimeoutInternal(vm, 0);
+ return 1;
}
int be_get(bvm *vm) {
char tmpA[64];
@@ -317,13 +319,11 @@ int be_get(bvm *vm) {
CMD_ExpandConstant(name, 0, &ret);
be_pushreal(vm, ret);
be_return(vm);
- return;
}
else {
if (http_getArg(g_currentRequest->url, name, tmpA, sizeof(tmpA))) {
be_pushstring(vm, tmpA);
be_return(vm);
- return;
}
}
}
@@ -332,6 +332,7 @@ int be_get(bvm *vm) {
int be_setInterval(bvm *vm) {
be_setTimeoutInternal(vm, -1);
+ return 1;
}
static int BasicInit() {
@@ -356,12 +357,6 @@ static int BasicInit() {
be_regfunc(g_vm, "rtosDelayMs", be_rtosDelayMs);
be_regfunc(g_vm, "delayUs", be_delayUs);
- be_regfunc(g_vm, "initI2c", be_initI2c);
- be_regfunc(g_vm, "startI2c", be_startI2c);
- be_regfunc(g_vm, "stopI2c", be_stopI2c);
- be_regfunc(g_vm, "writeByteI2c", be_writeByteI2c);
- be_regfunc(g_vm, "readByteI2c", be_readByteI2c);
- be_regfunc(g_vm, "readBytesI2c", be_readBytesI2c);
be_regfunc(g_vm, "cancel", be_CancelThread);
if (!berryRun(g_vm, berryPrelude)) {
return 0;
diff --git a/src/cmnds/cmd_main.c b/src/cmnds/cmd_main.c
index 3e90f34ea..6a1695b07 100644
--- a/src/cmnds/cmd_main.c
+++ b/src/cmnds/cmd_main.c
@@ -131,6 +131,17 @@ static commandResult_t CMD_PowerSave(const void* context, const char* cmd, const
else {
tls_wifi_set_psflag(0, 0); //Disable powersave but don't save to flash
}
+#elif defined(PLATFORM_W800)
+ if(bOn)
+ {
+ uint8_t enable = 1;
+ tls_param_set(TLS_PARAM_ID_PSM, (void*)&enable, false);
+ }
+ else
+ {
+ uint8_t enable = 0;
+ tls_param_set(TLS_PARAM_ID_PSM, (void*)&enable, false);
+ }
#elif defined(PLATFORM_BL602)
if (bOn) {
wifi_mgmr_sta_ps_enter(2);
diff --git a/src/cmnds/cmd_script.c b/src/cmnds/cmd_script.c
index e2b9e60de..978e09d80 100644
--- a/src/cmnds/cmd_script.c
+++ b/src/cmnds/cmd_script.c
@@ -515,6 +515,7 @@ void CMD_Script_ProcessWaitersForEvent(byte eventCode, int argument) {
scriptInstance_t *t;
#if ENABLE_OBK_BERRY
+ extern void CMD_Berry_ProcessWaitersForEvent(byte eventCode, int argument);
CMD_Berry_ProcessWaitersForEvent(eventCode, argument);
#endif
t = g_scriptThreads;
diff --git a/src/configs/obk_config_berry.h b/src/configs/obk_config_berry.h
deleted file mode 100644
index 7d487644b..000000000
--- a/src/configs/obk_config_berry.h
+++ /dev/null
@@ -1,420 +0,0 @@
-//////////////////////////////////////////////////////
-// specify which parts of the app we wish to be active
-//
-#ifndef OBK_CONFIG_H
-#define OBK_CONFIG_H
-
-// Starts with all driver flags undefined
-
-
-// NOTE:
-// Defines for HTTP/HTMP (UI) pages: ENABLE_HTTP_*
-// Defines for drivers from drv_main.c: ENABLE_DRIVER_*
-// Other defines: ENABLE_* , for example: ENABLE_LED_BASIC
-
-#define ENABLE_HTTP_MQTT 1
-#define ENABLE_HTTP_IP 1
-#define ENABLE_HTTP_WEBAPP 1
-#define ENABLE_HTTP_NAMES 1
-#define ENABLE_HTTP_MAC 1
-#define ENABLE_HTTP_FLAGS 1
-#define ENABLE_HTTP_STARTUP 1
-#define ENABLE_HTTP_PING 1
-#define ENABLE_LED_BASIC 1
-
-#if PLATFORM_XR809
-
-#define ENABLE_MQTT 1
-#define NO_CHIP_TEMPERATURE 1
-#define OBK_DISABLE_ALL_DRIVERS 1
-
-#elif PLATFORM_W600
-
-// parse things like $CH1 or $hour etc
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_DRIVER_BMP280 1
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_OPENWEATHERMAP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_MQTT 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DS1820 1
-#define OBK_OTA_EXTENSION ".img"
-#define ENABLE_OBK_SCRIPTING 1
-
-#elif PLATFORM_W800
-
-// parse things like $CH1 or $hour etc
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_DRIVER_OPENWEATHERMAP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_DRIVER_CHARTS 1
-#define ENABLE_MQTT 1
-#define ENABLE_DRIVER_SHT3X 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_NTP 1
-#define ENABLE_DRIVER_BMP280 1
-#define OBK_OTA_EXTENSION ".img"
-#define ENABLE_I2C 1
-#define ENABLE_OBK_SCRIPTING 1
-
-
-#elif WINDOWS
-
-#if LINUX
-
-#else
-
-#define ENABLE_SDL_WINDOW 1
-
-#endif
-
-
-#define ENABLE_DRIVER_PIR 1
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_SEND_POSTANDGET 1
-#define ENABLE_MQTT 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_LITTLEFS 1
-#define ENABLE_NTP 1
-#define ENABLE_NTP_DST 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_BL0942SPI 1
-#define ENABLE_DRIVER_CSE7766 1
-#define ENABLE_DRIVER_TESTPOWER 1
-#define ENABLE_DRIVER_HT16K33 1
-#define ENABLE_DRIVER_MAX72XX 1
-#define ENABLE_DRIVER_TUYAMCU 1
-#define ENABLE_TEST_COMMANDS 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_TEST_DRIVERS 1
-#define ENABLE_DRIVER_BRIDGE 1
-#define ENABLE_DRIVER_HTTPBUTTONS 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_HUE 1
-#define ENABLE_DRIVER_CHARGINGLIMIT 1
-#define ENABLE_DRIVER_BATTERY 1
-#define ENABLE_DRIVER_PT6523 1
-#define ENABLE_DRIVER_MAX6675 1
-#define ENABLE_DRIVER_TEXTSCROLLER 1
-#define ENABLE_NTP_SUNRISE_SUNSET 1
-// parse things like $CH1 or $hour etc
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_SM16703P 1
-#define ENABLE_DRIVER_PIXELANIM 1
-#define ENABLE_DRIVER_TMGN 1
-#define ENABLE_DRIVER_DRAWERS 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DDP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_DRIVER_ADCBUTTON 1
-#define ENABLE_DRIVER_SM15155E 1
-//#define ENABLE_DRIVER_IR 1
-//#define ENABLE_DRIVER_IR2 1
-#define ENABLE_DRIVER_CHARTS 1
-#define ENABLE_DRIVER_WIDGET 1
-#define ENABLE_DRIVER_OPENWEATHERMAP 1
-#define ENABLE_DRIVER_MCP9808 1
-#define ENABLE_DRIVER_KP18058 1
-#define ENABLE_DRIVER_ADCSMOOTHER 1
-#define ENABLE_DRIVER_SGP 1
-#define ENABLE_DRIVER_SHIFTREGISTER 1
-#define ENABLE_OBK_SCRIPTING 1
-#define ENABLE_OBK_BERRY 1
-
-#elif PLATFORM_BL602
-
-
-#define ENABLE_HA_DISCOVERY 1
-// I have enabled drivers on BL602
-#define ENABLE_MQTT 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_LITTLEFS 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_CSE7766 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_FREEZE 0
-#define ENABLE_DRIVER_DHT 1
-// parse things like $CH1 or $hour etc
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DDP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_DRIVER_CHT83XX 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_OBK_SCRIPTING 1
-#define OBK_OTA_EXTENSION ".bin.xz.ota"
-//#define ENABLE_I2C 1
-
-
-#elif PLATFORM_BEKEN
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_SEND_POSTANDGET 1
-#define ENABLE_MQTT 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_LITTLEFS 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_NTP_SUNRISE_SUNSET 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_BL0942SPI 1
-#define ENABLE_DRIVER_CSE7766 1
-//#define ENABLE_DRIVER_BMP280 1
-//#define ENABLE_DRIVER_PT6523 1
-//#define ENABLE_DRIVER_MAX6675 1
-//#define ENABLE_DRIVER_TEXTSCROLLER 1
-#define ENABLE_DRIVER_TUYAMCU 1
-//#define ENABLE_DRIVER_HT16K33 1
-//#define ENABLE_DRIVER_MAX72XX 1
-//#define ENABLE_DRIVER_ADCBUTTON 1
-#define ENABLE_I2C 1
-//#define ENABLE_TEST_COMMANDS 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_DRIVER_BRIDGE 1
-#define ENABLE_DRIVER_HTTPBUTTONS 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_HUE 1
-//#define ENABLE_DRIVER_CHARGINGLIMIT 1
-#define ENABLE_DRIVER_BATTERY 1
-#if PLATFORM_BK7231N && !PLATFORM_BEKEN_NEW
-//#define ENABLE_DRIVER_PWM_GROUP 1
-#define ENABLE_DRIVER_SM16703P 1
-#define ENABLE_DRIVER_PIXELANIM 1
-#define ENABLE_DRIVER_SM15155E 1
-#endif
-// parse things like $CH1 or $hour etc
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_TMGN 0
-#define ENABLE_DRIVER_DRAWERS 0
-#define ENABLE_TASMOTA_JSON 1
-//#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DDP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_DRIVER_IR 1
-//#define ENABLE_DRIVER_IR2 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_CHT83XX 1
-#define ENABLE_DRIVER_KP18058 1
-#define ENABLE_DRIVER_ADCSMOOTHER 1
-#define ENABLE_OBK_SCRIPTING 1
-//#define ENABLE_DRIVER_OPENWEATHERMAP 1
-#define OBK_OTA_EXTENSION ".rbl"
-#if PLATFORM_BEKEN_NEW
-#define NEW_TCP_SERVER 1
-#endif
-#define ENABLE_OBK_BERRY 1
-
-#elif PLATFORM_LN882H
-
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-//#define OBK_DISABLE_ALL_DRIVERS 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_HUE 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_LITTLEFS 1
-#define ENABLE_TEST_COMMANDS 0
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_DRIVER_OPENWEATHERMAP 1
-//#define ENABLE_DRIVER_TMGN 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_OBK_SCRIPTING 1
-#define ENABLE_DRIVER_SSDP 1
-#define OBK_OTA_EXTENSION ".bin"
-#define OBK_OTA_NAME_EXTENSION "_OTA"
-
-#elif PLATFORM_ESPIDF
-
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-#define ENABLE_I2C 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_TUYAMCU 1
-#define ENABLE_LITTLEFS 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_BATTERY 1
-#define ENABLE_DRIVER_CHARTS 1
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_DRIVER_HUE 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_DRIVER_DDP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_DRIVER_CHT83XX 1
-#define ENABLE_OBK_SCRIPTING 1
-#define OBK_OTA_EXTENSION ".img"
-
-#elif PLATFORM_TR6260
-
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-#define NO_CHIP_TEMPERATURE 1
-#define ENABLE_LITTLEFS 1
-#define NEW_TCP_SERVER 1
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_I2C 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_OBK_SCRIPTING 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-
-#define OBK_OTA_EXTENSION ".img"
-
-#elif PLATFORM_RTL87X0C
-
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-#define NO_CHIP_TEMPERATURE 1
-#define ENABLE_LITTLEFS 1
-#define NEW_TCP_SERVER 1
-#define ENABLE_DRIVER_TUYAMCU 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_I2C 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_CHT83XX 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_CSE7766 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-#define OBK_OTA_EXTENSION ".img"
-#define ENABLE_OBK_SCRIPTING 1
-
-#elif PLATFORM_RTL8710B || PLATFORM_RTL8710A || PLATFORM_RTL8720D
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-#define NO_CHIP_TEMPERATURE 1
-#define ENABLE_LITTLEFS 1
-#define NEW_TCP_SERVER 1
-#define ENABLE_DRIVER_TUYAMCU 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_I2C 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_CHT83XX 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_CSE7766 1
-#define ENABLE_DRIVER_UART_TCP 1
-#define OBK_OTA_EXTENSION ".img"
-#define ENABLE_OBK_SCRIPTING 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-#define ENABLE_DRIVER_SSDP 1
-
-#elif PLATFORM_ECR6600
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-#define ENABLE_LITTLEFS 1
-#define NEW_TCP_SERVER 1
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_I2C 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_OBK_SCRIPTING 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_DRIVER_TUYAMCU 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_BL0937 1
-
-#define OBK_OTA_EXTENSION ".img"
-
-#else
-
-//#error "Platform not defined"
-#warning "Platform not defined"
-
-#endif
-
-// if Tasmota DGR driver is enabled,
-// then also enable HTTP config page for that
-#if ENABLE_TASMOTADEVICEGROUPS
-#define ENABLE_HTTP_DGR 1
-#endif
-
-// if power metering chip is enabled, also enable backend for that
-#if ENABLE_DRIVER_BL0937 || ENABLE_DRIVER_BL0942 || ENABLE_DRIVER_BL0942SPI || ENABLE_DRIVER_CSE7766
-#define ENABLE_BL_SHARED 1
-//allow use two BL0942 on two ports +940 bytes
-//#define ENABLE_BL_TWIN 1
-//allow moving average energy calculation +180 bytes
-//#define ENABLE_BL_MOVINGAVG 1
-#endif
-
-// closing OBK_CONFIG_H
-#endif
-
diff --git a/src/configs/obk_config_irRemoteESP.h b/src/configs/obk_config_irRemoteESP.h
deleted file mode 100644
index b52e78a6f..000000000
--- a/src/configs/obk_config_irRemoteESP.h
+++ /dev/null
@@ -1,420 +0,0 @@
-//////////////////////////////////////////////////////
-// specify which parts of the app we wish to be active
-//
-#ifndef OBK_CONFIG_H
-#define OBK_CONFIG_H
-
-// Starts with all driver flags undefined
-
-
-// NOTE:
-// Defines for HTTP/HTMP (UI) pages: ENABLE_HTTP_*
-// Defines for drivers from drv_main.c: ENABLE_DRIVER_*
-// Other defines: ENABLE_* , for example: ENABLE_LED_BASIC
-
-#define ENABLE_HTTP_MQTT 1
-#define ENABLE_HTTP_IP 1
-#define ENABLE_HTTP_WEBAPP 1
-#define ENABLE_HTTP_NAMES 1
-#define ENABLE_HTTP_MAC 1
-#define ENABLE_HTTP_FLAGS 1
-#define ENABLE_HTTP_STARTUP 1
-#define ENABLE_HTTP_PING 1
-
-#if PLATFORM_XR809
-
-#define ENABLE_MQTT 1
-#define NO_CHIP_TEMPERATURE 1
-#define OBK_DISABLE_ALL_DRIVERS 1
-
-#elif PLATFORM_W600
-
-// parse things like $CH1 or $hour etc
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_DRIVER_BMP280 1
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_OPENWEATHERMAP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_MQTT 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DS1820 1
-#define OBK_OTA_EXTENSION ".img"
-#define ENABLE_OBK_SCRIPTING 1
-
-#elif PLATFORM_W800
-
-// parse things like $CH1 or $hour etc
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_DRIVER_OPENWEATHERMAP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_DRIVER_CHARTS 1
-#define ENABLE_MQTT 1
-#define ENABLE_DRIVER_SHT3X 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_NTP 1
-#define ENABLE_DRIVER_BMP280 1
-#define OBK_OTA_EXTENSION ".img"
-#define ENABLE_I2C 1
-#define ENABLE_OBK_SCRIPTING 1
-
-
-#elif WINDOWS
-
-#if LINUX
-
-#else
-
-#define ENABLE_SDL_WINDOW 1
-
-#endif
-
-
-#define ENABLE_DRIVER_PIR 1
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_SEND_POSTANDGET 1
-#define ENABLE_MQTT 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_LITTLEFS 1
-#define ENABLE_NTP 1
-#define ENABLE_NTP_DST 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_BL0942SPI 1
-#define ENABLE_DRIVER_CSE7766 1
-#define ENABLE_DRIVER_TESTPOWER 1
-#define ENABLE_DRIVER_HT16K33 1
-#define ENABLE_DRIVER_MAX72XX 1
-#define ENABLE_DRIVER_TUYAMCU 1
-#define ENABLE_TEST_COMMANDS 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_TEST_DRIVERS 1
-#define ENABLE_DRIVER_BRIDGE 1
-#define ENABLE_DRIVER_HTTPBUTTONS 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_HUE 1
-#define ENABLE_DRIVER_CHARGINGLIMIT 1
-#define ENABLE_DRIVER_BATTERY 1
-#define ENABLE_DRIVER_PT6523 1
-#define ENABLE_DRIVER_MAX6675 1
-#define ENABLE_DRIVER_TEXTSCROLLER 1
-#define ENABLE_NTP_SUNRISE_SUNSET 1
-// parse things like $CH1 or $hour etc
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_SM16703P 1
-#define ENABLE_DRIVER_PIXELANIM 1
-#define ENABLE_DRIVER_TMGN 1
-#define ENABLE_DRIVER_DRAWERS 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DDP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_DRIVER_ADCBUTTON 1
-#define ENABLE_DRIVER_SM15155E 1
-//#define ENABLE_DRIVER_IR 1
-//#define ENABLE_DRIVER_IR2 1
-#define ENABLE_DRIVER_CHARTS 1
-#define ENABLE_DRIVER_WIDGET 1
-#define ENABLE_DRIVER_OPENWEATHERMAP 1
-#define ENABLE_DRIVER_MCP9808 1
-#define ENABLE_DRIVER_KP18058 1
-#define ENABLE_DRIVER_ADCSMOOTHER 1
-#define ENABLE_DRIVER_SGP 1
-#define ENABLE_DRIVER_SHIFTREGISTER 1
-#define ENABLE_OBK_SCRIPTING 1
-#define ENABLE_OBK_BERRY 1
-
-#elif PLATFORM_BL602
-
-
-#define ENABLE_HA_DISCOVERY 1
-// I have enabled drivers on BL602
-#define ENABLE_MQTT 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_LITTLEFS 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_CSE7766 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_FREEZE 0
-#define ENABLE_DRIVER_DHT 1
-// parse things like $CH1 or $hour etc
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DDP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_DRIVER_CHT83XX 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_OBK_SCRIPTING 1
-#define OBK_OTA_EXTENSION ".bin.xz.ota"
-//#define ENABLE_I2C 1
-
-
-#elif PLATFORM_BEKEN
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_SEND_POSTANDGET 1
-#define ENABLE_MQTT 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_LITTLEFS 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_NTP_SUNRISE_SUNSET 1
-//#define ENABLE_DRIVER_LED 1
-//#define ENABLE_DRIVER_BL0937 1
-//#define ENABLE_DRIVER_BL0942 1
-//#define ENABLE_DRIVER_BL0942SPI 1
-//#define ENABLE_DRIVER_CSE7766 1
-//#define ENABLE_DRIVER_BMP280 1
-//#define ENABLE_DRIVER_PT6523 1
-//#define ENABLE_DRIVER_MAX6675 1
-//#define ENABLE_DRIVER_TEXTSCROLLER 1
-//#define ENABLE_DRIVER_TUYAMCU 0
-//#define ENABLE_DRIVER_HT16K33 1
-//#define ENABLE_DRIVER_MAX72XX 1
-//#define ENABLE_DRIVER_ADCBUTTON 1
-//#define ENABLE_I2C 1
-//#define ENABLE_TEST_COMMANDS 1
-#define ENABLE_CALENDAR_EVENTS 1
-//#define ENABLE_DRIVER_BRIDGE 1
-#define ENABLE_DRIVER_HTTPBUTTONS 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_HUE 1
-//#define ENABLE_DRIVER_CHARGINGLIMIT 1
-//#define ENABLE_DRIVER_BATTERY 1
-#if PLATFORM_BK7231N && !PLATFORM_BEKEN_NEW
-//#define ENABLE_DRIVER_PWM_GROUP 1
-//#define ENABLE_DRIVER_SM16703P 1
-//#define ENABLE_DRIVER_PIXELANIM 1
-//#define ENABLE_DRIVER_SM15155E 1
-#endif
-// parse things like $CH1 or $hour etc
-#define ENABLE_EXPAND_CONSTANT 1
-//#define ENABLE_DRIVER_DHT 1
-//#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_TMGN 0
-#define ENABLE_DRIVER_DRAWERS 0
-#define ENABLE_TASMOTA_JSON 1
-//#define ENABLE_DRIVER_BMPI2C 1
-//#define ENABLE_DRIVER_DDP 1
-#define ENABLE_DRIVER_SSDP 1
-//#define ENABLE_DRIVER_IR 1
-#define ENABLE_DRIVER_IRREMOTEESP 1
-//#define ENABLE_DRIVER_IR2 1
-//#define ENABLE_DRIVER_DS1820 1
-//#define ENABLE_DRIVER_CHT83XX 1
-//#define ENABLE_DRIVER_KP18058 1
-//#define ENABLE_DRIVER_ADCSMOOTHER 1
-#define ENABLE_OBK_SCRIPTING 1
-//#define ENABLE_DRIVER_OPENWEATHERMAP 1
-#define OBK_OTA_EXTENSION ".rbl"
-#if PLATFORM_BEKEN_NEW
-#define NEW_TCP_SERVER 1
-#endif
-#define ENABLE_OBK_BERRY 1
-
-#elif PLATFORM_LN882H
-
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-//#define OBK_DISABLE_ALL_DRIVERS 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_HUE 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_LITTLEFS 1
-#define ENABLE_TEST_COMMANDS 0
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_DRIVER_OPENWEATHERMAP 1
-//#define ENABLE_DRIVER_TMGN 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_OBK_SCRIPTING 1
-#define ENABLE_DRIVER_SSDP 1
-#define OBK_OTA_EXTENSION ".bin"
-#define OBK_OTA_NAME_EXTENSION "_OTA"
-
-#elif PLATFORM_ESPIDF
-
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-#define ENABLE_I2C 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_TUYAMCU 1
-#define ENABLE_LITTLEFS 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_BATTERY 1
-#define ENABLE_DRIVER_CHARTS 1
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_DRIVER_HUE 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_DRIVER_DDP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_DRIVER_CHT83XX 1
-#define ENABLE_OBK_SCRIPTING 1
-#define OBK_OTA_EXTENSION ".img"
-
-#elif PLATFORM_TR6260
-
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-#define NO_CHIP_TEMPERATURE 1
-#define ENABLE_LITTLEFS 1
-#define NEW_TCP_SERVER 1
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_I2C 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_OBK_SCRIPTING 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-
-#define OBK_OTA_EXTENSION ".img"
-
-#elif PLATFORM_RTL87X0C
-
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-#define NO_CHIP_TEMPERATURE 1
-#define ENABLE_LITTLEFS 1
-#define NEW_TCP_SERVER 1
-#define ENABLE_DRIVER_TUYAMCU 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_I2C 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_CHT83XX 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_CSE7766 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-#define OBK_OTA_EXTENSION ".img"
-#define ENABLE_OBK_SCRIPTING 1
-
-#elif PLATFORM_RTL8710B || PLATFORM_RTL8710A || PLATFORM_RTL8720D
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-#define NO_CHIP_TEMPERATURE 1
-#define ENABLE_LITTLEFS 1
-#define NEW_TCP_SERVER 1
-#define ENABLE_DRIVER_TUYAMCU 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_I2C 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_CHT83XX 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_CSE7766 1
-#define ENABLE_DRIVER_UART_TCP 1
-#define OBK_OTA_EXTENSION ".img"
-#define ENABLE_OBK_SCRIPTING 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-#define ENABLE_DRIVER_SSDP 1
-
-#elif PLATFORM_ECR6600
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-#define ENABLE_LITTLEFS 1
-#define NEW_TCP_SERVER 1
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_I2C 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_OBK_SCRIPTING 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_DRIVER_TUYAMCU 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_BL0937 1
-
-#define OBK_OTA_EXTENSION ".img"
-
-#else
-
-//#error "Platform not defined"
-#warning "Platform not defined"
-
-#endif
-
-// if Tasmota DGR driver is enabled,
-// then also enable HTTP config page for that
-#if ENABLE_TASMOTADEVICEGROUPS
-#define ENABLE_HTTP_DGR 1
-#endif
-
-// if power metering chip is enabled, also enable backend for that
-#if ENABLE_DRIVER_BL0937 || ENABLE_DRIVER_BL0942 || ENABLE_DRIVER_BL0942SPI || ENABLE_DRIVER_CSE7766
-#define ENABLE_BL_SHARED 1
-//allow use two BL0942 on two ports +940 bytes
-//#define ENABLE_BL_TWIN 1
-//allow moving average energy calculation +180 bytes
-//#define ENABLE_BL_MOVINGAVG 1
-#endif
-
-// closing OBK_CONFIG_H
-#endif
-
diff --git a/src/configs/obk_config_powerMetering.h b/src/configs/obk_config_powerMetering.h
deleted file mode 100644
index b72aaf87e..000000000
--- a/src/configs/obk_config_powerMetering.h
+++ /dev/null
@@ -1,419 +0,0 @@
-//////////////////////////////////////////////////////
-// specify which parts of the app we wish to be active
-//
-#ifndef OBK_CONFIG_H
-#define OBK_CONFIG_H
-
-// Starts with all driver flags undefined
-
-
-// NOTE:
-// Defines for HTTP/HTMP (UI) pages: ENABLE_HTTP_*
-// Defines for drivers from drv_main.c: ENABLE_DRIVER_*
-// Other defines: ENABLE_* , for example: ENABLE_LED_BASIC
-
-#define ENABLE_HTTP_MQTT 1
-#define ENABLE_HTTP_IP 1
-#define ENABLE_HTTP_WEBAPP 1
-#define ENABLE_HTTP_NAMES 1
-#define ENABLE_HTTP_MAC 1
-#define ENABLE_HTTP_FLAGS 1
-#define ENABLE_HTTP_STARTUP 1
-#define ENABLE_HTTP_PING 1
-
-#if PLATFORM_XR809
-
-#define ENABLE_MQTT 1
-#define NO_CHIP_TEMPERATURE 1
-#define OBK_DISABLE_ALL_DRIVERS 1
-
-#elif PLATFORM_W600
-
-// parse things like $CH1 or $hour etc
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_DRIVER_BMP280 1
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_OPENWEATHERMAP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_MQTT 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DS1820 1
-#define OBK_OTA_EXTENSION ".img"
-#define ENABLE_OBK_SCRIPTING 1
-
-#elif PLATFORM_W800
-
-// parse things like $CH1 or $hour etc
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_DRIVER_OPENWEATHERMAP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_DRIVER_CHARTS 1
-#define ENABLE_MQTT 1
-#define ENABLE_DRIVER_SHT3X 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_NTP 1
-#define ENABLE_DRIVER_BMP280 1
-#define OBK_OTA_EXTENSION ".img"
-#define ENABLE_I2C 1
-#define ENABLE_OBK_SCRIPTING 1
-
-
-#elif WINDOWS
-
-#if LINUX
-
-#else
-
-#define ENABLE_SDL_WINDOW 1
-
-#endif
-
-
-#define ENABLE_DRIVER_PIR 1
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_SEND_POSTANDGET 1
-#define ENABLE_MQTT 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_LITTLEFS 1
-#define ENABLE_NTP 1
-#define ENABLE_NTP_DST 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_BL0942SPI 1
-#define ENABLE_DRIVER_CSE7766 1
-#define ENABLE_DRIVER_TESTPOWER 1
-#define ENABLE_DRIVER_HT16K33 1
-#define ENABLE_DRIVER_MAX72XX 1
-#define ENABLE_DRIVER_TUYAMCU 1
-#define ENABLE_TEST_COMMANDS 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_TEST_DRIVERS 1
-#define ENABLE_DRIVER_BRIDGE 1
-#define ENABLE_DRIVER_HTTPBUTTONS 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_HUE 1
-#define ENABLE_DRIVER_CHARGINGLIMIT 1
-#define ENABLE_DRIVER_BATTERY 1
-#define ENABLE_DRIVER_PT6523 1
-#define ENABLE_DRIVER_MAX6675 1
-#define ENABLE_DRIVER_TEXTSCROLLER 1
-#define ENABLE_NTP_SUNRISE_SUNSET 1
-// parse things like $CH1 or $hour etc
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_SM16703P 1
-#define ENABLE_DRIVER_PIXELANIM 1
-#define ENABLE_DRIVER_TMGN 1
-#define ENABLE_DRIVER_DRAWERS 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DDP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_DRIVER_ADCBUTTON 1
-#define ENABLE_DRIVER_SM15155E 1
-//#define ENABLE_DRIVER_IR 1
-//#define ENABLE_DRIVER_IR2 1
-#define ENABLE_DRIVER_CHARTS 1
-#define ENABLE_DRIVER_WIDGET 1
-#define ENABLE_DRIVER_OPENWEATHERMAP 1
-#define ENABLE_DRIVER_MCP9808 1
-#define ENABLE_DRIVER_KP18058 1
-#define ENABLE_DRIVER_ADCSMOOTHER 1
-#define ENABLE_DRIVER_SGP 1
-#define ENABLE_DRIVER_SHIFTREGISTER 1
-#define ENABLE_OBK_SCRIPTING 1
-#define ENABLE_OBK_BERRY 1
-
-#elif PLATFORM_BL602
-
-
-#define ENABLE_HA_DISCOVERY 1
-// I have enabled drivers on BL602
-#define ENABLE_MQTT 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_LITTLEFS 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_CSE7766 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_FREEZE 0
-#define ENABLE_DRIVER_DHT 1
-// parse things like $CH1 or $hour etc
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DDP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_DRIVER_CHT83XX 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_OBK_SCRIPTING 1
-#define OBK_OTA_EXTENSION ".bin.xz.ota"
-//#define ENABLE_I2C 1
-
-
-#elif PLATFORM_BEKEN
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_SEND_POSTANDGET 1
-#define ENABLE_MQTT 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_LITTLEFS 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_NTP_SUNRISE_SUNSET 1
-//#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_BL0942SPI 1
-#define ENABLE_DRIVER_CSE7766 1
-//#define ENABLE_DRIVER_BMP280 1
-//#define ENABLE_DRIVER_PT6523 1
-//#define ENABLE_DRIVER_MAX6675 1
-//#define ENABLE_DRIVER_TEXTSCROLLER 1
-//#define ENABLE_DRIVER_TUYAMCU 1
-//#define ENABLE_DRIVER_HT16K33 1
-//#define ENABLE_DRIVER_MAX72XX 1
-//#define ENABLE_DRIVER_ADCBUTTON 1
-//#define ENABLE_I2C 1
-//#define ENABLE_TEST_COMMANDS 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_DRIVER_BRIDGE 1
-#define ENABLE_DRIVER_HTTPBUTTONS 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_HUE 1
-//#define ENABLE_DRIVER_CHARGINGLIMIT 1
-//#define ENABLE_DRIVER_BATTERY 1
-#if PLATFORM_BK7231N && !PLATFORM_BEKEN_NEW
-//#define ENABLE_DRIVER_PWM_GROUP 1
-//#define ENABLE_DRIVER_SM16703P 1
-//#define ENABLE_DRIVER_PIXELANIM 1
-//#define ENABLE_DRIVER_SM15155E 1
-#endif
-// parse things like $CH1 or $hour etc
-#define ENABLE_EXPAND_CONSTANT 1
-//#define ENABLE_DRIVER_DHT 1
-//#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_TMGN 0
-#define ENABLE_DRIVER_DRAWERS 0
-#define ENABLE_TASMOTA_JSON 1
-//#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DDP 1
-#define ENABLE_DRIVER_SSDP 1
-//#define ENABLE_DRIVER_IR 1
-//#define ENABLE_DRIVER_IR2 1
-//#define ENABLE_DRIVER_DS1820 1
-//#define ENABLE_DRIVER_CHT83XX 1
-//#define ENABLE_DRIVER_KP18058 1
-//#define ENABLE_DRIVER_ADCSMOOTHER 1
-#define ENABLE_OBK_SCRIPTING 1
-//#define ENABLE_DRIVER_OPENWEATHERMAP 1
-#define OBK_OTA_EXTENSION ".rbl"
-#if PLATFORM_BEKEN_NEW
-#define NEW_TCP_SERVER 1
-#endif
-#define ENABLE_OBK_BERRY 1
-
-#elif PLATFORM_LN882H
-
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-//#define OBK_DISABLE_ALL_DRIVERS 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_HUE 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_LITTLEFS 1
-#define ENABLE_TEST_COMMANDS 0
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_DRIVER_OPENWEATHERMAP 1
-//#define ENABLE_DRIVER_TMGN 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_OBK_SCRIPTING 1
-#define ENABLE_DRIVER_SSDP 1
-#define OBK_OTA_EXTENSION ".bin"
-#define OBK_OTA_NAME_EXTENSION "_OTA"
-
-#elif PLATFORM_ESPIDF
-
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-#define ENABLE_I2C 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_TUYAMCU 1
-#define ENABLE_LITTLEFS 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_BATTERY 1
-#define ENABLE_DRIVER_CHARTS 1
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_DRIVER_HUE 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_DRIVER_DDP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_DRIVER_CHT83XX 1
-#define ENABLE_OBK_SCRIPTING 1
-#define OBK_OTA_EXTENSION ".img"
-
-#elif PLATFORM_TR6260
-
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-#define NO_CHIP_TEMPERATURE 1
-#define ENABLE_LITTLEFS 1
-#define NEW_TCP_SERVER 1
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_I2C 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_OBK_SCRIPTING 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-
-#define OBK_OTA_EXTENSION ".img"
-
-#elif PLATFORM_RTL87X0C
-
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-#define NO_CHIP_TEMPERATURE 1
-#define ENABLE_LITTLEFS 1
-#define NEW_TCP_SERVER 1
-#define ENABLE_DRIVER_TUYAMCU 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_I2C 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_CHT83XX 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_CSE7766 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-#define OBK_OTA_EXTENSION ".img"
-#define ENABLE_OBK_SCRIPTING 1
-
-#elif PLATFORM_RTL8710B || PLATFORM_RTL8710A || PLATFORM_RTL8720D
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-#define NO_CHIP_TEMPERATURE 1
-#define ENABLE_LITTLEFS 1
-#define NEW_TCP_SERVER 1
-#define ENABLE_DRIVER_TUYAMCU 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_I2C 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_CHT83XX 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_CSE7766 1
-#define ENABLE_DRIVER_UART_TCP 1
-#define OBK_OTA_EXTENSION ".img"
-#define ENABLE_OBK_SCRIPTING 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-#define ENABLE_DRIVER_SSDP 1
-
-#elif PLATFORM_ECR6600
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-#define ENABLE_LITTLEFS 1
-#define NEW_TCP_SERVER 1
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_I2C 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_OBK_SCRIPTING 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_DRIVER_TUYAMCU 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_BL0937 1
-
-#define OBK_OTA_EXTENSION ".img"
-
-#else
-
-//#error "Platform not defined"
-#warning "Platform not defined"
-
-#endif
-
-// if Tasmota DGR driver is enabled,
-// then also enable HTTP config page for that
-#if ENABLE_TASMOTADEVICEGROUPS
-#define ENABLE_HTTP_DGR 1
-#endif
-
-// if power metering chip is enabled, also enable backend for that
-#if ENABLE_DRIVER_BL0937 || ENABLE_DRIVER_BL0942 || ENABLE_DRIVER_BL0942SPI || ENABLE_DRIVER_CSE7766
-#define ENABLE_BL_SHARED 1
-//allow use two BL0942 on two ports +940 bytes
-//#define ENABLE_BL_TWIN 1
-//allow moving average energy calculation +180 bytes
-//#define ENABLE_BL_MOVINGAVG 1
-#endif
-
-// closing OBK_CONFIG_H
-#endif
-
diff --git a/src/configs/obk_config_sensors.h b/src/configs/obk_config_sensors.h
deleted file mode 100644
index 06994d838..000000000
--- a/src/configs/obk_config_sensors.h
+++ /dev/null
@@ -1,441 +0,0 @@
-//////////////////////////////////////////////////////
-// specify which parts of the app we wish to be active
-//
-#ifndef OBK_CONFIG_H
-#define OBK_CONFIG_H
-
-// Starts with all driver flags undefined
-
-
-// NOTE:
-// Defines for HTTP/HTMP (UI) pages: ENABLE_HTTP_*
-// Defines for drivers from drv_main.c: ENABLE_DRIVER_*
-// Other defines: ENABLE_* , for example: ENABLE_LED_BASIC
-
-#define ENABLE_HTTP_MQTT 1
-#define ENABLE_HTTP_IP 1
-#define ENABLE_HTTP_WEBAPP 1
-#define ENABLE_HTTP_NAMES 1
-#define ENABLE_HTTP_MAC 1
-#define ENABLE_HTTP_FLAGS 1
-#define ENABLE_HTTP_STARTUP 1
-#define ENABLE_HTTP_PING 1
-#define ENABLE_LED_BASIC 0
-
-#if PLATFORM_XR809
-
-#define ENABLE_MQTT 1
-#define NO_CHIP_TEMPERATURE 1
-#define OBK_DISABLE_ALL_DRIVERS 1
-
-#elif PLATFORM_XR872
-
-#define NO_CHIP_TEMPERATURE 1
-#define OBK_DISABLE_ALL_DRIVERS 1
-
-#elif PLATFORM_W600
-
-// parse things like $CH1 or $hour etc
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_DRIVER_BMP280 1
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_OPENWEATHERMAP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_MQTT 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DS1820 1
-#define OBK_OTA_EXTENSION ".img"
-#define ENABLE_OBK_SCRIPTING 1
-
-#elif PLATFORM_W800
-
-// parse things like $CH1 or $hour etc
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_DRIVER_OPENWEATHERMAP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_DRIVER_CHARTS 1
-#define ENABLE_MQTT 1
-#define ENABLE_DRIVER_SHT3X 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_NTP 1
-#define ENABLE_DRIVER_BMP280 1
-#define OBK_OTA_EXTENSION ".img"
-#define ENABLE_I2C 1
-#define ENABLE_OBK_SCRIPTING 1
-
-
-#elif WINDOWS
-
-#if LINUX
-
-#else
-
-#define ENABLE_SDL_WINDOW 1
-
-#endif
-
-
-#define ENABLE_DRIVER_TCL 1
-#define ENABLE_DRIVER_PIR 1
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_SEND_POSTANDGET 1
-#define ENABLE_MQTT 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_LITTLEFS 1
-#define ENABLE_NTP 1
-#define ENABLE_NTP_DST 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_BL0942SPI 1
-#define ENABLE_DRIVER_CSE7766 1
-#define ENABLE_DRIVER_CSE7761 1
-#define ENABLE_DRIVER_TESTPOWER 1
-#define ENABLE_DRIVER_HT16K33 1
-#define ENABLE_DRIVER_MAX72XX 1
-#define ENABLE_DRIVER_TUYAMCU 1
-#define ENABLE_TEST_COMMANDS 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_TEST_DRIVERS 1
-#define ENABLE_DRIVER_BRIDGE 1
-#define ENABLE_DRIVER_HTTPBUTTONS 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_HUE 1
-#define ENABLE_DRIVER_CHARGINGLIMIT 1
-#define ENABLE_DRIVER_BATTERY 1
-#define ENABLE_DRIVER_PT6523 1
-#define ENABLE_DRIVER_MAX6675 1
-#define ENABLE_DRIVER_TEXTSCROLLER 1
-#define ENABLE_NTP_SUNRISE_SUNSET 1
-// parse things like $CH1 or $hour etc
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_SM16703P 1
-#define ENABLE_DRIVER_PIXELANIM 1
-#define ENABLE_DRIVER_TMGN 1
-#define ENABLE_DRIVER_DRAWERS 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DDP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_DRIVER_ADCBUTTON 1
-#define ENABLE_DRIVER_SM15155E 1
-//#define ENABLE_DRIVER_IR 1
-//#define ENABLE_DRIVER_IR2 1
-#define ENABLE_DRIVER_CHARTS 1
-#define ENABLE_DRIVER_WIDGET 1
-#define ENABLE_DRIVER_OPENWEATHERMAP 1
-#define ENABLE_DRIVER_MCP9808 1
-#define ENABLE_DRIVER_KP18058 1
-#define ENABLE_DRIVER_ADCSMOOTHER 1
-#define ENABLE_DRIVER_SGP 1
-#define ENABLE_DRIVER_SHIFTREGISTER 1
-#define ENABLE_OBK_SCRIPTING 1
-#define ENABLE_OBK_BERRY 1
-
-#elif PLATFORM_BL602
-
-
-#define ENABLE_HA_DISCOVERY 1
-// I have enabled drivers on BL602
-#define ENABLE_MQTT 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_LITTLEFS 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_CSE7766 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_FREEZE 0
-#define ENABLE_DRIVER_DHT 1
-// parse things like $CH1 or $hour etc
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DDP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_DRIVER_CHT83XX 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_OBK_SCRIPTING 1
-#define OBK_OTA_EXTENSION ".bin.xz.ota"
-//#define ENABLE_I2C 1
-
-
-#elif PLATFORM_BEKEN
-
-//#define ENABLE_DRIVER_PIR 1
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_SEND_POSTANDGET 1
-#define ENABLE_MQTT 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_LITTLEFS 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_NTP_SUNRISE_SUNSET 1
-//#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_BL0942SPI 1
-#define ENABLE_DRIVER_CSE7766 1
-#define ENABLE_DRIVER_BMP280 1
-//#define ENABLE_DRIVER_PT6523 1
-//#define ENABLE_DRIVER_MAX6675 1
-//#define ENABLE_DRIVER_TEXTSCROLLER 1
-//#define ENABLE_DRIVER_TUYAMCU 1
-//#define ENABLE_DRIVER_HT16K33 1
-//#define ENABLE_DRIVER_MAX72XX 1
-//#define ENABLE_DRIVER_ADCBUTTON 1
-#define ENABLE_I2C 1
-//#define ENABLE_TEST_COMMANDS 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_DRIVER_BRIDGE 1
-#define ENABLE_DRIVER_HTTPBUTTONS 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_HUE 1
-//#define ENABLE_DRIVER_CHARGINGLIMIT 1
-#define ENABLE_DRIVER_BATTERY 1
-#if PLATFORM_BK7231N && !PLATFORM_BEKEN_NEW
-//#define ENABLE_DRIVER_PWM_GROUP 1
-//#define ENABLE_DRIVER_SM16703P 1
-//#define ENABLE_DRIVER_PIXELANIM 1
-//#define ENABLE_DRIVER_SM15155E 1
-#endif
-// parse things like $CH1 or $hour etc
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_TMGN 0
-#define ENABLE_DRIVER_DRAWERS 0
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_SHT3X 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_MCP9808 1
-//#define ENABLE_DRIVER_DDP 1
-#define ENABLE_DRIVER_SSDP 1
-//#define ENABLE_DRIVER_IR 1
-//#define ENABLE_DRIVER_IR2 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_CHT83XX 1
-#define ENABLE_DRIVER_KP18058 1
-#define ENABLE_DRIVER_ADCSMOOTHER 1
-#define ENABLE_OBK_SCRIPTING 1
-#define ENABLE_DRIVER_SGP 1
-//#define ENABLE_DRIVER_OPENWEATHERMAP 1
-#define OBK_OTA_EXTENSION ".rbl"
-#if PLATFORM_BEKEN_NEW
-#define NEW_TCP_SERVER 1
-#endif
-// #define ENABLE_OBK_BERRY 1
-
-// ENABLE_I2C_ is a syntax for
-// our I2C system defines for drv_i2c_main.c
-#define ENABLE_I2C_ADS1115 1
-//#define ENABLE_I2C_MCP23017 1
-//#define ENABLE_I2C_LCD_PCF8574 1
-
-#elif PLATFORM_LN882H
-
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-//#define OBK_DISABLE_ALL_DRIVERS 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_HUE 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_LITTLEFS 1
-#define ENABLE_TEST_COMMANDS 0
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_DRIVER_OPENWEATHERMAP 1
-//#define ENABLE_DRIVER_TMGN 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_OBK_SCRIPTING 1
-#define ENABLE_DRIVER_SSDP 1
-#define OBK_OTA_EXTENSION ".bin"
-#define OBK_OTA_NAME_EXTENSION "_OTA"
-
-#elif PLATFORM_ESPIDF
-
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-#define ENABLE_I2C 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_TUYAMCU 1
-#define ENABLE_LITTLEFS 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_BATTERY 1
-#define ENABLE_DRIVER_CHARTS 1
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_DRIVER_HUE 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_DRIVER_DDP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_DRIVER_CHT83XX 1
-//#define ENABLE_DRIVER_CSE7761 1
-#define ENABLE_OBK_SCRIPTING 1
-#define OBK_OTA_EXTENSION ".img"
-
-#elif PLATFORM_TR6260
-
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-#define NO_CHIP_TEMPERATURE 1
-#define ENABLE_LITTLEFS 1
-#define NEW_TCP_SERVER 1
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_I2C 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_OBK_SCRIPTING 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-
-#define OBK_OTA_EXTENSION ".img"
-
-#elif PLATFORM_RTL87X0C
-
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-#define NO_CHIP_TEMPERATURE 1
-#define ENABLE_LITTLEFS 1
-#define NEW_TCP_SERVER 1
-#define ENABLE_DRIVER_TUYAMCU 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_I2C 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_CHT83XX 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_CSE7766 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-#define OBK_OTA_EXTENSION ".img"
-#define ENABLE_OBK_SCRIPTING 1
-//#define ENABLE_DRIVER_TCL 1
-
-#elif PLATFORM_RTL8710B || PLATFORM_RTL8710A || PLATFORM_RTL8720D
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-#define NO_CHIP_TEMPERATURE 1
-#define ENABLE_LITTLEFS 1
-#define NEW_TCP_SERVER 1
-#define ENABLE_DRIVER_TUYAMCU 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_I2C 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_CHT83XX 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_CSE7766 1
-#define ENABLE_DRIVER_UART_TCP 1
-#define OBK_OTA_EXTENSION ".img"
-#define ENABLE_OBK_SCRIPTING 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-#define ENABLE_DRIVER_SSDP 1
-//#define ENABLE_DRIVER_TCL 1
-
-#elif PLATFORM_ECR6600
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-#define ENABLE_LITTLEFS 1
-#define NEW_TCP_SERVER 1
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_I2C 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_OBK_SCRIPTING 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_DRIVER_TUYAMCU 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_BL0937 1
-
-#define OBK_OTA_EXTENSION ".img"
-
-#else
-
-//#error "Platform not defined"
-#warning "Platform not defined"
-
-#endif
-
-// if Tasmota DGR driver is enabled,
-// then also enable HTTP config page for that
-#if ENABLE_TASMOTADEVICEGROUPS
-#define ENABLE_HTTP_DGR 1
-#endif
-
-// if power metering chip is enabled, also enable backend for that
-#if ENABLE_DRIVER_BL0937 || ENABLE_DRIVER_BL0942 || ENABLE_DRIVER_BL0942SPI || ENABLE_DRIVER_CSE7766
-#define ENABLE_BL_SHARED 1
-//allow use two BL0942 on two ports +940 bytes
-//#define ENABLE_BL_TWIN 1
-//allow moving average energy calculation +180 bytes
-//#define ENABLE_BL_MOVINGAVG 1
-#endif
-
-// closing OBK_CONFIG_H
-#endif
-
diff --git a/src/configs/obk_config_tuyaMCU.h b/src/configs/obk_config_tuyaMCU.h
deleted file mode 100644
index 3d76b56c5..000000000
--- a/src/configs/obk_config_tuyaMCU.h
+++ /dev/null
@@ -1,420 +0,0 @@
-//////////////////////////////////////////////////////
-// specify which parts of the app we wish to be active
-//
-#ifndef OBK_CONFIG_H
-#define OBK_CONFIG_H
-
-// Starts with all driver flags undefined
-
-
-// NOTE:
-// Defines for HTTP/HTMP (UI) pages: ENABLE_HTTP_*
-// Defines for drivers from drv_main.c: ENABLE_DRIVER_*
-// Other defines: ENABLE_* , for example: ENABLE_LED_BASIC
-
-#define ENABLE_HTTP_MQTT 1
-#define ENABLE_HTTP_IP 1
-#define ENABLE_HTTP_WEBAPP 1
-#define ENABLE_HTTP_NAMES 1
-#define ENABLE_HTTP_MAC 1
-#define ENABLE_HTTP_FLAGS 1
-#define ENABLE_HTTP_STARTUP 1
-#define ENABLE_HTTP_PING 1
-#define ENABLE_LED_BASIC 1
-
-#if PLATFORM_XR809
-
-#define ENABLE_MQTT 1
-#define NO_CHIP_TEMPERATURE 1
-#define OBK_DISABLE_ALL_DRIVERS 1
-
-#elif PLATFORM_W600
-
-// parse things like $CH1 or $hour etc
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_DRIVER_BMP280 1
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_OPENWEATHERMAP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_MQTT 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DS1820 1
-#define OBK_OTA_EXTENSION ".img"
-#define ENABLE_OBK_SCRIPTING 1
-
-#elif PLATFORM_W800
-
-// parse things like $CH1 or $hour etc
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_DRIVER_OPENWEATHERMAP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_DRIVER_CHARTS 1
-#define ENABLE_MQTT 1
-#define ENABLE_DRIVER_SHT3X 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_NTP 1
-#define ENABLE_DRIVER_BMP280 1
-#define OBK_OTA_EXTENSION ".img"
-#define ENABLE_I2C 1
-#define ENABLE_OBK_SCRIPTING 1
-
-
-#elif WINDOWS
-
-#if LINUX
-
-#else
-
-#define ENABLE_SDL_WINDOW 1
-
-#endif
-
-
-#define ENABLE_DRIVER_PIR 1
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_SEND_POSTANDGET 1
-#define ENABLE_MQTT 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_LITTLEFS 1
-#define ENABLE_NTP 1
-#define ENABLE_NTP_DST 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_BL0942SPI 1
-#define ENABLE_DRIVER_CSE7766 1
-#define ENABLE_DRIVER_TESTPOWER 1
-#define ENABLE_DRIVER_HT16K33 1
-#define ENABLE_DRIVER_MAX72XX 1
-#define ENABLE_DRIVER_TUYAMCU 1
-#define ENABLE_TEST_COMMANDS 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_TEST_DRIVERS 1
-#define ENABLE_DRIVER_BRIDGE 1
-#define ENABLE_DRIVER_HTTPBUTTONS 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_HUE 1
-#define ENABLE_DRIVER_CHARGINGLIMIT 1
-#define ENABLE_DRIVER_BATTERY 1
-#define ENABLE_DRIVER_PT6523 1
-#define ENABLE_DRIVER_MAX6675 1
-#define ENABLE_DRIVER_TEXTSCROLLER 1
-#define ENABLE_NTP_SUNRISE_SUNSET 1
-// parse things like $CH1 or $hour etc
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_SM16703P 1
-#define ENABLE_DRIVER_PIXELANIM 1
-#define ENABLE_DRIVER_TMGN 1
-#define ENABLE_DRIVER_DRAWERS 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DDP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_DRIVER_ADCBUTTON 1
-#define ENABLE_DRIVER_SM15155E 1
-//#define ENABLE_DRIVER_IR 1
-//#define ENABLE_DRIVER_IR2 1
-#define ENABLE_DRIVER_CHARTS 1
-#define ENABLE_DRIVER_WIDGET 1
-#define ENABLE_DRIVER_OPENWEATHERMAP 1
-#define ENABLE_DRIVER_MCP9808 1
-#define ENABLE_DRIVER_KP18058 1
-#define ENABLE_DRIVER_ADCSMOOTHER 1
-#define ENABLE_DRIVER_SGP 1
-#define ENABLE_DRIVER_SHIFTREGISTER 1
-#define ENABLE_OBK_SCRIPTING 1
-#define ENABLE_OBK_BERRY 1
-
-#elif PLATFORM_BL602
-
-
-#define ENABLE_HA_DISCOVERY 1
-// I have enabled drivers on BL602
-#define ENABLE_MQTT 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_LITTLEFS 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_CSE7766 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_FREEZE 0
-#define ENABLE_DRIVER_DHT 1
-// parse things like $CH1 or $hour etc
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DDP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_DRIVER_CHT83XX 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_OBK_SCRIPTING 1
-#define OBK_OTA_EXTENSION ".bin.xz.ota"
-//#define ENABLE_I2C 1
-
-
-#elif PLATFORM_BEKEN
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_SEND_POSTANDGET 1
-#define ENABLE_MQTT 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_LITTLEFS 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_NTP_SUNRISE_SUNSET 1
-//#define ENABLE_DRIVER_LED 1
-//#define ENABLE_DRIVER_BL0937 1
-//#define ENABLE_DRIVER_BL0942 1
-//#define ENABLE_DRIVER_BL0942SPI 1
-//#define ENABLE_DRIVER_CSE7766 1
-//#define ENABLE_DRIVER_BMP280 1
-//#define ENABLE_DRIVER_PT6523 1
-//#define ENABLE_DRIVER_MAX6675 1
-//#define ENABLE_DRIVER_TEXTSCROLLER 1
-#define ENABLE_DRIVER_TUYAMCU 1
-//#define ENABLE_DRIVER_HT16K33 1
-//#define ENABLE_DRIVER_MAX72XX 1
-//#define ENABLE_DRIVER_ADCBUTTON 1
-//#define ENABLE_I2C 1
-//#define ENABLE_TEST_COMMANDS 1
-#define ENABLE_CALENDAR_EVENTS 1
-//#define ENABLE_DRIVER_BRIDGE 1
-#define ENABLE_DRIVER_HTTPBUTTONS 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_HUE 1
-//#define ENABLE_DRIVER_CHARGINGLIMIT 1
-//#define ENABLE_DRIVER_BATTERY 1
-#if PLATFORM_BK7231N && !PLATFORM_BEKEN_NEW
-//#define ENABLE_DRIVER_PWM_GROUP 1
-//#define ENABLE_DRIVER_SM16703P 1
-//#define ENABLE_DRIVER_PIXELANIM 1
-//#define ENABLE_DRIVER_SM15155E 1
-#endif
-// parse things like $CH1 or $hour etc
-#define ENABLE_EXPAND_CONSTANT 1
-//#define ENABLE_DRIVER_DHT 1
-//#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_TMGN 0
-#define ENABLE_DRIVER_DRAWERS 0
-#define ENABLE_TASMOTA_JSON 1
-//#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DDP 1
-#define ENABLE_DRIVER_SSDP 1
-//#define ENABLE_DRIVER_IR 1
-//#define ENABLE_DRIVER_IR2 1
-//#define ENABLE_DRIVER_DS1820 1
-//#define ENABLE_DRIVER_CHT83XX 1
-//#define ENABLE_DRIVER_KP18058 1
-//#define ENABLE_DRIVER_ADCSMOOTHER 1
-#define ENABLE_OBK_SCRIPTING 1
-//#define ENABLE_DRIVER_OPENWEATHERMAP 1
-#define OBK_OTA_EXTENSION ".rbl"
-#if PLATFORM_BEKEN_NEW
-#define NEW_TCP_SERVER 1
-#endif
-#define ENABLE_OBK_BERRY 1
-
-#elif PLATFORM_LN882H
-
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-//#define OBK_DISABLE_ALL_DRIVERS 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_HUE 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_LITTLEFS 1
-#define ENABLE_TEST_COMMANDS 0
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_DRIVER_OPENWEATHERMAP 1
-//#define ENABLE_DRIVER_TMGN 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_OBK_SCRIPTING 1
-#define ENABLE_DRIVER_SSDP 1
-#define OBK_OTA_EXTENSION ".bin"
-#define OBK_OTA_NAME_EXTENSION "_OTA"
-
-#elif PLATFORM_ESPIDF
-
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-#define ENABLE_I2C 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_TUYAMCU 1
-#define ENABLE_LITTLEFS 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_BATTERY 1
-#define ENABLE_DRIVER_CHARTS 1
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_DRIVER_HUE 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_DRIVER_DDP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_DRIVER_CHT83XX 1
-#define ENABLE_OBK_SCRIPTING 1
-#define OBK_OTA_EXTENSION ".img"
-
-#elif PLATFORM_TR6260
-
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-#define NO_CHIP_TEMPERATURE 1
-#define ENABLE_LITTLEFS 1
-#define NEW_TCP_SERVER 1
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_I2C 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_OBK_SCRIPTING 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-
-#define OBK_OTA_EXTENSION ".img"
-
-#elif PLATFORM_RTL87X0C
-
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-#define NO_CHIP_TEMPERATURE 1
-#define ENABLE_LITTLEFS 1
-#define NEW_TCP_SERVER 1
-#define ENABLE_DRIVER_TUYAMCU 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_I2C 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_CHT83XX 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_CSE7766 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-#define OBK_OTA_EXTENSION ".img"
-#define ENABLE_OBK_SCRIPTING 1
-
-#elif PLATFORM_RTL8710B || PLATFORM_RTL8710A || PLATFORM_RTL8720D
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-#define NO_CHIP_TEMPERATURE 1
-#define ENABLE_LITTLEFS 1
-#define NEW_TCP_SERVER 1
-#define ENABLE_DRIVER_TUYAMCU 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_I2C 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_CHT83XX 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_CSE7766 1
-#define ENABLE_DRIVER_UART_TCP 1
-#define OBK_OTA_EXTENSION ".img"
-#define ENABLE_OBK_SCRIPTING 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-#define ENABLE_DRIVER_SSDP 1
-
-#elif PLATFORM_ECR6600
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-#define ENABLE_LITTLEFS 1
-#define NEW_TCP_SERVER 1
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_I2C 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_OBK_SCRIPTING 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_DRIVER_TUYAMCU 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_BL0937 1
-
-#define OBK_OTA_EXTENSION ".img"
-
-#else
-
-//#error "Platform not defined"
-#warning "Platform not defined"
-
-#endif
-
-// if Tasmota DGR driver is enabled,
-// then also enable HTTP config page for that
-#if ENABLE_TASMOTADEVICEGROUPS
-#define ENABLE_HTTP_DGR 1
-#endif
-
-// if power metering chip is enabled, also enable backend for that
-#if ENABLE_DRIVER_BL0937 || ENABLE_DRIVER_BL0942 || ENABLE_DRIVER_BL0942SPI || ENABLE_DRIVER_CSE7766
-#define ENABLE_BL_SHARED 1
-//allow use two BL0942 on two ports +940 bytes
-//#define ENABLE_BL_TWIN 1
-//allow moving average energy calculation +180 bytes
-//#define ENABLE_BL_MOVINGAVG 1
-#endif
-
-// closing OBK_CONFIG_H
-#endif
-
diff --git a/src/driver/drv_ir2.c b/src/driver/drv_ir2.c
index 198912097..a8293ab3c 100644
--- a/src/driver/drv_ir2.c
+++ b/src/driver/drv_ir2.c
@@ -3,16 +3,16 @@
#include "drv_local.h"
#include "../new_common.h"
-
-#if PLATFORM_BEKEN
-
-#include "include.h"
-#include "arm_arch.h"
#include "../new_pins.h"
#include "../new_cfg.h"
#include "../logging/logging.h"
#include "../obk_config.h"
#include "../cmnds/cmd_public.h"
+
+#if PLATFORM_BEKEN
+
+#include "include.h"
+#include "arm_arch.h"
#include "bk_timer_pub.h"
#include "drv_model_pub.h"
@@ -142,17 +142,20 @@ void bk_gpio_config_output(int x) {
}
#endif
+#ifndef PLATFORM_BEKEN
+#define MY_SET_DUTY(x)
+#endif
-static UINT32 ir_chan
-#ifndef WINDOWS
+static uint32_t ir_chan
+#if PLATFORM_BEKEN
= BKTIMER0
#endif
;
-static UINT32 ir_div = 1;
-static UINT32 ir_periodus = 50;
-static UINT32 duty_on, duty_off;
-static UINT32 reg_duty;
+static uint32_t ir_div = 1;
+static uint32_t ir_periodus = 50;
+static uint32_t duty_on, duty_off;
+static uint32_t reg_duty;
@@ -168,9 +171,9 @@ int state = 0;
int pwmIndex = -1;
unsigned int period;
-UINT8 group, channel;
+uint8_t group, channel;
-void SendIR2_ISR(UINT8 t) {
+void SendIR2_ISR(uint8_t t) {
if (cur == 0)
return;
curTime += myPeriodUs;
@@ -236,7 +239,7 @@ static commandResult_t CMD_IR2_SendIR2(const void* context, const char* cmd, con
#if PLATFORM_BK7231N && !PLATFORM_BEKEN_NEW
bk_pwm_update_param((bk_pwm_t)pwmIndex, period, duty_off, 0, 0);
-#else
+#elif PLATFORM_BEKEN
bk_pwm_update_param((bk_pwm_t)pwmIndex, period, duty_off);
#endif
@@ -278,7 +281,7 @@ static commandResult_t CMD_IR2_SetupIR2(const void* context, const char* cmd, co
reg_duty = REG_GROUP_PWM1_T1_ADDR(group);
}
#endif
-#ifndef WINDOWS
+#if PLATFORM_BEKEN
#if PLATFORM_BK7231N && !PLATFORM_BEKEN_NEW
// OSStatus bk_pwm_initialize(bk_pwm_t pwm, uint32_t frequency, uint32_t duty_cycle);
bk_pwm_initialize((bk_pwm_t)pwmIndex, period, period/2, 0, 0);
@@ -292,7 +295,7 @@ static commandResult_t CMD_IR2_SetupIR2(const void* context, const char* cmd, co
}
#endif
-#ifndef WINDOWS
+#if PLATFORM_BEKEN
timer_param_t params = {
(unsigned char)ir_chan,
(unsigned char)ir_div, // div
diff --git a/src/driver/drv_openWeatherMap.c b/src/driver/drv_openWeatherMap.c
index 9eee12fd2..7cdfe51c2 100644
--- a/src/driver/drv_openWeatherMap.c
+++ b/src/driver/drv_openWeatherMap.c
@@ -15,6 +15,7 @@
#include "../cJSON/cJSON.h"
#ifndef WINDOWS
+#include
#include
#include "lwip/netdb.h"
#endif
diff --git a/src/driver/drv_soft_i2c.c b/src/driver/drv_soft_i2c.c
index 8384b87b1..5349995e7 100644
--- a/src/driver/drv_soft_i2c.c
+++ b/src/driver/drv_soft_i2c.c
@@ -10,7 +10,7 @@
#include "../httpserver/new_http.h"
#include "../hal/hal_pins.h"
-#ifndef PLATFORM_ESPIDF
+#if !defined(PLATFORM_ESPIDF) && !defined(PLATFORM_XR806) && !defined(PLATFORM_XR872)
void usleep(int r) //delay function do 10*r nops, because rtos_delay_milliseconds is too much
{
#ifdef WIN32
diff --git a/src/hal/bl602/hal_generic_bl602.c b/src/hal/bl602/hal_generic_bl602.c
index bcc516a7c..730b92615 100644
--- a/src/hal/bl602/hal_generic_bl602.c
+++ b/src/hal/bl602/hal_generic_bl602.c
@@ -4,6 +4,7 @@
#include "../../new_common.h"
#include
#include
+#include
void HAL_RebootModule()
{
@@ -12,22 +13,7 @@ void HAL_RebootModule()
void HAL_Delay_us(int delay)
{
- for(volatile int i = 0; i < delay; i++)
- {
- __asm__("nop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop");
- __asm__("nop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop");
- __asm__("nop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop");
- __asm__("nop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop");
- __asm__("nop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop"); // 5
- __asm__("nop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop");
- __asm__("nop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop");
- __asm__("nop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop");
- __asm__("nop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop");
- __asm__("nop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop"); //10
- __asm__("nop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop");
- __asm__("nop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop");
- __asm__("nop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop");
- }
+ bl_timer_delay_us(delay);
}
void HAL_Configure_WDT()
diff --git a/src/hal/generic/hal_wifi_generic.c b/src/hal/generic/hal_wifi_generic.c
index 39aff693a..8a4d1331c 100644
--- a/src/hal/generic/hal_wifi_generic.c
+++ b/src/hal/generic/hal_wifi_generic.c
@@ -55,7 +55,7 @@ void __attribute__((weak)) HAL_WiFi_SetupStatusCallback(void (*cb)(int code))
void __attribute__((weak)) HAL_ConnectToWiFi(const char* oob_ssid, const char* connect_key, obkStaticIP_t* ip)
{
-
+ ADDLOG_ERROR(LOG_FEATURE_GENERAL, "Generic %s called", __func__);
}
void __attribute__((weak)) HAL_FastConnectToWiFi(const char* oob_ssid, const char* connect_key, obkStaticIP_t* ip)
@@ -76,5 +76,6 @@ void __attribute__((weak)) HAL_DisconnectFromWifi()
int __attribute__((weak)) HAL_SetupWiFiOpenAccessPoint(const char* ssid)
{
+ ADDLOG_ERROR(LOG_FEATURE_GENERAL, "Generic %s called", __func__);
return 0;
}
diff --git a/src/hal/w800/hal_flashConfig_w800.c b/src/hal/w800/hal_flashConfig_w800.c
index f6b326cc1..ddf23d5ae 100644
--- a/src/hal/w800/hal_flashConfig_w800.c
+++ b/src/hal/w800/hal_flashConfig_w800.c
@@ -4,6 +4,9 @@
#include "wm_include.h"
#include "wm_internal_flash.h"
+#if defined(PLATFORM_W800)
+#include "easyflash.h"
+#endif
static int bFlashReady = 0;
@@ -13,6 +16,9 @@ void initFlashIfNeeded() {
tls_fls_init(); //initialize flash driver
+#if defined(PLATFORM_W800)
+ easyflash_init();
+#endif
bFlashReady = 1;
}
diff --git a/src/hal/w800/hal_flashVars_w800.c b/src/hal/w800/hal_flashVars_w800.c
index f1fa0d785..24cd2fdf6 100644
--- a/src/hal/w800/hal_flashVars_w800.c
+++ b/src/hal/w800/hal_flashVars_w800.c
@@ -10,15 +10,21 @@ static int FLASH_VARS_STRUCTURE_SIZE = sizeof(FLASH_VARS_STRUCTURE);
//W600 - 0xF0000 is based on sdk\OpenW600\demo\wm_flash_demo.c
//2528 was picked based on current sizeof(mainConfig_t) which is 2016 with 512 buffer bytes.
-#if defined(PLATFORM_W800)
-#define FLASH_VARS_STRUCTURE_ADDR (0x1F0303 + 2528)
-#else
+#if defined(PLATFORM_W600)
#define FLASH_VARS_STRUCTURE_ADDR (0xF0000 + 2528)
+#else
+#include "easyflash.h"
#endif
+#define SAVE_CHANGE_IF_REQUIRED_AND_COUNT(target, source, counter) \
+ if((target) != (source)) { \
+ (target) = (source); \
+ counter++; \
+ }
void initFlashIfNeeded();
+#if PLATFORM_W600
/// @brief This prints the current boot count as a way to visually verify the flash write operation.
void print_flash_boot_count() {
@@ -46,6 +52,43 @@ void HAL_FlashVars_IncreaseBootCount() {
ADDLOG_INFO(LOG_FEATURE_CFG, "####### Boot Count %d #######", flash_vars.boot_count);
write_flash_boot_content();
}
+
+#else
+
+#define KV_KEY_FLASH_VARS "OBK_FV"
+
+/// @brief This prints the current boot count as a way to visually verify the flash write operation.
+void print_flash_boot_count()
+{
+ FLASH_VARS_STRUCTURE data;
+ ef_get_env_blob(KV_KEY_FLASH_VARS, &data, FLASH_VARS_STRUCTURE_SIZE, NULL);
+
+ ADDLOG_DEBUG(LOG_FEATURE_CFG, "boot count %d, boot success %d, bootfailures %d",
+ data.boot_count,
+ data.boot_success_count,
+ data.boot_count - data.boot_success_count
+ );
+}
+
+void write_flash_boot_content()
+{
+ ef_set_env_blob(KV_KEY_FLASH_VARS, &flash_vars, FLASH_VARS_STRUCTURE_SIZE);
+ print_flash_boot_count();
+}
+
+/// @brief Update the boot count in flash. This is called called at startup. This is what initializes flash_vars.
+void HAL_FlashVars_IncreaseBootCount()
+{
+ initFlashIfNeeded();
+ ef_get_env_blob(KV_KEY_FLASH_VARS, &flash_vars, FLASH_VARS_STRUCTURE_SIZE, NULL);
+
+ flash_vars.boot_count++;
+ ADDLOG_INFO(LOG_FEATURE_CFG, "####### Boot Count %d #######", flash_vars.boot_count);
+ write_flash_boot_content();
+}
+
+#endif
+
void HAL_FlashVars_SaveChannel(int index, int value) {
if (index < 0 || index >= MAX_RETAIN_CHANNELS) {
ADDLOG_INFO(LOG_FEATURE_CFG, "####### Flash Save Can't Save Channel %d as %d (not enough space in array) #######", index, value);
@@ -81,18 +124,16 @@ int HAL_FlashVars_GetChannelValue(int ch) {
return flash_vars.savedValues[ch];
}
-#define SAVE_CHANGE_IF_REQUIRED_AND_COUNT(target, source, counter) \
- if((target) != (source)) { \
- (target) = (source); \
- counter++; \
- }
void HAL_FlashVars_SaveLED(byte mode, short brightness, short temperature, byte r, byte g, byte b, byte bEnableAll) {
#ifndef DISABLE_FLASH_VARS_VARS
int iChangesCount = 0;
-
+#if PLATFORM_W600
tls_fls_read(FLASH_VARS_STRUCTURE_ADDR, &flash_vars, FLASH_VARS_STRUCTURE_SIZE);
+#else
+ ef_get_env_blob(KV_KEY_FLASH_VARS, &flash_vars, FLASH_VARS_STRUCTURE_SIZE, NULL);
+#endif
SAVE_CHANGE_IF_REQUIRED_AND_COUNT(flash_vars.savedValues[MAX_RETAIN_CHANNELS - 1], brightness, iChangesCount);
SAVE_CHANGE_IF_REQUIRED_AND_COUNT(flash_vars.savedValues[MAX_RETAIN_CHANNELS - 2], temperature, iChangesCount);
@@ -104,7 +145,11 @@ void HAL_FlashVars_SaveLED(byte mode, short brightness, short temperature, byte
if (iChangesCount > 0) {
ADDLOG_INFO(LOG_FEATURE_CFG, "####### Flash Save LED #######");
+#if PLATFORM_W600
tls_fls_write(FLASH_VARS_STRUCTURE_ADDR, &flash_vars, FLASH_VARS_STRUCTURE_SIZE);
+#else
+ ef_set_env_blob(KV_KEY_FLASH_VARS, &flash_vars, FLASH_VARS_STRUCTURE_SIZE);
+#endif
}
#endif
}
diff --git a/src/hal/w800/hal_main_w800.c b/src/hal/w800/hal_main_w800.c
index 0fefbdafd..0825ee252 100644
--- a/src/hal/w800/hal_main_w800.c
+++ b/src/hal/w800/hal_main_w800.c
@@ -8,11 +8,6 @@
#define LOG_FEATURE LOG_FEATURE_MAIN
-#if defined(PLATFORM_W800)
-//portTICK_RATE_MS is not defined in portmacro.h for W800. Copying this from W600.
-
-#define portTICK_RATE_MS ( ( portTickType ) 1000 / configTICK_RATE_HZ )
-#endif
#if 0
@@ -66,8 +61,27 @@ void user_main(void)
}
-#else
+#elif PLATFORM_W800
+//extern unsigned int total_mem_size;
+
+void UserMain(void)
+{
+ Main_Init();
+
+ for(;;)
+ {
+ vTaskDelay(1000 / portTICK_PERIOD_MS);
+ Main_OnEverySecond();
+
+ //bk_printf("libc heap remain size: %d\r\n", total_mem_size);
+ }
+ vTaskDelete(NULL);
+}
+
+#else
+__attribute__((weak))
+void _fini(void) {}
// static void print_rtc()
// {
// struct tm tblock;
diff --git a/src/hal/w800/hal_pins_w800.c b/src/hal/w800/hal_pins_w800.c
index 9cf2e7293..727941686 100644
--- a/src/hal/w800/hal_pins_w800.c
+++ b/src/hal/w800/hal_pins_w800.c
@@ -14,6 +14,7 @@ typedef struct wmPin_s {
//NOTE: pwm_channel is defined based on demo/wm_pwm_demo.cs. Both W600 nd W800 support 5 PWM channels.
#if PLATFORM_W800
+#include "wm_gpio_afsel.h"
static wmPin_t g_pins[] = {
{"PA0",WM_IO_PA_00, -1},
diff --git a/src/hal/w800/hal_wifi_w800.c b/src/hal/w800/hal_wifi_w800.c
index 6c954f8ac..63f44c21c 100644
--- a/src/hal/w800/hal_wifi_w800.c
+++ b/src/hal/w800/hal_wifi_w800.c
@@ -57,8 +57,9 @@ int WiFI_SetMacAddress(char* mac)
void WiFI_GetMacAddress(char* mac)
{
- struct netif* netif = tls_get_netif();
- MEMCPY(mac, &netif->hwaddr[0], ETH_ALEN);
+ //struct netif* netif = tls_get_netif();
+ //MEMCPY(mac, &netif->hwaddr[0], ETH_ALEN);
+ tls_get_mac_addr(mac);
}
const char* HAL_GetMACStr(char* macstr)
{
diff --git a/src/hal/xr809/hal_flashVars_xr809.c b/src/hal/xr809/hal_flashVars_xr809.c
index 2920cdf10..8d90c3989 100644
--- a/src/hal/xr809/hal_flashVars_xr809.c
+++ b/src/hal/xr809/hal_flashVars_xr809.c
@@ -1,4 +1,4 @@
-#ifdef PLATFORM_XR809
+#if PLATFORM_XR809 || PLATFORM_XR872
#include "../hal_flashConfig.h"
#include "../hal_flashVars.h"
diff --git a/src/hal/xr809/hal_pins_xr809.c b/src/hal/xr809/hal_pins_xr809.c
index da3dd6b91..40d0281b1 100644
--- a/src/hal/xr809/hal_pins_xr809.c
+++ b/src/hal/xr809/hal_pins_xr809.c
@@ -1,4 +1,4 @@
-#ifdef PLATFORM_XR809 || PLATFORM_XR872
+#if PLATFORM_XR809 || PLATFORM_XR872
#include "../../new_common.h"
#include "../../logging/logging.h"
diff --git a/src/httpclient/http_client.c b/src/httpclient/http_client.c
index e00f115a7..fdea7cf7d 100644
--- a/src/httpclient/http_client.c
+++ b/src/httpclient/http_client.c
@@ -9,14 +9,15 @@
#include "../new_common.h"
#include "../obk_config.h"
#include "../cmnds/cmd_public.h"
+#include "../logging/logging.h"
+
+#if ENABLE_SEND_POSTANDGET
+
#include "include.h"
#include "utils_timer.h"
//#include "lite-log.h"
#include "http_client.h"
#include "rtos_pub.h"
-#include "../logging/logging.h"
-
-#if ENABLE_SEND_POSTANDGET
#include "iot_export_errno.h"
diff --git a/src/httpclient/utils_net.c b/src/httpclient/utils_net.c
index 0c18c93e6..ce8a94fc4 100644
--- a/src/httpclient/utils_net.c
+++ b/src/httpclient/utils_net.c
@@ -4,10 +4,11 @@
#include "../new_common.h"
#include "../logging/logging.h"
+#if PLATFORM_BEKEN || WINDOWS
#include "utils_net.h"
+#include "utils_timer.h"
#include "errno.h"
#include "lwip/sockets.h"
-#include "utils_timer.h"
#ifndef WINDOWS
#include "lwip/netdb.h"
#endif
@@ -367,3 +368,5 @@ int iotx_net_init(utils_network_pt pNetwork, const char *host, uint16_t port, co
return 0;
}
+
+#endif
diff --git a/src/httpclient/utils_net.h b/src/httpclient/utils_net.h
index 905a77115..39b6fa47a 100644
--- a/src/httpclient/utils_net.h
+++ b/src/httpclient/utils_net.h
@@ -4,6 +4,7 @@
#ifndef _UTILS_NET_H_
#define _UTILS_NET_H_
+#if PLATFORM_BEKEN || WINDOWS
/**
* @brief The structure of network connection(TCP or SSL).
* The user has to allocate memory for this structure.
@@ -49,5 +50,6 @@ int32_t HAL_TCP_Write(uintptr_t fd, const char *buf, uint32_t len, uint32_t time
int32_t HAL_TCP_Read(uintptr_t fd, char *buf, uint32_t len, uint32_t timeout_ms);
int32_t HAL_TCP_Destroy(uintptr_t fd);
+#endif
#endif /* IOTX_COMMON_NET_H */
diff --git a/src/httpclient/utils_timer.c b/src/httpclient/utils_timer.c
index 99771e9b0..144515899 100644
--- a/src/httpclient/utils_timer.c
+++ b/src/httpclient/utils_timer.c
@@ -1,6 +1,9 @@
/*
* Copyright (C) 2015-2017 Alibaba Group Holding Limited
*/
+
+#if PLATFORM_BEKEN || WINDOWS
+
#include "include.h"
//#include "lite-log.h"
#include "utils_timer.h"
@@ -98,3 +101,4 @@ uint64_t utils_time_left(uint64_t t_end, uint64_t t_now)
return (1!=(hal_machw_time_past(t_end*1000)));
}
+#endif
diff --git a/src/httpclient/utils_timer.h b/src/httpclient/utils_timer.h
index a249d7123..9bbe928c4 100644
--- a/src/httpclient/utils_timer.h
+++ b/src/httpclient/utils_timer.h
@@ -8,6 +8,8 @@
//#include "iot_import.h"
#include "../new_common.h"
+#if PLATFORM_BEKEN || WINDOWS
+
typedef struct {
uint32_t time;
} iotx_time_t;
@@ -29,4 +31,6 @@ uint32_t utils_time_get_ms(void);
uint64_t utils_time_left(uint64_t t_end, uint64_t t_now);
+#endif
+
#endif /* _IOTX_COMMON_TIMER_H_ */
diff --git a/src/httpserver/http_fns.c b/src/httpserver/http_fns.c
index 3e25807aa..a9df931b6 100644
--- a/src/httpserver/http_fns.c
+++ b/src/httpserver/http_fns.c
@@ -1773,7 +1773,7 @@ void doHomeAssistantDiscovery(const char* topic, http_request_t* request) {
// warning - this is 32 bit
int flagsChannelPublished;
int ch;
- int dimmer, toggle, brightness_scale;
+ int dimmer, toggle, brightness_scale = 0;
// no channels published yet
flagsChannelPublished = 0;
diff --git a/src/httpserver/new_tcp_server.c b/src/httpserver/new_tcp_server.c
index cb586f1b5..502d07db2 100644
--- a/src/httpserver/new_tcp_server.c
+++ b/src/httpserver/new_tcp_server.c
@@ -24,7 +24,7 @@ void HTTPServer_Start();
typedef struct
{
int fd;
- TaskHandle_t thread;
+ xTaskHandle thread;
bool isCompleted;
} tcp_thread_t;
@@ -54,7 +54,7 @@ static void tcp_client_thread(tcp_thread_t* arg)
goto exit;
}
http_request_t request;
- os_memset(&request, 0, sizeof(request));
+ memset(&request, 0, sizeof(request));
request.fd = fd;
request.received = buf;
@@ -275,7 +275,7 @@ static void tcp_server_thread(beken_thread_arg_t arg)
}
}
}
- vTaskDelay(pdMS_TO_TICKS(10));
+ rtos_delay_milliseconds(10);
}
error:
diff --git a/src/httpserver/rest_interface.c b/src/httpserver/rest_interface.c
index 8a6ed2a38..3a79bd26c 100644
--- a/src/httpserver/rest_interface.c
+++ b/src/httpserver/rest_interface.c
@@ -25,13 +25,10 @@ uint32_t flash_read(uint32_t flash, uint32_t addr, void* buf, uint32_t size);
#include
#include
#include
-#elif PLATFORM_W600
-#include "wm_socket_fwup.h"
-#include "wm_fwup.h"
-
-#elif PLATFORM_W800
+#elif defined(PLATFORM_W800) || defined(PLATFORM_W600)
+#include "wm_internal_flash.h"
#include "wm_socket_fwup.h"
#include "wm_fwup.h"
@@ -42,6 +39,17 @@ uint32_t flash_read(uint32_t flash, uint32_t addr, void* buf, uint32_t size);
#elif PLATFORM_ESPIDF
+#include "esp_system.h"
+#include "esp_ota_ops.h"
+#include "esp_app_format.h"
+#include "esp_flash_partitions.h"
+#include "esp_partition.h"
+#include "nvs.h"
+#include "nvs_flash.h"
+#include "esp_wifi.h"
+#include "esp_pm.h"
+#include "esp_flash_spi_init.h"
+
#elif PLATFORM_REALTEK
#include "flash_api.h"
@@ -723,7 +731,7 @@ static int http_rest_post_lfs_file(http_request_t* request) {
if (!lfs_present()) {
request->responseCode = 400;
http_setup(request, httpMimeTypeText);
- poststr(request, "LittleFS is not abailable");
+ poststr(request, "LittleFS is not available");
poststr(request, NULL);
return 0;
}
@@ -1309,7 +1317,8 @@ typedef struct ota_header {
uint8_t ver_software[16];
uint8_t sha256[32];
-} s;
+ uint32_t unpacked_len;//full len
+ } s;
uint8_t _pad[512];
} u;
} ota_header_t;
@@ -1585,30 +1594,13 @@ static int ota_verify_download(void)
}
#endif
-#if PLATFORM_ESPIDF
-#include "esp_system.h"
-#include "esp_ota_ops.h"
-#include "esp_app_format.h"
-#include "esp_flash_partitions.h"
-#include "esp_partition.h"
-#include "nvs.h"
-#include "nvs_flash.h"
-#include "esp_wifi.h"
-#include "esp_pm.h"
-#endif
-
static int http_rest_post_flash(http_request_t* request, int startaddr, int maxaddr)
{
-#if PLATFORM_XR809
+#if PLATFORM_XR809 || PLATFORM_XR872
return 0; //Operation not supported yet
#endif
-#if PLATFORM_XR872
- return 0; //Operation not supported yet
-#endif
-
-
int total = 0;
int towrite = request->bodylen;
char* writebuf = request->bodystart;
@@ -1746,7 +1738,7 @@ static int http_rest_post_flash(http_request_t* request, int startaddr, int maxa
if(writelen < 0)
{
- ADDLOG_DEBUG(LOG_FEATURE_OTA, "ABORTED: %d bytes to write", writelen);
+ ADDLOG_ERROR(LOG_FEATURE_OTA, "ABORTED: %d bytes to write", writelen);
return http_rest_error(request, -20, "writelen < 0");
}
@@ -1759,6 +1751,12 @@ static int http_rest_post_flash(http_request_t* request, int startaddr, int maxa
#define MAX_BUFF_SIZE 2048
char* Buffer = (char*)os_malloc(MAX_BUFF_SIZE + FWUP_MSG_SIZE);
+ if(!Buffer)
+ {
+ ADDLOG_ERROR(LOG_FEATURE_OTA, "ABORTED: failed to allocate buffer");
+ return http_rest_error(request, -20, "");
+ }
+
if(request->contentLength >= 0)
{
towrite = request->contentLength;
@@ -1766,7 +1764,6 @@ static int http_rest_post_flash(http_request_t* request, int startaddr, int maxa
int recvLen = 0;
int totalLen = 0;
- uint8_t counter = 0;
printf("\ntowrite %d writelen=%d\n", towrite, writelen);
do
@@ -1858,11 +1855,13 @@ static int http_rest_post_flash(http_request_t* request, int startaddr, int maxa
nRetCode = -17;
}
}
- if (counter++ % 5 == 0) bk_printf("Downloaded %d / %d\n", recvLen, totalLen);
+ ADDLOG_DEBUG(LOG_FEATURE_OTA, "Downloaded %d / %d", recvLen, totalLen);
rtos_delay_milliseconds(10); // give some time for flashing - will else increase used memory fast
} while((nRetCode == 0) && (towrite > 0) && (writelen >= 0));
bk_printf("Download completed (%d / %d)\n", recvLen, totalLen);
- tls_mem_free(Buffer);
+ if(Buffer) os_free(Buffer);
+ if(p) pbuf_free(p);
+
if(nRetCode != 0)
{
@@ -1898,7 +1897,7 @@ static int http_rest_post_flash(http_request_t* request, int startaddr, int maxa
recv_buffer = pvPortMalloc(OTA_PROGRAM_SIZE);
unsigned int buffer_offset, flash_offset, ota_addr;
- uint32_t bin_size, part_size;
+ uint32_t bin_size, part_size, running_size;
uint8_t activeID;
HALPartition_Entry_Config ptEntry;
@@ -1918,6 +1917,7 @@ static int http_rest_post_flash(http_request_t* request, int startaddr, int maxa
ota_addr = ptEntry.Address[!ptEntry.activeIndex];
bin_size = ptEntry.maxLen[!ptEntry.activeIndex];
part_size = ptEntry.maxLen[!ptEntry.activeIndex];
+ running_size = ptEntry.maxLen[ptEntry.activeIndex];
(void)part_size;
/*XXX if you use bin_size is product env, you may want to set bin_size to the actual
* OTA BIN size, and also you need to splilt XIP_SFlash_Erase_With_Lock into
@@ -2020,6 +2020,11 @@ static int http_rest_post_flash(http_request_t* request, int startaddr, int maxa
{
return http_rest_error(request, -20, "Too large bin");
}
+ if(ota_header->u.s.unpacked_len != 0xFFFFFFFF && running_size < ota_header->u.s.unpacked_len)
+ {
+ ADDLOG_ERROR(LOG_FEATURE_OTA, "Unpacked OTA image size (%u) is bigger than running partition size (%u)", ota_header->u.s.unpacked_len, running_size);
+ return http_rest_error(request, -20, "");
+ }
//ADDLOG_DEBUG(LOG_FEATURE_OTA, "%d bytes to write", writelen);
//add_otadata((unsigned char*)writebuf, writelen);
@@ -3162,7 +3167,9 @@ static int http_rest_get_flash(http_request_t* request, int startaddr, int len)
if (readlen > 1024) {
readlen = 1024;
}
-#if PLATFORM_XR809
+#if PLATFORM_BEKEN
+ res = flash_read((char*)buffer, readlen, startaddr);
+#elif PLATFORM_XR809
//uint32_t flash_read(uint32_t flash, uint32_t addr,void *buf, uint32_t size)
#define FLASH_INDEX_XR809 0
res = flash_read(FLASH_INDEX_XR809, startaddr, buffer, readlen);
@@ -3171,11 +3178,11 @@ static int http_rest_get_flash(http_request_t* request, int startaddr, int len)
#elif PLATFORM_BL602
res = bl_flash_read(startaddr, (uint8_t *)buffer, readlen);
#elif PLATFORM_W600 || PLATFORM_W800
- res = 0;
+ res = tls_fls_read(startaddr, (uint8_t*)buffer, readlen);
#elif PLATFORM_LN882H
res = hal_flash_read(startaddr, readlen, (uint8_t *)buffer);
#elif PLATFORM_ESPIDF
- res = 0;
+ res = esp_flash_read(NULL, (void*)buffer, startaddr, readlen);
#elif PLATFORM_TR6260
res = hal_spiflash_read(startaddr, (uint8_t*)buffer, readlen);
#elif PLATFORM_ECR6600
@@ -3185,7 +3192,7 @@ static int http_rest_get_flash(http_request_t* request, int startaddr, int len)
flash_stream_read(&flash, startaddr, readlen, (uint8_t*)buffer);
device_mutex_unlock(RT_DEV_LOCK_FLASH);
#else
- res = flash_read((char*)buffer, readlen, startaddr);
+ res = 0;
#endif
startaddr += readlen;
len -= readlen;
diff --git a/src/littlefs/lfs_util.h b/src/littlefs/lfs_util.h
index 1f7a7c182..372d8859f 100644
--- a/src/littlefs/lfs_util.h
+++ b/src/littlefs/lfs_util.h
@@ -7,16 +7,6 @@
#ifndef LFS_UTIL_H
#define LFS_UTIL_H
-#if PLATFORM_BEKEN
-#include "mem_pub.h"
-#elif PLATFORM_BL602 || PLATFORM_LN882H || PLATFORM_ESPIDF
-#define os_free free
-#define os_malloc malloc
-#elif PLATFORM_REALTEK
-#define os_malloc pvPortMalloc
-#define os_free vPortFree
-#endif
-
// Users can override lfs_util.h with their own configuration by defining
// LFS_CONFIG as a header file to include (-DLFS_CONFIG=lfs_config.h).
//
@@ -48,6 +38,18 @@
#include
#endif
+#if PLATFORM_BEKEN
+#include "mem_pub.h"
+#elif PLATFORM_BL602 || PLATFORM_LN882H || PLATFORM_ESPIDF || PLATFORM_W600
+#define os_free free
+#define os_malloc malloc
+#elif PLATFORM_REALTEK || PLATFORM_W800
+extern void* pvPortMalloc(size_t xWantedSize);
+extern void vPortFree(void* pv);
+#define os_malloc pvPortMalloc
+#define os_free vPortFree
+#endif
+
#ifdef __cplusplus
extern "C"
{
diff --git a/src/littlefs/our_lfs.c b/src/littlefs/our_lfs.c
index ab502b2f1..5cc42e936 100644
--- a/src/littlefs/our_lfs.c
+++ b/src/littlefs/our_lfs.c
@@ -24,6 +24,10 @@
#include
#include
+bl_mtd_info_t lfs_info = { 0 };
+bl_mtd_handle_t lfs_handle;
+bool lfs_init = false;
+
#elif PLATFORM_LN882H
#include "../hal/hal_flashConfig.h"
@@ -45,6 +49,12 @@ extern uint8_t flash_size_8720;
#include "flash.h"
+#elif defined(PLATFORM_W800) || defined(PLATFORM_W600)
+
+#include "wm_internal_flash.h"
+#include "wm_socket_fwup.h"
+#include "wm_fwup.h"
+
#endif
@@ -124,7 +134,7 @@ static commandResult_t CMD_LFS_Size(const void *context, const char *cmd, const
return CMD_RES_OK;
}
-#if PLATFORM_ESPIDF || PLATFORM_RTL8720D
+#if PLATFORM_ESPIDF || PLATFORM_RTL8720D || PLATFORM_BL602
ADDLOG_ERROR(LOG_FEATURE_CMD, PLATFORM_MCU_NAME" doesn't support changing LFS size");
return CMD_RES_ERROR;
#endif
@@ -255,6 +265,11 @@ static commandResult_t CMD_LFS_Format(const void *context, const char *cmd, cons
LFS_Start = newstart = 0;
LFS_Size = newsize = esplfs->size;
+#elif PLATFORM_BL602
+
+ LFS_Start = newstart = 0; // lfs_info.offset;
+ LFS_Size = newsize = lfs_info.size;
+
#endif
cfg.block_count = (newsize/LFS_BLOCK_SIZE);
@@ -350,7 +365,6 @@ static commandResult_t CMD_LFS_AppendLine(const void *context, const char *cmd,
}
static commandResult_t CMD_LFS_Remove(const void *context, const char *cmd, const char *args, int cmdFlags) {
const char *fileName;
- int res;
Tokenizer_TokenizeString(args, 0);
// following check must be done after 'Tokenizer_TokenizeString',
@@ -362,8 +376,7 @@ static commandResult_t CMD_LFS_Remove(const void *context, const char *cmd, cons
fileName = Tokenizer_GetArg(0);
- res = lfs_remove(&lfs, fileName);
-
+ lfs_remove(&lfs, fileName);
return CMD_RES_OK;
}
@@ -462,24 +475,27 @@ void init_lfs(int create){
#if PLATFORM_BL602
- // ensure we have media partition at correct place, because it can change depending on bldevcube version
- // this supports 1.4.8
-
- int ret;
- bl_mtd_info_t info;
- bl_mtd_handle_t handle;
+ if(!lfs_init)
+ {
+ int ret = bl_mtd_open(BL_MTD_PARTITION_NAME_ROMFS, &lfs_handle, BL_MTD_OPEN_FLAG_BUSADDR);
+ memset(&lfs_info, 0, sizeof(lfs_info));
+ if(ret < 0)
+ {
+ ADDLOGF_WARN("LFS media partition not found %d, trying using OTA partition", ret);
- ret = bl_mtd_open(BL_MTD_PARTITION_NAME_ROMFS, &handle, BL_MTD_OPEN_FLAG_BUSADDR);
- if (ret < 0) {
- ADDLOGF_ERROR("LFS media partition not found %d", ret);
- return;
- }
- memset(&info, 0, sizeof(info));
- bl_mtd_info(handle, &info);
- if (info.offset != LFS_BLOCKS_START ){
- ADDLOGF_ERROR("LFS media partition position 0x%X while expected is 0x%X", info.offset, LFS_BLOCKS_START);
- return;
+ ret = bl_mtd_open(BL_MTD_PARTITION_NAME_FW_DEFAULT, &lfs_handle, BL_MTD_OPEN_FLAG_BACKUP);
+ if(ret < 0)
+ {
+ ADDLOGF_ERROR("OTA partition not found %d, LFS won't be used", ret);
+ return;
+ }
+ }
+ bl_mtd_info(lfs_handle, &lfs_info);
+ lfs_init = true;
}
+ newstart = 0; // lfs_info.offset;
+ newsize = lfs_info.size;
+ CFG_SetLFS_Size(lfs_info.size);
#elif PLATFORM_ESPIDF
@@ -633,50 +649,59 @@ static int lfs_erase(const struct lfs_config *c, lfs_block_t block){
GLOBAL_INT_RESTORE();
return res;
}
+
#elif PLATFORM_BL602
static int lfs_read(const struct lfs_config *c, lfs_block_t block,
- lfs_off_t off, void *buffer, lfs_size_t size){
- int res;
- unsigned int startAddr = LFS_Start;
- startAddr += block*LFS_BLOCK_SIZE;
- startAddr += off;
- res = bl_flash_read(startAddr, (uint8_t *)buffer, size );
- return res;
+ lfs_off_t off, void *buffer, lfs_size_t size)
+{
+ if(!lfs_init) return 0;
+ int res;
+
+ unsigned int startAddr = LFS_Start;
+ startAddr += block * LFS_BLOCK_SIZE;
+ startAddr += off;
+
+ //res = bl_flash_read(startAddr, (uint8_t*)buffer, size);
+ res = bl_mtd_read(lfs_handle, startAddr, size, (uint8_t*)buffer);
+ return res;
}
// Program a region in a block. The block must have previously
// been erased. Negative error codes are propogated to the user.
// May return LFS_ERR_CORRUPT if the block should be considered bad.
static int lfs_write(const struct lfs_config *c, lfs_block_t block,
- lfs_off_t off, const void *buffer, lfs_size_t size){
- int res;
- unsigned int startAddr = LFS_Start;
+ lfs_off_t off, const void *buffer, lfs_size_t size)
+{
+ if(!lfs_init) return 0;
+ int res;
+ unsigned int startAddr = LFS_Start;
+ startAddr += block * LFS_BLOCK_SIZE;
+ startAddr += off;
- startAddr += block*LFS_BLOCK_SIZE;
- startAddr += off;
-
- res = bl_flash_write(startAddr, (uint8_t *)buffer, size );
-
-
- return res;
+ //res = bl_flash_write(startAddr, (uint8_t*)buffer, size);
+ res = bl_mtd_write(lfs_handle, startAddr, size, (uint8_t*)buffer);
+ return res;
}
// Erase a block. A block must be erased before being programmed.
// The state of an erased block is undefined. Negative error codes
// are propogated to the user.
// May return LFS_ERR_CORRUPT if the block should be considered bad.
-static int lfs_erase(const struct lfs_config *c, lfs_block_t block){
- int res;
- unsigned int startAddr = LFS_Start;
- startAddr += block*LFS_BLOCK_SIZE;
- res = bl_flash_erase(startAddr, LFS_BLOCK_SIZE);
- return res;
+static int lfs_erase(const struct lfs_config *c, lfs_block_t block)
+{
+ if(!lfs_init) return 0;
+ int res;
+
+ unsigned int startAddr = LFS_Start;
+ startAddr += block * LFS_BLOCK_SIZE;
+
+ //res = bl_flash_erase(startAddr, LFS_BLOCK_SIZE);
+ res = bl_mtd_erase(lfs_handle, startAddr, LFS_BLOCK_SIZE);
+ return res;
}
-
-
#elif PLATFORM_LN882H
static int lfs_read(const struct lfs_config *c, lfs_block_t block,
@@ -899,6 +924,52 @@ static int lfs_erase(const struct lfs_config* c, lfs_block_t block)
return res;
}
+#elif PLATFORM_W800 || PLATFORM_W600
+
+static int lfs_read(const struct lfs_config* c, lfs_block_t block,
+ lfs_off_t off, void* buffer, lfs_size_t size)
+{
+ int res;
+
+ unsigned int startAddr = LFS_Start;
+ startAddr += block * LFS_BLOCK_SIZE;
+ startAddr += off;
+
+ res = tls_fls_read(startAddr, (unsigned char*)buffer, size);
+ return res;
+}
+
+// Program a region in a block. The block must have previously
+// been erased. Negative error codes are propogated to the user.
+// May return LFS_ERR_CORRUPT if the block should be considered bad.
+static int lfs_write(const struct lfs_config* c, lfs_block_t block,
+ lfs_off_t off, const void* buffer, lfs_size_t size)
+{
+ int res;
+
+ unsigned int startAddr = LFS_Start;
+ startAddr += block * LFS_BLOCK_SIZE;
+ startAddr += off;
+
+ res = tls_fls_write(startAddr, (unsigned char*)buffer, size);
+ return res;
+}
+
+// Erase a block. A block must be erased before being programmed.
+// The state of an erased block is undefined. Negative error codes
+// are propogated to the user.
+// May return LFS_ERR_CORRUPT if the block should be considered bad.
+static int lfs_erase(const struct lfs_config* c, lfs_block_t block)
+{
+ int res;
+
+ unsigned int startAddr = LFS_Start;
+ startAddr += block * LFS_BLOCK_SIZE;
+
+ res = tls_fls_erase(startAddr / LFS_BLOCK_SIZE);
+ return res;
+}
+
#endif
// Sync the state of the underlying block device. Negative error codes
diff --git a/src/littlefs/our_lfs.h b/src/littlefs/our_lfs.h
index dda9b75dc..6865eddad 100644
--- a/src/littlefs/our_lfs.h
+++ b/src/littlefs/our_lfs.h
@@ -45,12 +45,13 @@
#define LFS_BLOCKS_START_MIN 0x12B000
// end of OTA flash
#define LFS_BLOCKS_END 0x1D0000
+
#elif PLATFORM_BL602
-// start media partition in bldevcube 1.4.8 partition config
-#define LFS_BLOCKS_START 0x192000
-#define LFS_BLOCKS_START_MIN 0x192000
-// end media partition
-#define LFS_BLOCKS_END 0x1E9000
+
+#define LFS_BLOCKS_START 0x0
+#define LFS_BLOCKS_START_MIN 0x0
+#define LFS_BLOCKS_END 0x80000000
+#define LFS_BLOCKS_MAX_LEN 0x80000000
#elif PLATFORM_LN882H
// start0x1000 after OTA addr (OTA, start_addr: 0x00133000, size_KB: 0x000AA000)
@@ -106,6 +107,21 @@
#define LFS_BLOCKS_START_MIN 0x1D5000
#define LFS_BLOCKS_END 0x1D5000 + 0x22000
+#elif PLATFORM_W600
+
+#define LFS_BLOCKS_START 0xE8000
+#define LFS_BLOCKS_START_MIN 0xE8000
+#define LFS_BLOCKS_END 0xF0000
+#define LFS_BLOCKS_MAX_LEN (0xF0000 - 0xE8000)
+
+#elif PLATFORM_W800
+
+// tuya config offset
+#define LFS_BLOCKS_START 0x1C0000
+#define LFS_BLOCKS_START_MIN 0x1C0000
+#define LFS_BLOCKS_END 0x1DB000
+#define LFS_BLOCKS_MAX_LEN (0x1DB000 - 0x1C0000)
+
#else
// TODO
// start 0x1000 after OTA addr
diff --git a/src/memory/memtest.c b/src/memory/memtest.c
index c7716ee49..28e20ce1d 100644
--- a/src/memory/memtest.c
+++ b/src/memory/memtest.c
@@ -6,9 +6,6 @@
//
-#include "include.h"
-#include "arm_arch.h"
-#include "sys_rtos.h"
#include "../new_common.h"
#include "../memory/memtest.h"
@@ -17,6 +14,10 @@
#ifdef PLATFORM_BK7231T
+#include "include.h"
+#include "arm_arch.h"
+#include "sys_rtos.h"
+
////////////////////////////////////////////////////////////
// variables to mimic those used in mem_arch.c/heap_4.c
static const size_t xHeapStructSize = ( sizeof( BlockLink_t ) + ( ( size_t ) ( portBYTE_ALIGNMENT - 1 ) ) ) & ~( ( size_t ) portBYTE_ALIGNMENT_MASK );
diff --git a/src/mqtt/new_mqtt.c b/src/mqtt/new_mqtt.c
index 42a9815c1..af21cd874 100644
--- a/src/mqtt/new_mqtt.c
+++ b/src/mqtt/new_mqtt.c
@@ -1765,7 +1765,7 @@ static void mqtt_timer_thread(void* param)
MQTT_Test_Tick(param);
}
}
-#elif PLATFORM_XR809 || PLATFORM_LN882H
+#elif PLATFORM_XR809 || PLATFORM_LN882H || PLATFORM_XR872
static OS_Timer_t timer;
#else
static beken_timer_t g_mqtt_timer;
@@ -1799,7 +1799,7 @@ commandResult_t MQTT_StartMQTTTestThread(const void* context, const char* cmd, c
#elif PLATFORM_BL602 || PLATFORM_W600 || PLATFORM_W800 || PLATFORM_ESPIDF || PLATFORM_TR6260 \
|| PLATFORM_REALTEK || PLATFORM_ECR6600
xTaskCreate(mqtt_timer_thread, "mqtt", 1024, (void*)info, 15, NULL);
-#elif PLATFORM_XR809 || PLATFORM_LN882H
+#elif PLATFORM_XR809 || PLATFORM_LN882H || PLATFORM_XR872
OS_TimerSetInvalid(&timer);
if (OS_TimerCreate(&timer, OS_TIMER_PERIODIC, MQTT_Test_Tick, (void*)info, MQTT_TMR_DURATION) != OS_OK)
{
diff --git a/src/new_common.h b/src/new_common.h
index 45ba4d993..e01a2756d 100644
--- a/src/new_common.h
+++ b/src/new_common.h
@@ -187,6 +187,7 @@ This platform is not supported, error!
#elif PLATFORM_ECR6600
#define USER_SW_VER "ECR6600_Test"
#else
+#warning "USER_SW_VER undefined"
#define USER_SW_VER "unknown"
#endif
#endif
@@ -338,7 +339,7 @@ typedef int (*beken_thread_function_t)(void *p);
#define kNoErr 0 //! No error occurred.
typedef void *beken_thread_arg_t;
-typedef void *beken_thread_t;
+typedef xTaskHandle beken_thread_t;
typedef void (*beken_thread_function_t)( beken_thread_arg_t arg );
typedef int OSStatus;
@@ -353,15 +354,14 @@ OSStatus rtos_create_thread( beken_thread_t* thread,
uint32_t stack_size, beken_thread_arg_t arg );
OSStatus rtos_suspend_thread(beken_thread_t* thread);
typedef unsigned int u32;
-
+
+#define OBK_OTA_EXTENSION ".bin.xz.ota"
#elif PLATFORM_XR809 || PLATFORM_XR872
-
-
-typedef int bool;
-#define true 1
-#define false 0
+#include
+#include "FreeRTOS.h"
+#include "task.h"
typedef unsigned char u8;
typedef unsigned char uint8_t;
@@ -374,7 +374,7 @@ typedef unsigned int UINT32;
#define os_free free
#define os_memset memset
-#if PLATFORM_XR806
+#if PLATFORM_XR806 || PLATFORM_XR872
#else
#define close lwip_close
@@ -417,18 +417,28 @@ OSStatus rtos_suspend_thread(beken_thread_t* thread);
#include
#include
#include "lwip/sys.h"
+#include
-#define portTICK_RATE_MS ( ( portTickType ) 1000 / configTICK_RATE_HZ )
+#define GLOBAL_INT_DECLARATION() ;
+#define GLOBAL_INT_DISABLE() ;
+#define GLOBAL_INT_RESTORE() ;
+
+#ifndef portTICK_RATE_MS
+#define portTICK_RATE_MS ( ( portTickType ) 1000 / configTICK_RATE_HZ )
+#endif
#define bk_printf printf
#define os_strcpy strcpy
-#define os_malloc malloc
-#define os_free free
#define os_memset memset
+#define os_malloc pvPortMalloc
+#define os_free vPortFree
+#define realloc pvPortRealloc
+#ifndef portTICK_PERIOD_MS
#define portTICK_PERIOD_MS portTICK_RATE_MS
+#endif
-#define rtos_delay_milliseconds sys_msleep
+#define rtos_delay_milliseconds(x) vTaskDelay(x / portTICK_PERIOD_MS)
#define delay_ms sys_msleep
#define SemaphoreHandle_t xSemaphoreHandle
@@ -437,7 +447,7 @@ OSStatus rtos_suspend_thread(beken_thread_t* thread);
#define kNoErr 0 //! No error occurred.
typedef void *beken_thread_arg_t;
-typedef void *beken_thread_t;
+typedef xTaskHandle *beken_thread_t;
typedef void (*beken_thread_function_t)( beken_thread_arg_t arg );
typedef int OSStatus;
@@ -452,11 +462,14 @@ OSStatus rtos_create_thread( beken_thread_t* thread,
uint32_t stack_size, beken_thread_arg_t arg );
OSStatus rtos_suspend_thread(beken_thread_t* thread);
+#define OBK_OTA_EXTENSION ".img"
#elif PLATFORM_LN882H
// TODO:LN882H Platform setup here.
#include
+#include
+#include
#define ASSERT
#define os_strcpy strcpy
@@ -469,7 +482,7 @@ OSStatus rtos_suspend_thread(beken_thread_t* thread);
#define kNoErr 0 //! No error occurred.
#define rtos_delay_milliseconds OS_MsDelay
typedef void *beken_thread_arg_t;
-typedef void *beken_thread_t;
+typedef xTaskHandle beken_thread_t;
typedef void (*beken_thread_function_t)( beken_thread_arg_t arg );
typedef int OSStatus;
@@ -484,6 +497,9 @@ OSStatus rtos_create_thread( beken_thread_t* thread,
uint32_t stack_size, beken_thread_arg_t arg );
OSStatus rtos_suspend_thread(beken_thread_t* thread);
+#define OBK_OTA_EXTENSION ".bin"
+#define OBK_OTA_NAME_EXTENSION "_OTA"
+
#elif PLATFORM_ESPIDF
#include
@@ -505,7 +521,7 @@ OSStatus rtos_suspend_thread(beken_thread_t* thread);
#define kNoErr 0 //! No error occurred.
#define rtos_delay_milliseconds sys_delay_ms
typedef void* beken_thread_arg_t;
-typedef void* beken_thread_t;
+typedef TaskHandle_t beken_thread_t;
typedef void (*beken_thread_function_t)(beken_thread_arg_t arg);
typedef int OSStatus;
@@ -526,6 +542,8 @@ OSStatus rtos_suspend_thread(beken_thread_t* thread);
#define delay_ms sys_delay_ms
#define UINT32 uint32_t
+#define OBK_OTA_EXTENSION ".img"
+
#elif PLATFORM_TR6260
#include "FreeRTOS.h"
@@ -567,7 +585,7 @@ typedef unsigned int UINT32;
#define kNoErr 0 //! No error occurred.
typedef void* beken_thread_arg_t;
-typedef void* beken_thread_t;
+typedef xTaskHandle beken_thread_t;
typedef void (*beken_thread_function_t)(beken_thread_arg_t arg);
typedef int OSStatus;
@@ -585,6 +603,8 @@ OSStatus rtos_suspend_thread(beken_thread_t* thread);
#define GLOBAL_INT_DISABLE() ;
#define GLOBAL_INT_RESTORE() ;
+#define OBK_OTA_EXTENSION ".img"
+
#elif PLATFORM_REALTEK
#include
@@ -644,7 +664,7 @@ extern int g_sleepfactor;
#define kNoErr 0 //! No error occurred.
typedef void* beken_thread_arg_t;
-typedef void* beken_thread_t;
+typedef xTaskHandle beken_thread_t;
typedef void (*beken_thread_function_t)(beken_thread_arg_t arg);
typedef int OSStatus;
@@ -662,6 +682,8 @@ OSStatus rtos_suspend_thread(beken_thread_t* thread);
#define GLOBAL_INT_DISABLE() ;
#define GLOBAL_INT_RESTORE() ;
+#define OBK_OTA_EXTENSION ".img"
+
#elif PLATFORM_ECR6600
#include "FreeRTOS.h"
@@ -701,7 +723,7 @@ extern void sys_delay_ms(uint32_t ms);
#define kNoErr 0 //! No error occurred.
typedef void* beken_thread_arg_t;
-typedef void* beken_thread_t;
+typedef xTaskHandle beken_thread_t;
typedef void (*beken_thread_function_t)(beken_thread_arg_t arg);
typedef int OSStatus;
@@ -719,6 +741,8 @@ OSStatus rtos_suspend_thread(beken_thread_t* thread);
#define GLOBAL_INT_DISABLE() ;
#define GLOBAL_INT_RESTORE() ;
+#define OBK_OTA_EXTENSION ".img"
+
#else
#include "gw_intf.h"
@@ -737,18 +761,12 @@ OSStatus rtos_suspend_thread(beken_thread_t* thread);
void delay_ms(UINT32 ms_count);
+#define OBK_OTA_EXTENSION ".rbl"
+
#endif
typedef unsigned char byte;
-
-#if PLATFORM_XR809
-#define LWIP_COMPAT_SOCKETS 1
-#define LWIP_POSIX_SOCKETS_IO_NAMES 1
-#endif
-
-
-
#if WINDOWS
#undef UNICODE
diff --git a/src/new_pins.h b/src/new_pins.h
index 489becc75..df12a868e 100644
--- a/src/new_pins.h
+++ b/src/new_pins.h
@@ -1503,7 +1503,7 @@ const char *ChannelType_GetUnit(int type);
int ChannelType_GetDivider(int type);
int ChannelType_GetDecimalPlaces(int type);
-//int PIN_GetPWMIndexForPinIndex(int pin);
+int PIN_GetPWMIndexForPinIndex(int pin);
int PIN_ParsePinRoleName(const char* name);
const char* PIN_RoleToString(int role);
diff --git a/src/obk_config.h b/src/obk_config.h
index 482d4b10d..8aed66e14 100644
--- a/src/obk_config.h
+++ b/src/obk_config.h
@@ -4,6 +4,16 @@
#ifndef OBK_CONFIG_H
#define OBK_CONFIG_H
+#define OBK_VARIANT_DEFAULT 0
+#define OBK_VARIANT_BERRY 1
+#define OBK_VARIANT_TUYAMCU 2
+#define OBK_VARIANT_POWERMETERING 3
+#define OBK_VARIANT_IRREMOTEESP 4
+#define OBK_VARIANT_SENSORS 5
+#define OBK_VARIANT_ESP2M 1
+#define OBK_VARIANT_ESP4M 2
+#define OBK_VARIANT_ESP2M_BERRY 3
+
// Starts with all driver flags undefined
@@ -24,55 +34,59 @@
#if PLATFORM_XR809
-#define ENABLE_MQTT 1
-#define NO_CHIP_TEMPERATURE 1
-#define OBK_DISABLE_ALL_DRIVERS 1
+#define ENABLE_MQTT 1
+#define NO_CHIP_TEMPERATURE 1
+#define OBK_DISABLE_ALL_DRIVERS 1
+#define ENABLE_HA_DISCOVERY 1
#elif PLATFORM_XR872
-#define NO_CHIP_TEMPERATURE 1
-#define OBK_DISABLE_ALL_DRIVERS 1
+#define ENABLE_MQTT 1
+#define NO_CHIP_TEMPERATURE 1
+#define OBK_DISABLE_ALL_DRIVERS 1
+#define ENABLE_HA_DISCOVERY 1
#elif PLATFORM_W600
// parse things like $CH1 or $hour etc
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_DRIVER_BMP280 1
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_OPENWEATHERMAP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_MQTT 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DS1820 1
-#define OBK_OTA_EXTENSION ".img"
-#define ENABLE_OBK_SCRIPTING 1
+#define ENABLE_EXPAND_CONSTANT 1
+#define ENABLE_HA_DISCOVERY 1
+#define ENABLE_DRIVER_SSDP 1
+#define ENABLE_MQTT 1
+#define ENABLE_TASMOTADEVICEGROUPS 1
+#define ENABLE_NTP 1
+//#define ENABLE_NTP_DST 1
+#define ENABLE_DRIVER_BL0937 1
+#define ENABLE_DRIVER_DHT 1
+#define ENABLE_TASMOTA_JSON 1
+#define ENABLE_DRIVER_DS1820 1
+#define ENABLE_OBK_SCRIPTING 1
+#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
+#define ENABLE_LITTLEFS 1
#elif PLATFORM_W800
// parse things like $CH1 or $hour etc
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_DRIVER_OPENWEATHERMAP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_DRIVER_CHARTS 1
-#define ENABLE_MQTT 1
-#define ENABLE_DRIVER_SHT3X 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_NTP 1
-#define ENABLE_DRIVER_BMP280 1
-#define OBK_OTA_EXTENSION ".img"
-#define ENABLE_I2C 1
-#define ENABLE_OBK_SCRIPTING 1
-
+#define ENABLE_EXPAND_CONSTANT 1
+#define ENABLE_HA_DISCOVERY 1
+#define ENABLE_DRIVER_OPENWEATHERMAP 1
+#define ENABLE_DRIVER_SSDP 1
+#define ENABLE_DRIVER_CHARTS 1
+#define ENABLE_MQTT 1
+#define ENABLE_DRIVER_SHT3X 1
+#define ENABLE_DRIVER_AHT2X 1
+#define ENABLE_TASMOTA_JSON 1
+#define ENABLE_DRIVER_DS1820 1
+#define ENABLE_DRIVER_DHT 1
+#define ENABLE_NTP 1
+#define ENABLE_DRIVER_BMPI2C 1
+#define ENABLE_DRIVER_CHT83XX 1
+#define ENABLE_I2C 1
+#define ENABLE_OBK_SCRIPTING 1
+#define ENABLE_OBK_BERRY 1
+#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
+#define ENABLE_LITTLEFS 1
+#define NEW_TCP_SERVER 1
#elif WINDOWS
@@ -169,9 +183,11 @@
#define ENABLE_DRIVER_CHT83XX 1
#define ENABLE_DRIVER_DS1820 1
#define ENABLE_OBK_SCRIPTING 1
-#define OBK_OTA_EXTENSION ".bin.xz.ota"
//#define ENABLE_I2C 1
+#if (OBK_VARIANT == OBK_VARIANT_BERRY)
+#define ENABLE_OBK_BERRY 1
+#endif
#elif PLATFORM_BEKEN
@@ -231,11 +247,9 @@
#define ENABLE_DRIVER_ADCSMOOTHER 1
#define ENABLE_OBK_SCRIPTING 1
//#define ENABLE_DRIVER_OPENWEATHERMAP 1
-#define OBK_OTA_EXTENSION ".rbl"
#if PLATFORM_BEKEN_NEW
#define NEW_TCP_SERVER 1
#endif
-// #define ENABLE_OBK_BERRY 1
// ENABLE_I2C_ is a syntax for
// our I2C system defines for drv_i2c_main.c
@@ -243,64 +257,113 @@
//#define ENABLE_I2C_MCP23017 1
//#define ENABLE_I2C_LCD_PCF8574 1
+#if (OBK_VARIANT == OBK_VARIANT_BERRY || OBK_VARIANT == OBK_VARIANT_TUYAMCU \
+ || OBK_VARIANT == OBK_VARIANT_POWERMETERING || OBK_VARIANT == OBK_VARIANT_IRREMOTEESP)
+#define ENABLE_OBK_BERRY 1
+#endif
+
+#if (OBK_VARIANT == OBK_VARIANT_TUYAMCU || OBK_VARIANT == OBK_VARIANT_POWERMETERING \
+ || OBK_VARIANT == OBK_VARIANT_IRREMOTEESP)
+#undef ENABLE_DRIVER_LED
+#undef ENABLE_I2C
+#undef ENABLE_DRIVER_BATTERY
+#undef ENABLE_DRIVER_SM16703P
+#undef ENABLE_DRIVER_PIXELANIM
+#undef ENABLE_DRIVER_SM15155E
+#undef ENABLE_DRIVER_DHT
+#undef ENABLE_DRIVER_AHT2X
+#undef ENABLE_DRIVER_IR
+#undef ENABLE_DRIVER_DS1820
+#undef ENABLE_DRIVER_CHT83XX
+#undef ENABLE_DRIVER_KP18058
+#undef ENABLE_DRIVER_ADCSMOOTHER
+#endif
+
+#if (OBK_VARIANT == OBK_VARIANT_TUYAMCU || OBK_VARIANT == OBK_VARIANT_IRREMOTEESP \
+ || OBK_VARIANT == OBK_VARIANT_SENSORS)
+#undef ENABLE_DRIVER_BL0937
+#undef ENABLE_DRIVER_BL0942
+#undef ENABLE_DRIVER_BL0942SPI
+#undef ENABLE_DRIVER_CSE7766
+#undef ENABLE_DRIVER_BRIDGE
+#endif
+
+#if (OBK_VARIANT == OBK_VARIANT_POWERMETERING || OBK_VARIANT == OBK_VARIANT_IRREMOTEESP \
+ || OBK_VARIANT == OBK_VARIANT_SENSORS)
+#undef ENABLE_DRIVER_TUYAMCU
+#endif
+
+#if (OBK_VARIANT == OBK_VARIANT_IRREMOTEESP)
+#undef ENABLE_DRIVER_DDP
+#define ENABLE_DRIVER_IRREMOTEESP 1
+#endif
+
+#if (OBK_VARIANT == OBK_VARIANT_SENSORS)
+#define ENABLE_DRIVER_BMP280 1
+#define ENABLE_DRIVER_BMPI2C 1
+#define ENABLE_DRIVER_SHT3X 1
+#endif
#elif PLATFORM_LN882H
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-//#define OBK_DISABLE_ALL_DRIVERS 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_HUE 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_LITTLEFS 1
-#define ENABLE_TEST_COMMANDS 0
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_DRIVER_OPENWEATHERMAP 1
-//#define ENABLE_DRIVER_TMGN 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_OBK_SCRIPTING 1
-#define ENABLE_DRIVER_SSDP 1
-#define OBK_OTA_EXTENSION ".bin"
-#define OBK_OTA_NAME_EXTENSION "_OTA"
+#define ENABLE_HA_DISCOVERY 1
+#define ENABLE_MQTT 1
+#define ENABLE_TASMOTADEVICEGROUPS 1
+#define ENABLE_NTP 1
+//#define ENABLE_NTP_DST 1
+#define ENABLE_DRIVER_BL0937 1
+#define ENABLE_DRIVER_LED 1
+#define ENABLE_DRIVER_WEMO 1
+#define ENABLE_DRIVER_HUE 1
+#define ENABLE_DRIVER_DHT 1
+#define ENABLE_LITTLEFS 1
+#define ENABLE_TEST_COMMANDS 0
+#define ENABLE_EXPAND_CONSTANT 1
+#define ENABLE_DRIVER_OPENWEATHERMAP 1
+//#define ENABLE_DRIVER_TMGN 1
+#define ENABLE_TASMOTA_JSON 1
+#define ENABLE_DRIVER_DS1820 1
+#define ENABLE_OBK_SCRIPTING 1
+#define ENABLE_DRIVER_SSDP 1
+#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
+#define ENABLE_OBK_BERRY 1
#elif PLATFORM_ESPIDF
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-#define ENABLE_I2C 1
-#define ENABLE_NTP 1
-//#define ENABLE_NTP_DST 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_TUYAMCU 1
-#define ENABLE_LITTLEFS 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_BATTERY 1
-#define ENABLE_DRIVER_CHARTS 1
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_DRIVER_HUE 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_DRIVER_DDP 1
-#define ENABLE_DRIVER_SSDP 1
-#define ENABLE_DRIVER_CHT83XX 1
-//#define ENABLE_DRIVER_CSE7761 1
-#define ENABLE_OBK_SCRIPTING 1
-#define OBK_OTA_EXTENSION ".img"
+#define ENABLE_HA_DISCOVERY 1
+#define ENABLE_MQTT 1
+#define ENABLE_I2C 1
+#define ENABLE_NTP 1
+//#define ENABLE_NTP_DST 1
+#define ENABLE_DRIVER_LED 1
+#define ENABLE_DRIVER_TUYAMCU 1
+#define ENABLE_LITTLEFS 1
+#define ENABLE_DRIVER_BMPI2C 1
+#define ENABLE_DRIVER_DS1820 1
+#define ENABLE_DRIVER_DHT 1
+#define ENABLE_DRIVER_AHT2X 1
+#define ENABLE_DRIVER_BATTERY 1
+#define ENABLE_DRIVER_CHARTS 1
+#define ENABLE_EXPAND_CONSTANT 1
+#define ENABLE_DRIVER_HUE 1
+#define ENABLE_DRIVER_WEMO 1
+#define ENABLE_DRIVER_BL0937 1
+#define ENABLE_TASMOTADEVICEGROUPS 1
+#define ENABLE_TASMOTA_JSON 1
+#define ENABLE_CALENDAR_EVENTS 1
+#define ENABLE_DRIVER_DDP 1
+#define ENABLE_DRIVER_SSDP 1
+#define ENABLE_DRIVER_CHT83XX 1
+//#define ENABLE_DRIVER_CSE7761 1
+#define ENABLE_OBK_SCRIPTING 1
+#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
+
+#if (OBK_VARIANT == OBK_VARIANT_ESP4M || OBK_VARIANT == OBK_VARIANT_ESP2M_BERRY)
+#define ENABLE_OBK_BERRY 1
+#endif
#elif PLATFORM_TR6260
@@ -320,40 +383,9 @@
#define ENABLE_DRIVER_SSDP 1
#define ENABLE_OBK_SCRIPTING 1
#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
+#define ENABLE_OBK_BERRY 1
-#define OBK_OTA_EXTENSION ".img"
-
-#elif PLATFORM_RTL87X0C
-
-
-#define ENABLE_HA_DISCOVERY 1
-#define ENABLE_MQTT 1
-#define NO_CHIP_TEMPERATURE 1
-#define ENABLE_LITTLEFS 1
-#define NEW_TCP_SERVER 1
-#define ENABLE_DRIVER_TUYAMCU 1
-#define ENABLE_TASMOTADEVICEGROUPS 1
-#define ENABLE_NTP 1
-#define ENABLE_CALENDAR_EVENTS 1
-#define ENABLE_EXPAND_CONSTANT 1
-#define ENABLE_TASMOTA_JSON 1
-#define ENABLE_I2C 1
-#define ENABLE_DRIVER_AHT2X 1
-#define ENABLE_DRIVER_BMPI2C 1
-#define ENABLE_DRIVER_DS1820 1
-#define ENABLE_DRIVER_LED 1
-#define ENABLE_DRIVER_WEMO 1
-#define ENABLE_DRIVER_CHT83XX 1
-#define ENABLE_DRIVER_DHT 1
-#define ENABLE_DRIVER_BL0942 1
-#define ENABLE_DRIVER_BL0937 1
-#define ENABLE_DRIVER_CSE7766 1
-#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
-#define OBK_OTA_EXTENSION ".img"
-#define ENABLE_OBK_SCRIPTING 1
-//#define ENABLE_DRIVER_TCL 1
-
-#elif PLATFORM_RTL8710B || PLATFORM_RTL8710A || PLATFORM_RTL8720D
+#elif PLATFORM_REALTEK
#define ENABLE_HA_DISCOVERY 1
#define ENABLE_MQTT 1
@@ -378,10 +410,13 @@
#define ENABLE_DRIVER_BL0937 1
#define ENABLE_DRIVER_CSE7766 1
#define ENABLE_DRIVER_UART_TCP 1
-#define OBK_OTA_EXTENSION ".img"
-#define ENABLE_OBK_SCRIPTING 1
#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY 1
#define ENABLE_DRIVER_SSDP 1
+#define ENABLE_OBK_SCRIPTING 1
+
+#ifndef PLATFORM_RTL8710B
+#define ENABLE_OBK_BERRY 1
+#endif
//#define ENABLE_DRIVER_TCL 1
#elif PLATFORM_ECR6600
@@ -409,8 +444,7 @@
#define ENABLE_DRIVER_TUYAMCU 1
#define ENABLE_DRIVER_BL0942 1
#define ENABLE_DRIVER_BL0937 1
-
-#define OBK_OTA_EXTENSION ".img"
+#define ENABLE_OBK_BERRY 1
#else
diff --git a/src/ota/ota.c b/src/ota/ota.c
index 7e4be0e86..d1bc45bf3 100644
--- a/src/ota/ota.c
+++ b/src/ota/ota.c
@@ -4,7 +4,7 @@
//W600 uses OTA functions from its SDK.
-#else
+#elif PLATFORM_BEKEN
#include "../new_common.h"
#include "../new_cfg.h"
diff --git a/src/user_main.c b/src/user_main.c
index 05b1fd7fc..8c4862fc3 100644
--- a/src/user_main.c
+++ b/src/user_main.c
@@ -2,7 +2,6 @@
*/
//
-
#include "hal/hal_wifi.h"
#include "hal/hal_generic.h"
#include "hal/hal_flashVars.h"
@@ -624,7 +623,7 @@ void Main_OnEverySecond()
}
// On Beken, do reboot if we ran into heap size problem
-#if PLATFORM_BEKEN
+#if PLATFORM_BEKEN || PLATFORM_W800
if (xPortGetFreeHeapSize() < 25 * 1000) {
g_secondsSpentInLowMemoryWarning++;
ADDLOGF_ERROR("Low heap warning!\n");
@@ -939,6 +938,7 @@ void QuickTick(void* param)
SVM_RunThreads(g_deltaTimeMS);
#endif
#if ENABLE_OBK_BERRY
+ extern void Berry_RunThreads(int deltaMS);
Berry_RunThreads(g_deltaTimeMS);
#endif
RepeatingEvents_RunUpdate(g_deltaTimeMS * 0.001f);