| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- idf_component_register(REQUIRES esp_rom freertos vfs soc)
- if(CONFIG_USB_ENABLED)
- ### variables ###
- #################
- set(compile_options
- "-DCFG_TUSB_MCU=OPT_MCU_ESP32S2"
- "-DCFG_TUSB_DEBUG=${CONFIG_USB_DEBUG_LEVEL}"
- "-Wno-type-limits" # needed for the vanila tinyusb with turned off classes
- )
- idf_component_get_property(FREERTOS_ORIG_INCLUDE_PATH freertos
- ORIG_INCLUDE_PATH)
- set(includes_private
- # tusb:
- "${COMPONENT_DIR}/tinyusb/hw/bsp/"
- "${COMPONENT_DIR}/tinyusb/src/"
- "${COMPONENT_DIR}/tinyusb/src/device"
- # espressif:
- "${COMPONENT_DIR}/additions/include_private"
- )
- set(includes_public
- # tusb:
- "${FREERTOS_ORIG_INCLUDE_PATH}"
- "${COMPONENT_DIR}/tinyusb/src/"
- # espressif:
- "${COMPONENT_DIR}/additions/include")
- set(srcs
- # espressif:
- "${COMPONENT_DIR}/additions/src/descriptors_control.c"
- "${COMPONENT_DIR}/additions/src/tinyusb.c"
- "${COMPONENT_DIR}/additions/src/tusb_tasks.c"
- "${COMPONENT_DIR}/additions/src/usb_descriptors.c"
- # tusb:
- "${COMPONENT_DIR}/tinyusb/src/portable/espressif/esp32s2/dcd_esp32s2.c"
- "${COMPONENT_DIR}/tinyusb/src/class/cdc/cdc_device.c"
- "${COMPONENT_DIR}/tinyusb/src/class/hid/hid_device.c"
- "${COMPONENT_DIR}/tinyusb/src/class/midi/midi_device.c"
- "${COMPONENT_DIR}/tinyusb/src/class/msc/msc_device.c"
- "${COMPONENT_DIR}/tinyusb/src/common/tusb_fifo.c"
- "${COMPONENT_DIR}/tinyusb/src/device/usbd_control.c"
- "${COMPONENT_DIR}/tinyusb/src/device/usbd.c"
- "${COMPONENT_DIR}/tinyusb/src/tusb.c")
- # cdc stuff if turned on
- if(CONFIG_USB_CDC_ENABLED)
- list(APPEND srcs
- "${COMPONENT_DIR}/additions/src/cdc.c"
- "${COMPONENT_DIR}/additions/src/tusb_cdc_acm.c"
- "${COMPONENT_DIR}/additions/src/tusb_console.c"
- "${COMPONENT_DIR}/additions/src/vfs_tinyusb.c")
- endif()
- ### tinyusb lib ###
- ###################
- add_library(tinyusb STATIC ${srcs})
- target_include_directories(
- tinyusb
- PUBLIC ${includes_public}
- PRIVATE ${includes_private})
- target_compile_options(tinyusb PRIVATE ${compile_options})
- target_link_libraries(${COMPONENT_TARGET} INTERFACE tinyusb)
- endif()
|