SConscript 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. from building import *
  2. cwd = GetCurrentDir()
  3. path = [cwd + '/common']
  4. path += [cwd + '/core']
  5. path += [cwd + '/class/cdc']
  6. path += [cwd + '/class/msc']
  7. path += [cwd + '/class/hid']
  8. path += [cwd + '/class/audio']
  9. path += [cwd + '/class/video']
  10. path += [cwd + '/class/wireless']
  11. path += [cwd + '/class/dfu']
  12. src = []
  13. CPPDEFINES = []
  14. # USB DEVICE
  15. if GetDepend(['PKG_CHERRYUSB_DEVICE']):
  16. src += Glob('core/usbd_core.c')
  17. if GetDepend(['PKG_CHERRYUSB_DEVICE_HS']):
  18. CPPDEFINES+=['CONFIG_USB_HS']
  19. if GetDepend(['PKG_CHERRYUSB_DEVICE_CDC']):
  20. src += Glob('class/cdc/usbd_cdc.c')
  21. if GetDepend(['PKG_CHERRYUSB_DEVICE_HID']):
  22. src += Glob('class/hid/usbd_hid.c')
  23. if GetDepend(['PKG_CHERRYUSB_DEVICE_MSC']):
  24. src += Glob('class/msc/usbd_msc.c')
  25. if GetDepend(['PKG_CHERRYUSB_DEVICE_AUDIO']):
  26. src += Glob('class/audio/usbd_audio.c')
  27. if GetDepend(['PKG_CHERRYUSB_DEVICE_VIDEO']):
  28. src += Glob('class/video/usbd_video.c')
  29. if GetDepend(['PKG_CHERRYUSB_DEVICE_RNDIS']):
  30. src += Glob('class/wireless/usbd_rndis.c')
  31. if GetDepend(['PKG_CHERRYUSB_USING_DFU']):
  32. src += Glob('class/dfu/usbd_dfu.c')
  33. if GetDepend(['PKG_CHERRYUSB_DEVICE_CDC_TEMPLATE']):
  34. src += Glob('demo/cdc_acm_template.c')
  35. if GetDepend(['PKG_CHERRYUSB_DEVICE_HID_MOUSE_TEMPLATE']):
  36. src += Glob('demo/hid_mouse_template.c')
  37. if GetDepend(['PKG_CHERRYUSB_DEVICE_HID_KEYBOARD_TEMPLATE']):
  38. src += Glob('demo/hid_keyboard_template.c')
  39. if GetDepend(['PKG_CHERRYUSB_DEVICE_MSC_TEMPLATE']):
  40. src += Glob('demo/msc_ram_template.c')
  41. if GetDepend(['PKG_CHERRYUSB_DEVICE_AUDIO_V1_TEMPLATE']):
  42. src += Glob('demo/audio_v1_mic_speaker_multichan_template.c')
  43. if GetDepend(['PKG_CHERRYUSB_DEVICE_AUDIO_V2_TEMPLATE']):
  44. src += Glob('demo/audio_v2_mic_speaker_multichan_template.c')
  45. if GetDepend(['PKG_CHERRYUSB_DEVICE_VIDEO_TEMPLATE']):
  46. src += Glob('demo/video_static_mjpeg_template.c')
  47. if GetDepend(['PKG_CHERRYUSB_DEVICE_RNDIS_TEMPLATE']):
  48. src += Glob('demo/cdc_rndis_template.c')
  49. if GetDepend(['PKG_CHERRYUSB_DEVICE_FSDEV']):
  50. src += Glob('port/fsdev/usb_dc_fsdev.c')
  51. if GetDepend(['PKG_CHERRYUSB_DEVICE_DWC2']):
  52. src += Glob('port/dwc2/usb_dc_dwc2.c')
  53. if GetDepend(['PKG_CHERRYUSB_DEVICE_DWC2_PORT_FS']):
  54. CPPDEFINES += ['CONFIG_USB_DWC2_PORT=FS_PORT']
  55. elif GetDepend(['PKG_CHERRYUSB_DEVICE_DWC2_PORT_HS']):
  56. CPPDEFINES += ['CONFIG_USB_DWC2_PORT=HS_PORT']
  57. if GetDepend(['SOC_SERIES_STM32F7']):
  58. CPPDEFINES += ['STM32F7']
  59. elif GetDepend(['SOC_SERIES_STM32H7']):
  60. CPPDEFINES += ['STM32H7']
  61. if GetDepend(['PKG_CHERRYUSB_DEVICE_MUSB']):
  62. src += Glob('port/musb/usb_dc_musb.c')
  63. if GetDepend(['PKG_CHERRYUSB_DEVICE_MUSB_SUNXI']):
  64. CPPDEFINES += ['CONFIG_USB_MUSB_SUNXI']
  65. if GetDepend(['PKG_CHERRYUSB_DEVICE_HPM']):
  66. src += Glob('port/hpm/usb_dc_hpm.c')
  67. if GetDepend(['PKG_CHERRYUSB_DEVICE_CH32_CH32V307']):
  68. if GetDepend(['PKG_CHERRYUSB_DEVICE_HS']):
  69. src += Glob('port/ch32/usb_dc_usbhs.c')
  70. else:
  71. src += Glob('port/ch32/usb_dc_usbfs.c')
  72. # USB HOST
  73. if GetDepend(['PKG_CHERRYUSB_HOST']):
  74. path += [cwd + '/osal']
  75. path += [cwd + '/class/hub']
  76. src += Glob('core/usbh_core.c')
  77. src += Glob('class/hub/usbh_hub.c')
  78. src += Glob('osal/usb_osal_rtthread.c')
  79. if GetDepend(['PKG_CHERRYUSB_HOST_CDC']):
  80. src += Glob('class/cdc/usbh_cdc_acm.c')
  81. if GetDepend(['PKG_CHERRYUSB_HOST_HID']):
  82. src += Glob('class/hid/usbh_hid.c')
  83. if GetDepend(['PKG_CHERRYUSB_HOST_MSC']):
  84. src += Glob('class/msc/usbh_msc.c')
  85. if GetDepend(['PKG_CHERRYUSB_HOST_RNDIS']):
  86. src += Glob('class/wireless/usbh_rndis.c')
  87. if GetDepend(['PKG_CHERRYUSB_HOST_DWC2']):
  88. src += Glob('port/dwc2/usb_hc_dwc2.c')
  89. if GetDepend(['PKG_CHERRYUSB_HOST_MUSB']):
  90. src += Glob('port/musb/usb_hc_musb.c')
  91. if GetDepend(['PKG_CHERRYUSB_HOST_MUSB_SUNXI']):
  92. CPPDEFINES += ['CONFIG_USB_MUSB_SUNXI']
  93. if GetDepend(['PKG_CHERRYUSB_HOST_EHCI']):
  94. src += Glob('port/ehci/usb_hc_ehci.c')
  95. if GetDepend(['PKG_CHERRYUSB_HOST_EHCI_HPM']):
  96. src += Glob('port/ehci/usb_glue_hpm.c')
  97. if GetDepend(['PKG_CHERRYUSB_HOST_TEMPLATE']):
  98. src += Glob('demo/usb_host.c')
  99. group = DefineGroup('CherryUSB', src, depend = ['PKG_USING_CHERRYUSB'], CPPPATH = path, CPPDEFINES = CPPDEFINES)
  100. Return('group')