Przeglądaj źródła

Merge pull request #662 from fdlamotte/lib_build_display_support

lib_build: Support display and example build
ripplebiz 11 miesięcy temu
rodzic
commit
0ed8921153
2 zmienionych plików z 21 dodań i 2 usunięć
  1. 20 1
      build_as_lib.py
  2. 1 1
      src/helpers/ui/ST7789Display.h

+ 20 - 1
build_as_lib.py

@@ -6,9 +6,10 @@ menv=env # type: ignore
 src_filter = [
   '+<*.cpp>',
   '+<helpers/*.cpp>',
-  '+<helpers/sensors>'
+  '+<helpers/sensors>',
   '+<helpers/radiolib/*.cpp>',
   '+<helpers/ui/MomentaryButton.cpp>',
+  '+<helpers/ui/buzzer.cpp>',
 ]
 
 # add build and include dirs according to CPPDEFINES
@@ -38,11 +39,29 @@ for item in menv.get("CPPDEFINES", []):
         menv.Append(BUILD_FLAGS=["-I src/helpers/rp2040"])
         src_filter.append("+<helpers/rp2040/*>")
     
+    # DISPLAY HANDLING
+    elif isinstance(item, tuple) and item[0] == "DISPLAY_CLASS":
+        display_class = item[1]
+        src_filter.append(f"+<helpers/ui/{display_class}.cpp>")
+        if (display_class == "ST7789Display") :
+            src_filter.append(f"+<helpers/ui/OLEDDisplay.cpp>")
+            src_filter.append(f"+<helpers/ui/OLEDDisplayFonts.cpp>")
+
     # VARIANTS HANDLING
     elif isinstance(item, tuple) and item[0] == "MC_VARIANT":
         variant_name = item[1]
         menv.Append(BUILD_FLAGS=[f"-I variants/{variant_name}"])
         src_filter.append(f"+<../variants/{variant_name}>")
+    
+    # INCLUDE EXAMPLE CODE IN BUILD (to provide your own support files without touching the tree)
+    elif isinstance(item, tuple) and item[0] == "BUILD_EXAMPLE":
+        example_name = item[1]
+        src_filter.append(f"+<../examples/{example_name}>")
+
+    # EXCLUDE A SOURCE FILE FROM AN EXAMPLE (must be placed after example name or boom)
+    elif isinstance(item, tuple) and item[0] == "EXCLUDE_FROM_EXAMPLE":
+        exclude_name = item[1]
+        src_filter.append(f"-<../examples/{example_name}/{exclude_name}>")
 
 menv.Replace(SRC_FILTER=src_filter)
 

+ 1 - 1
src/helpers/ui/ST7789Display.h

@@ -4,7 +4,7 @@
 #include <Wire.h>
 #include <SPI.h>
 #include <Adafruit_GFX.h>
-#include <ST7789Spi.h>
+#include "ST7789Spi.h"
 
 class ST7789Display : public DisplayDriver {
   ST7789Spi display;