From b559cbaa42bc6a7e1221feff46d234ec31c01612 Mon Sep 17 00:00:00 2001 From: Miroslav Pivovarsky Date: Fri, 12 Jul 2024 22:00:28 +0200 Subject: [PATCH] update build script --- fw_build.sh | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 67 insertions(+), 1 deletion(-) diff --git a/fw_build.sh b/fw_build.sh index a99db0a..3bc52a0 100644 --- a/fw_build.sh +++ b/fw_build.sh @@ -80,6 +80,7 @@ # 8. Install necessary libraries: # ./arduino-cli lib install ArduinoJson # ./arduino-cli lib install ArduinoUniqueID +# ./arduino-cli lib install DHTNEW # ./arduino-cli lib install --zip-path ../libraries/zip/AsyncTCP-3.1.4.zip # ./arduino-cli lib install --zip-path ../libraries/zip/ESPAsyncWebServer-2.10.8.zip # Check installed libraries again: @@ -89,7 +90,18 @@ # ./arduino-cli core install esp32:esp32 # --------------------------------------------- +set -e + +if [ -d "build" ]; then + rm -rf build +fi + cd ESP32_PrusaConnectCam +if [ ! -f arduino-cli ]; then + echo "arduino-cli not found. Please download arduino-cli and place it in the same folder as this script." + exit 1 +fi + mkdir -p ../build/output build_start=`date` @@ -100,6 +112,10 @@ echo "Building Ai Thinker board" mkdir -p ../build/esp32-cam sed -i 's/#define \(AI_THINKER_ESP32_CAM\|ESP32_WROVER_DEV\|CAMERA_MODEL_ESP32_S3_DEV_CAM\|CAMERA_MODEL_ESP32_S3_EYE_2_2\|CAMERA_MODEL_XIAO_ESP32_S3_CAM\|CAMERA_MODEL_ESP32_S3_CAM\) .*/#define \1 false/' mcu_cfg.h && sed -i 's/#define AI_THINKER_ESP32_CAM false/#define AI_THINKER_ESP32_CAM true/' mcu_cfg.h ./arduino-cli compile -v -b esp32:esp32:esp32cam:CPUFreq=240,FlashFreq=80,FlashMode=dio,PartitionScheme=min_spiffs,DebugLevel=none,EraseFlash=none --output-dir ../build/esp32-cam +if [ $? -ne 0 ]; then + echo "Build failed, exiting." + exit 1 +fi rm -f ../build/esp32-cam/ESP32_PrusaConnectCam.ino.elf rm -f ../build/esp32-cam/ESP32_PrusaConnectCam.ino.map @@ -116,6 +132,10 @@ echo "Building ESP32 Wrover Dev board" mkdir ../build/esp32-wrover-dev sed -i 's/#define \(AI_THINKER_ESP32_CAM\|ESP32_WROVER_DEV\|CAMERA_MODEL_ESP32_S3_DEV_CAM\|CAMERA_MODEL_ESP32_S3_EYE_2_2\|CAMERA_MODEL_XIAO_ESP32_S3_CAM\|CAMERA_MODEL_ESP32_S3_CAM\) .*/#define \1 false/' mcu_cfg.h && sed -i 's/#define ESP32_WROVER_DEV false/#define ESP32_WROVER_DEV true/' mcu_cfg.h ./arduino-cli compile -v -b esp32:esp32:esp32wrover:FlashFreq=80,FlashMode=dio,PartitionScheme=min_spiffs,DebugLevel=none,EraseFlash=none --output-dir ../build/esp32-wrover-dev +if [ $? -ne 0 ]; then + echo "Build failed, exiting." + exit 1 +fi rm -f ../build/esp32-wrover-dev/ESP32_PrusaConnectCam.ino.elf rm -f ../build/esp32-wrover-dev/ESP32_PrusaConnectCam.ino.map @@ -131,8 +151,11 @@ echo "----------------------------------------------" echo "Building ESP32-S3-EYE 2.2 board" mkdir ../build/esp32-s3-eye-22 sed -i 's/#define \(AI_THINKER_ESP32_CAM\|ESP32_WROVER_DEV\|CAMERA_MODEL_ESP32_S3_DEV_CAM\|CAMERA_MODEL_ESP32_S3_EYE_2_2\|CAMERA_MODEL_XIAO_ESP32_S3_CAM\|CAMERA_MODEL_ESP32_S3_CAM\) .*/#define \1 false/' mcu_cfg.h && sed -i 's/#define CAMERA_MODEL_ESP32_S3_EYE_2_2 false/#define CAMERA_MODEL_ESP32_S3_EYE_2_2 true/' mcu_cfg.h - ./arduino-cli compile -v -b esp32:esp32:esp32s3:USBMode=hwcdc,CDCOnBoot=cdc,MSCOnBoot=default,DFUOnBoot=default,UploadMode=cdc,CPUFreq=240,FlashMode=dio,FlashSize=8M,PartitionScheme=min_spiffs,DebugLevel=none,PSRAM=opi,LoopCore=0,EventsCore=0,EraseFlash=none,JTAGAdapter=default,ZigbeeMode=default --output-dir ../build/esp32-s3-eye-22 +if [ $? -ne 0 ]; then + echo "Build failed, exiting." + exit 1 +fi rm -f ../build/esp32-s3-eye-22/ESP32_PrusaConnectCam.ino.elf rm -f ../build/esp32-s3-eye-22/ESP32_PrusaConnectCam.ino.map @@ -142,11 +165,54 @@ cp ../build/esp32-s3-eye-22/ESP32_PrusaConnectCam.ino.bin ../build/output/ESP32S cd ../build/esp32-s3-eye-22 && zip -r ../esp32-s3-eye-22.zip . && cd - mv ../build/esp32-s3-eye-22.zip ../build/output/ +# ----------------- XIAO ESP32-S3 Sense ----------------- +# build XIAO ESP32-S3 Sense +echo "----------------------------------------------" +echo "Building XIAO ESP32-S3 Sense" +mkdir ../build/xiao-esp32-s3 +sed -i 's/#define \(AI_THINKER_ESP32_CAM\|ESP32_WROVER_DEV\|CAMERA_MODEL_ESP32_S3_DEV_CAM\|CAMERA_MODEL_ESP32_S3_EYE_2_2\|CAMERA_MODEL_XIAO_ESP32_S3_CAM\|CAMERA_MODEL_ESP32_S3_CAM\) .*/#define \1 false/' mcu_cfg.h && sed -i 's/#define CAMERA_MODEL_XIAO_ESP32_S3_CAM false/#define CAMERA_MODEL_XIAO_ESP32_S3_CAM true/' mcu_cfg.h +./arduino-cli compile -v -b esp32:esp32:XIAO_ESP32S3:USBMode=hwcdc,CDCOnBoot=default,MSCOnBoot=default,DFUOnBoot=default,UploadMode=default,CPUFreq=160,FlashMode=qio,FlashSize=8M,PartitionScheme=default_8MB,DebugLevel=none,PSRAM=opi,LoopCore=1,EventsCore=1,EraseFlash=none,JTAGAdapter=default --output-dir ../build/xiao-esp32-s3 +if [ $? -ne 0 ]; then + echo "Build failed, exiting." + exit 1 +fi + +rm -f ../build/xiao-esp32-s3/ESP32_PrusaConnectCam.ino.elf +rm -f ../build/xiao-esp32-s3/ESP32_PrusaConnectCam.ino.map +rm -f ../build/xiao-esp32-s3/ESP32_PrusaConnectCam.ino.merged.bin +cp ../build/xiao-esp32-s3/ESP32_PrusaConnectCam.ino.bin ../build/output/XIAO_ESP32S3.bin + +cd ../build/xiao-esp32-s3 && zip -r ../xiao-esp32-s3.zip . && cd - +mv ../build/xiao-esp32-s3.zip ../build/output/ + +# ----------------- ESP32-S3-CAM ----------------- +# build ESP32-S3-CAM +echo "----------------------------------------------" +echo "Building ESP32-S3-CAM" +mkdir ../build/esp32-s3-cam +sed -i 's/#define \(AI_THINKER_ESP32_CAM\|ESP32_WROVER_DEV\|CAMERA_MODEL_ESP32_S3_DEV_CAM\|CAMERA_MODEL_ESP32_S3_EYE_2_2\|CAMERA_MODEL_XIAO_ESP32_S3_CAM\|CAMERA_MODEL_ESP32_S3_CAM\) .*/#define \1 false/' mcu_cfg.h && sed -i 's/#define CAMERA_MODEL_ESP32_S3_CAM false/#define CAMERA_MODEL_ESP32_S3_CAM true/' mcu_cfg.h +./arduino-cli compile -v -b esp32:esp32:esp32s3:USBMode=hwcdc,CDCOnBoot=default,MSCOnBoot=default,DFUOnBoot=default,UploadMode=default,CPUFreq=240,FlashMode=dio,FlashSize=16M,PartitionScheme=min_spiffs,DebugLevel=none,PSRAM=opi,LoopCore=0,EventsCore=0,EraseFlash=none,JTAGAdapter=default,ZigbeeMode=default --output-dir ../build/esp32-s3-cam +if [ $? -ne 0 ]; then + echo "Build failed, exiting." + exit 1 +fi + +rm -f ../build/esp32-s3-cam/ESP32_PrusaConnectCam.ino.elf +rm -f ../build/esp32-s3-cam/ESP32_PrusaConnectCam.ino.map +rm -f ../build/esp32-s3-cam/ESP32_PrusaConnectCam.ino.merged.bin +cp ../build/esp32-s3-cam/ESP32_PrusaConnectCam.ino.bin ../build/output/esp32-s3-cam.bin + +cd ../build/esp32-s3-cam && zip -r ../esp32-s3-cam.zip . && cd - +mv ../build/esp32-s3-cam.zip ../build/output/ + # -------------------------------------------------------- +# Print build completion message echo "----------------------------------------------" echo "Build completed. Output files are in the output folder." echo "Start build: $build_start" echo "End build: `date`" +echo "" +ls -lah ../build/output/ exit 0