Просмотр исходного кода

Initial uGFX support.

Tested with ChibiOS
Konstantin Oblaukhov 10 лет назад
Родитель
Сommit
c46f15453a
3 измененных файлов с 77 добавлено и 0 удалено
  1. 38 0
      cmake/FinduGFX.cmake
  2. 28 0
      cmake/uGFX_GDISP.cmake
  3. 11 0
      cmake/uGFX_GOS.cmake

+ 38 - 0
cmake/FinduGFX.cmake

@@ -0,0 +1,38 @@
+IF(NOT uGFX_FIND_COMPONENTS) 
+    SET(uGFX_FIND_COMPONENTS gos gos_chibios)
+    MESSAGE(STATUS "No uGFX components specified, using default: ${uGFX_FIND_COMPONENTS}")
+ENDIF()
+
+LIST(APPEND uGFX_FIND_COMPONENTS gfx gdriver)
+
+SET(uGFX_gfx_SEARCH_PATH ${uGFX_DIR} ${uGFX_DIR}/src)
+SET(uGFX_gfx_HEADERS gfx.h)
+SET(uGFX_gfx_SOURCES gfx.c)
+
+SET(uGFX_gdriver_SEARCH_PATH ${uGFX_DIR}/src/gdriver)
+SET(uGFX_gdriver_HEADERS gdriver_options.h gdriver_rules.h gdriver.h)
+SET(uGFX_gdriver_SOURCES gdriver.c)
+
+INCLUDE(uGFX_GOS)
+INCLUDE(uGFX_GDISP)
+
+SET(uGFX_COMPONENTS gfx gdriver gos ${uGFX_GOS_MODULES} gdisp ${uGFX_GDISP_MODULES})
+
+FOREACH(comp ${uGFX_FIND_COMPONENTS})
+    LIST(FIND uGFX_COMPONENTS ${comp} INDEX)
+    IF(INDEX EQUAL -1)
+        MESSAGE(FATAL_ERROR "Unknown uGFX component: ${comp}\nSupported uGFX components: ${uGFX_COMPONENTS}")
+    ENDIF()
+    IF(uGFX_${comp}_SOURCES)
+        FOREACH(source ${uGFX_${comp}_SOURCES})
+            FIND_FILE(uGFX_${comp}_${source} NAMES ${source} PATHS ${uGFX_${comp}_SEARCH_PATH} NO_DEFAULT_PATH CMAKE_FIND_ROOT_PATH_BOTH)
+            LIST(APPEND uGFX_SOURCES ${uGFX_${comp}_${source}})
+        ENDFOREACH()
+    ENDIF()
+    IF(uGFX_${comp}_HEADERS)
+        FOREACH(header ${uGFX_${comp}_HEADERS})
+            FIND_PATH(uGFX_${comp}_${header}_INCLUDE_DIR NAMES ${header} PATHS ${uGFX_${comp}_SEARCH_PATH} NO_DEFAULT_PATH CMAKE_FIND_ROOT_PATH_BOTH)
+            LIST(APPEND uGFX_INCLUDE_DIRS ${uGFX_${comp}_${header}_INCLUDE_DIR})
+        ENDFOREACH()
+    ENDIF()
+ENDFOREACH()

+ 28 - 0
cmake/uGFX_GDISP.cmake

@@ -0,0 +1,28 @@
+SET(uGFX_GDISP_MODULES gdisp_fonts gdisp_image gdisp_pixmap)
+
+SET(uGFX_gdisp_SEARCH_PATH ${uGFX_DIR}/src/gdisp)
+SET(uGFX_gdisp_HEADERS gdisp_colors.h gdisp_options.h gdisp_rules.h)
+SET(uGFX_gdisp_SOURCES gdisp.c)
+ 
+SET(uGFX_gdisp_fonts_SEARCH_PATH ${uGFX_DIR}/src/gdisp ${uGFX_DIR}/src/gdisp/mcufont)
+SET(uGFX_gdisp_fonts_HEADERS mcufont.h mf_bwfont.h mf_config.h mf_encoding.h mf_font.h mf_justify.h mf_kerning.h mf_rlefont.h mf_scaledfont.h mf_wordwrap.h)
+SET(uGFX_gdisp_fonts_SOURCES mf_bwfont.c mf_encoding.c mf_font.c mf_justify.c mf_kerning.c mf_rlefont.c mf_scaledfont.c mf_wordwrap.c gdisp_fonts.c)
+
+SET(uGFX_gdisp_image_SEARCH_PATH ${uGFX_DIR}/src/gdisp)
+SET(uGFX_gdisp_image_HEADERS gdisp_image.h)
+SET(uGFX_gdisp_image_SOURCES gdisp_image_bmp.c gdisp_image_gif.c gdisp_image_gif.c gdisp_image_jpg.c gdisp_image_native.c gdisp_image_png.c gdisp_image.c)
+
+SET(uGFX_gdisp_pixmap_SEARCH_PATH ${uGFX_DIR}/src/gdisp)
+SET(uGFX_gdisp_pixmap_HEADERS gdisp_pixmap.h)
+SET(uGFX_gdisp_pixmap_SOURCES gdisp_pixmap.c)
+
+SET(uGFX_GDISP_DRIVERS ED060SC4 framebuffer HX8347D ILI93xx ILI9320 ILI9325 ILI9341 ILI9481 LGDP4532 
+  Nokia6610GE8 Nokia6610GE12 PCD8544 PCF8812 R61505U RA8875 S6D1121 SPFD54124B SSD1289 SSD1306 SSD1331 
+  SSD1351 SSD1963 SSD2119 ST7565 STM32F429iDiscovery STM32LTDC TestStub TLS8204)
+
+FOREACH(driver ${uGFX_GDISP_DRIVERS})
+  SET(uGFX_driver_${driver}_SEARCH_PATH ${uGFX_DIR}/drivers/gdisp/${driver})
+  SET(uGFX_driver_${driver}_SOURCES gdisp_lld_${driver}.c)
+  SET(uGFX_driver_${driver}_HEADERS gdisp_lld_config.h)
+  LIST(APPEND uGFX_GDISP_MODULES driver_${driver})
+ENDFOREACH()

+ 11 - 0
cmake/uGFX_GOS.cmake

@@ -0,0 +1,11 @@
+SET(uGFX_GOS_MODULES gos_arduino gos_chibios gos_ecos gos_freertos gos_linux gos_osx gos_raw32 gos_rawrtos gos_win32 gos_x_heap gos_x_threads)
+
+SET(uGFX_gos_SEARCH_PATH ${uGFX_DIR}/src/gos)
+SET(uGFX_gos_HEADERS gos.h)
+
+FOREACH(module ${uGFX_GOS_MODULES})
+  SET(uGFX_${module}_SEARCH_PATH ${uGFX_DIR}/src/gos)
+  SET(uGFX_${module}_SOURCES ${module}.c)
+  SET(uGFX_${module}_HEADERS ${module}.h)
+ENDFOREACH()
+