|
@@ -0,0 +1,117 @@
|
|
|
|
|
+IF(NOT STM32Cube_DIR)
|
|
|
|
|
+ SET(STM32Cube_DIR "/opt/STM32Cube_FW_F1_V1.2.0")
|
|
|
|
|
+ MESSAGE(STATUS "No STM32Cube_DIR specified, using default: " ${STM32Cube_DIR})
|
|
|
|
|
+ENDIF()
|
|
|
|
|
+
|
|
|
|
|
+SET(USBHost_HEADERS
|
|
|
|
|
+ Core/Inc/usbh_ctlreq.h
|
|
|
|
|
+ Core/Inc/usbh_ioreq.h
|
|
|
|
|
+ Core/Inc/usbh_core.h
|
|
|
|
|
+ Core/Src/usbh_pipes.h
|
|
|
|
|
+)
|
|
|
|
|
+
|
|
|
|
|
+SET(USBHost_SRC
|
|
|
|
|
+ Core/Src/usbh_ctlreq.c
|
|
|
|
|
+ Core/Src/usbh_core.c
|
|
|
|
|
+ Core/Src/usbh_ioreq.c
|
|
|
|
|
+ Core/Src/usbh_pipes.c
|
|
|
|
|
+)
|
|
|
|
|
+
|
|
|
|
|
+SET(USBHost_COMPONENTS CDC AUDIO MSC HID MTP)
|
|
|
|
|
+
|
|
|
|
|
+ADD_DEFINITIONS(-DUSE_USB_HS)
|
|
|
|
|
+ADD_DEFINITIONS(-DUSE_HAL_DRIVER)
|
|
|
|
|
+
|
|
|
|
|
+SET(USBHost_COMPONENTS_CDC_HEADERS
|
|
|
|
|
+ Class/CDC/Inc/usbh_cdc.h
|
|
|
|
|
+)
|
|
|
|
|
+SET(USBHost_COMPONENTS_CDC_SOURCES
|
|
|
|
|
+ Class/CDC/Src/usbh_cdc.c
|
|
|
|
|
+)
|
|
|
|
|
+
|
|
|
|
|
+SET(USBHost_COMPONENTS_AUDIO_HEADERS
|
|
|
|
|
+ Class/AUDIO/Inc/usbh_audio.h
|
|
|
|
|
+)
|
|
|
|
|
+SET(USBHost_COMPONENTS_AUDIO_SOURCES
|
|
|
|
|
+ Class/AUDIO/Src/usbh_audio.c
|
|
|
|
|
+)
|
|
|
|
|
+
|
|
|
|
|
+SET(USBHost_COMPONENTS_MSC_HEADERS
|
|
|
|
|
+ Class/MSC/Inc/usbh_msc_scsi.h
|
|
|
|
|
+# Class/MSC/Inc/usbh_msc_data.h
|
|
|
|
|
+ Class/MSC/Inc/usbh_msc.h
|
|
|
|
|
+ Class/MSC/Inc/usbh_msc_bot.h
|
|
|
|
|
+)
|
|
|
|
|
+SET(USBHost_COMPONENTS_MSC_SOURCES
|
|
|
|
|
+ Class/MSC/Src/usbh_msc.c
|
|
|
|
|
+# Class/MSC/Src/usbh_msc_data.c
|
|
|
|
|
+ Class/MSC/Src/usbh_msc_bot.c
|
|
|
|
|
+ Class/MSC/Src/usbh_msc_scsi.c
|
|
|
|
|
+)
|
|
|
|
|
+
|
|
|
|
|
+SET(USBHost_COMPONENTS_HID_HEADERS
|
|
|
|
|
+ Class/HID/Inc/usbh_hid_keybd.h
|
|
|
|
|
+ Class/HID/Inc/usbh_hid_mouse.h
|
|
|
|
|
+ Class/HID/Inc/usbh_hid_parser.h
|
|
|
|
|
+ Class/HID/Inc/usbh_hid_usage.h
|
|
|
|
|
+ Class/HID/Inc/usbh_hid.h
|
|
|
|
|
+)
|
|
|
|
|
+SET(USBHost_COMPONENTS_HID_SOURCES
|
|
|
|
|
+ Class/HID/Src/usbh_hid_keybd.c
|
|
|
|
|
+ Class/HID/Src/usbh_hid_mouse.c
|
|
|
|
|
+ Class/HID/Src/usbh_hid_parser.c
|
|
|
|
|
+ Class/HID/Src/usbh_hid.c
|
|
|
|
|
+)
|
|
|
|
|
+
|
|
|
|
|
+SET(USBHost_COMPONENTS_MTP_HEADERS
|
|
|
|
|
+ Class/MTP/Inc/usbh_mtp_ptp.h
|
|
|
|
|
+ Class/MTP/Inc/usbh_mtp.h
|
|
|
|
|
+)
|
|
|
|
|
+SET(USBHost_COMPONENTS_MTP_SOURCES
|
|
|
|
|
+ Class/MTP/Src/usbh_mtp_ptp.c
|
|
|
|
|
+ Class/MTP/Src/usbh_mtp.c
|
|
|
|
|
+)
|
|
|
|
|
+
|
|
|
|
|
+IF(NOT USBHost_FIND_COMPONENTS)
|
|
|
|
|
+ SET(USBHost_FIND_COMPONENTS ${USBHost_COMPONENTS})
|
|
|
|
|
+ MESSAGE(STATUS "No USBHost components selected, using all: ${USBHost_FIND_COMPONENTS}")
|
|
|
|
|
+ENDIF()
|
|
|
|
|
+
|
|
|
|
|
+MESSAGE(STATUS "USBHost components: ${USBHost_FIND_COMPONENTS}")
|
|
|
|
|
+
|
|
|
|
|
+FOREACH(cmp ${USBHost_FIND_COMPONENTS})
|
|
|
|
|
+ LIST(FIND USBHost_COMPONENTS ${cmp} USBHost_FOUND_INDEX)
|
|
|
|
|
+ IF(${USBHost_FOUND_INDEX} LESS 0)
|
|
|
|
|
+ MESSAGE(FATAL_ERROR "Unknown USBHost component: ${cmp}. Available components: ${USBHost_COMPONENTS}")
|
|
|
|
|
+ ENDIF()
|
|
|
|
|
+ LIST(FIND USBHost_COMPONENTS ${cmp} USBHost_FOUND_INDEX)
|
|
|
|
|
+ IF(NOT (${USBHost_FOUND_INDEX} LESS 0))
|
|
|
|
|
+ LIST(APPEND USBHost_HEADERS ${USBHost_COMPONENTS_${cmp}_HEADERS})
|
|
|
|
|
+ LIST(APPEND USBHost_SRC ${USBHost_COMPONENTS_${cmp}_SOURCES})
|
|
|
|
|
+ ENDIF()
|
|
|
|
|
+ENDFOREACH()
|
|
|
|
|
+
|
|
|
|
|
+LIST(REMOVE_DUPLICATES USBHost_HEADERS)
|
|
|
|
|
+LIST(REMOVE_DUPLICATES USBHost_SRC)
|
|
|
|
|
+
|
|
|
|
|
+FOREACH(INC ${USBHost_HEADERS})
|
|
|
|
|
+ SET(INC_FILE INC_FILE-NOTFOUND)
|
|
|
|
|
+ GET_FILENAME_COMPONENT(INC_FILE ${STM32Cube_DIR}/Middlewares/ST/STM32_USB_Host_Library/${INC} DIRECTORY)
|
|
|
|
|
+ MESSAGE(STATUS "Found ${INC}: ${INC_FILE}")
|
|
|
|
|
+ LIST(APPEND USBHost_INCLUDE_DIRS ${INC_FILE})
|
|
|
|
|
+ENDFOREACH()
|
|
|
|
|
+LIST(REMOVE_DUPLICATES USBHost_INCLUDE_DIRS)
|
|
|
|
|
+
|
|
|
|
|
+FOREACH(SRC ${USBHost_SRC})
|
|
|
|
|
+ SET(SRC_FILE SRC_FILE-NOTFOUND)
|
|
|
|
|
+ FIND_FILE(SRC_FILE ${SRC}
|
|
|
|
|
+ HINTS ${STM32Cube_DIR}/Middlewares/ST/STM32_USB_Host_Library
|
|
|
|
|
+ CMAKE_FIND_ROOT_PATH_BOTH
|
|
|
|
|
+ )
|
|
|
|
|
+ MESSAGE(STATUS "Found ${SRC}: ${SRC_FILE}")
|
|
|
|
|
+ LIST(APPEND USBHost_SOURCES ${SRC_FILE})
|
|
|
|
|
+ENDFOREACH()
|
|
|
|
|
+
|
|
|
|
|
+INCLUDE(FindPackageHandleStandardArgs)
|
|
|
|
|
+
|
|
|
|
|
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(USBHost DEFAULT_MSG USBHost_INCLUDE_DIRS USBHost_SOURCES)
|