From f09d19feace0fab16704924effc7ab21fa6c4e01 Mon Sep 17 00:00:00 2001 From: Thomas Farstrike Date: Wed, 8 Oct 2025 16:19:26 +0200 Subject: [PATCH] Add support for fri3d-2024 building --- scripts/build_lvgl_micropython.sh | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/scripts/build_lvgl_micropython.sh b/scripts/build_lvgl_micropython.sh index f6c0d967..69b16190 100755 --- a/scripts/build_lvgl_micropython.sh +++ b/scripts/build_lvgl_micropython.sh @@ -1,12 +1,15 @@ target="$1" buildtype="$2" - +subtarget="$3" if [ -z "$target" -o -z "$buildtype" ]; then - echo "Usage: $0 " + echo "Usage: $0 target buildtype [optional subtarget]" + echo "Usage: $0 []" echo "Example: $0 unix dev" - echo "Example: $0 esp32 prod" + echo "Example: $0 esp32 prod # defaults to waveshare-esp32-s3-touch-lcd-2" + echo "Example: $0 esp32 prod waveshare-esp32-s3-touch-lcd-2" + echo "Example: $0 esp32 prod fri3d-2024" echo echo "A 'dev' build is without any preinstalled files or builtin/ filsystem, so it will just start with a black screen and you'll have to do: ./scripts/install.sh to install the User Interface." echo "A 'prod' build has the files from manifest*.py frozen in. Don't forget to run: ./scripts/freezefs_mount_builtin.sh !" @@ -17,13 +20,16 @@ if [ "$buildtype" == "prod" ]; then ./scripts/freezefs_mount_builtin.sh fi -pushd ~/projects/MicroPythonOS/lvgl_micropython - manifest="" if [ "$target" == "esp32" ]; then if [ "$buildtype" == "prod" ]; then - manifest="FROZEN_MANIFEST=/home/user/projects/MicroPythonOS/MicroPythonOS/manifest.py" + if [ "$subtarget" == "fri3d-2024" ]; then + cp internal_filesystem/boot_fri3d-2024.py /tmp/boot.py # dirty hack to have it included as boot.py by the manifest + manifest="FROZEN_MANIFEST=/home/user/projects/MicroPythonOS/MicroPythonOS/manifest_fri3d-2024.py" + else + manifest="FROZEN_MANIFEST=/home/user/projects/MicroPythonOS/MicroPythonOS/manifest.py" + fi else echo "Note that you can also prevent the builtin filesystem from being mounted by umounting it and creating a builtin/ folder." fi @@ -40,7 +46,9 @@ if [ "$target" == "esp32" ]; then # CONFIG_FREERTOS_USE_TRACE_FACILITY=y # CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID=y # CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y + pushd ~/projects/MicroPythonOS/lvgl_micropython python3 make.py --ota --partition-size=4194304 --flash-size=16 esp32 BOARD=ESP32_GENERIC_S3 BOARD_VARIANT=SPIRAM_OCT DISPLAY=st7789 INDEV=cst816s USER_C_MODULE=/home/user/projects/MicroPythonOS/micropython-camera-API/src/micropython.cmake USER_C_MODULE=/home/user/projects/MicroPythonOS/secp256k1-embedded-ecdh/micropython.cmake USER_C_MODULE=/home/user/projects/MicroPythonOS/MicroPythonOS/c_mpos/micropython.cmake CONFIG_FREERTOS_USE_TRACE_FACILITY=y CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID=y CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y "$manifest" + popd elif [ "$target" == "unix" -o "$target" == "macos" ]; then if [ "$buildtype" == "prod" ]; then manifest="FROZEN_MANIFEST=/home/user/projects/MicroPythonOS/MicroPythonOS/manifest_unix.py" @@ -49,9 +57,10 @@ elif [ "$target" == "unix" -o "$target" == "macos" ]; then #python3 make.py "$target" DISPLAY=sdl_display INDEV=sdl_pointer INDEV=sdl_keyboard "$manifest" # LV_CFLAGS are passed to USER_C_MODULES # STRIP= makes it so that debug symbols are kept + pushd ~/projects/MicroPythonOS/lvgl_micropython python3 make.py "$target" LV_CFLAGS="-g -O0 -ggdb -ljpeg" STRIP= DISPLAY=sdl_display INDEV=sdl_pointer INDEV=sdl_keyboard "$manifest" + popd else echo "invalid target $target" fi -popd