From b96b0279268008173abd11a2755763e8f71508aa Mon Sep 17 00:00:00 2001 From: Austin Date: Wed, 5 Mar 2025 17:19:59 -0500 Subject: [PATCH] Consume device-ui as a pio library (#6193) --- .gitmodules | 3 --- bin/platformio-custom.py | 7 ++++++- lib/device-ui | 1 - platformio.ini | 4 ++++ variants/mesh-tab/platformio.ini | 9 +++------ variants/picomputer-s3/platformio.ini | 10 +++------- variants/portduino/platformio.ini | 19 ++++++++++--------- .../seeed-sensecap-indicator/platformio.ini | 11 ++--------- variants/t-deck/platformio.ini | 9 +-------- variants/unphone/platformio.ini | 10 +++------- 10 files changed, 32 insertions(+), 51 deletions(-) delete mode 160000 lib/device-ui diff --git a/.gitmodules b/.gitmodules index 964204476..7c54ad513 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,9 +1,6 @@ [submodule "protobufs"] path = protobufs url = https://github.com/meshtastic/protobufs.git -[submodule "lib/device-ui"] - path = lib/device-ui - url = https://github.com/meshtastic/device-ui.git [submodule "meshtestic"] path = meshtestic url = https://github.com/meshtastic/meshTestic diff --git a/bin/platformio-custom.py b/bin/platformio-custom.py index 09e8e6d83..af228899f 100644 --- a/bin/platformio-custom.py +++ b/bin/platformio-custom.py @@ -125,4 +125,9 @@ for flag in flags: projenv.Append( CCFLAGS=flags, -) \ No newline at end of file +) + +for lb in env.GetLibBuilders(): + if lb.name == "meshtastic-device-ui": + lb.env.Append(CPPDEFINES=[("APP_VERSION", verObj["long"])]) + break diff --git a/lib/device-ui b/lib/device-ui deleted file mode 160000 index 22f9ac01e..000000000 --- a/lib/device-ui +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 22f9ac01ea319b88dd93af89418691402ee51bcd diff --git a/platformio.ini b/platformio.ini index e8348e002..61c9c6ed0 100644 --- a/platformio.ini +++ b/platformio.ini @@ -92,6 +92,10 @@ lib_deps = lib_deps = jgromes/RadioLib@7.1.2 +[device-ui_base] +lib_deps = + https://github.com/meshtastic/device-ui.git#8c3183e177a1d6452ce12b4f328bd3357bf7e21b + ; Common libs for environmental measurements in telemetry module ; (not included in native / portduino) [environmental_base] diff --git a/variants/mesh-tab/platformio.ini b/variants/mesh-tab/platformio.ini index f76c36bdd..9e3429ac5 100644 --- a/variants/mesh-tab/platformio.ini +++ b/variants/mesh-tab/platformio.ini @@ -47,14 +47,11 @@ build_flags = ${esp32s3_base.build_flags} -D LGFX_TOUCH_INT=41 -D VIEW_320x240 -D USE_PACKET_API - -I lib/device-ui/generated/ui_320x240 -I variants/mesh-tab build_src_filter = ${esp32_base.build_src_filter} - +<../lib/device-ui/generated/ui_320x240> - +<../lib/device-ui/resources> - +<../lib/device-ui/locale> - +<../lib/device-ui/source> -lib_deps = ${esp32_base.lib_deps} +lib_deps = + ${esp32_base.lib_deps} + ${device-ui_base.lib_deps} lovyan03/LovyanGFX@^1.2.0 [mesh_tab_xpt2046] diff --git a/variants/picomputer-s3/platformio.ini b/variants/picomputer-s3/platformio.ini index b8de94f12..7f769253c 100644 --- a/variants/picomputer-s3/platformio.ini +++ b/variants/picomputer-s3/platformio.ini @@ -54,11 +54,7 @@ build_flags = -D VIEW_320x240 ; -D USE_DOUBLE_BUFFER -D USE_PACKET_API - -I lib/device-ui/generated/ui_320x240 -build_src_filter = - ${env:picomputer-s3.build_src_filter} - +<../lib/device-ui/generated/ui_320x240> - +<../lib/device-ui/resources> - +<../lib/device-ui/locale> - +<../lib/device-ui/source> \ No newline at end of file +lib_deps = + ${env:picomputer-s3.lib_deps} + ${device-ui_base.lib_deps} diff --git a/variants/portduino/platformio.ini b/variants/portduino/platformio.ini index f77831ad7..9bf3313ce 100644 --- a/variants/portduino/platformio.ini +++ b/variants/portduino/platformio.ini @@ -18,6 +18,9 @@ build_flags = ${native_base.build_flags} [env:native-tft] extends = native_base build_type = release +lib_deps = + ${native_base.lib_deps} + ${device-ui_base.lib_deps} build_flags = ${native_base.build_flags} -Os -lX11 -linput -lxkbcommon -ffunction-sections -fdata-sections -Wl,--gc-sections -D MESHTASTIC_EXCLUDE_CANNEDMESSAGES=1 -D RAM_SIZE=16384 @@ -32,21 +35,19 @@ build_flags = ${native_base.build_flags} -Os -lX11 -linput -lxkbcommon -ffunctio -D USE_LOG_DEBUG -D LOG_DEBUG_INC=\"DebugConfiguration.h\" -D USE_PACKET_API - -I lib/device-ui/generated/ui_320x240 + -D VIEW_320x240 !pkg-config --libs libulfius --silence-errors || : !pkg-config --libs openssl --silence-errors || : -build_src_filter = ${native_base.build_src_filter} +build_src_filter = + ${native_base.build_src_filter} - - +<../lib/device-ui/generated/ui_320x240> - +<../lib/device-ui/generated/ui_320x240/fonts> - +<../lib/device-ui/resources> - +<../lib/device-ui/portduino> - +<../lib/device-ui/locale> - +<../lib/device-ui/source> [env:native-tft-debug] extends = native_base build_type = debug +lib_deps = + ${native_base.lib_deps} + ${device-ui_base.lib_deps} board_level = extra build_flags = ${native_base.build_flags} -O0 -fsanitize=address -lX11 -linput -lxkbcommon -D MESHTASTIC_EXCLUDE_CANNEDMESSAGES=1 @@ -69,7 +70,7 @@ build_flags = ${native_base.build_flags} -O0 -fsanitize=address -lX11 -linput -l -D USE_LOG_DEBUG -D LOG_DEBUG_INC=\"DebugConfiguration.h\" -D USE_PACKET_API - -I lib/device-ui/generated/ui_320x240 + -D VIEW_320x240 !pkg-config --libs libulfius --silence-errors || : !pkg-config --libs openssl --silence-errors || : build_src_filter = ${env:native-tft.build_src_filter} diff --git a/variants/seeed-sensecap-indicator/platformio.ini b/variants/seeed-sensecap-indicator/platformio.ini index 31566edbe..d351713d7 100644 --- a/variants/seeed-sensecap-indicator/platformio.ini +++ b/variants/seeed-sensecap-indicator/platformio.ini @@ -68,15 +68,8 @@ build_flags = -D VIEW_320x240 ; -D USE_DOUBLE_BUFFER -D USE_PACKET_API - -I lib/device-ui/generated/ui_320x240 - -build_src_filter = - ${env:seeed-sensecap-indicator.build_src_filter} - +<../lib/device-ui/generated/ui_320x240> - +<../lib/device-ui/resources> - +<../lib/device-ui/locale> - +<../lib/device-ui/source> lib_deps = ${env:seeed-sensecap-indicator.lib_deps} - https://github.com/bitbank2/bb_captouch.git#8f2f06462ff597847921739376a299db93612417 ; alternative touch library supporting FT6x36 \ No newline at end of file + ${device-ui_base.lib_deps} + https://github.com/bitbank2/bb_captouch.git#8f2f06462ff597847921739376a299db93612417 ; alternative touch library supporting FT6x36 diff --git a/variants/t-deck/platformio.ini b/variants/t-deck/platformio.ini index 1eb8a1abd..0761e3251 100644 --- a/variants/t-deck/platformio.ini +++ b/variants/t-deck/platformio.ini @@ -66,14 +66,7 @@ build_flags = -D VIEW_320x240 ; -D USE_DOUBLE_BUFFER -D USE_PACKET_API - -I lib/device-ui/generated/ui_320x240 - -build_src_filter = - ${env:t-deck.build_src_filter} - +<../lib/device-ui/generated/ui_320x240> - +<../lib/device-ui/resources> - +<../lib/device-ui/locale> - +<../lib/device-ui/source> lib_deps = ${env:t-deck.lib_deps} + ${device-ui_base.lib_deps} diff --git a/variants/unphone/platformio.ini b/variants/unphone/platformio.ini index e17d3e373..d436314c3 100644 --- a/variants/unphone/platformio.ini +++ b/variants/unphone/platformio.ini @@ -63,11 +63,7 @@ build_flags = -D GFX_DRIVER_INC=\"graphics/LGFX/LGFX_UNPHONE.h\" -D VIEW_320x240 -D USE_PACKET_API - -I lib/device-ui/generated/ui_320x240 -build_src_filter = - ${env:unphone.build_src_filter} - +<../lib/device-ui/generated/ui_320x240> - +<../lib/device-ui/resources> - +<../lib/device-ui/locale> - +<../lib/device-ui/source> \ No newline at end of file +lib_deps = + ${env:unphone.lib_deps} + ${device-ui_base.lib_deps}