Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add host msc for rt-thread #22

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 38 additions & 26 deletions rt-thread/SConscript
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,38 @@ import rtconfig
from building import *

cwd = GetCurrentDir()
src = Split("""
../src/tusb.c
../src/common/tusb_fifo.c
../src/device/usbd.c
../src/device/usbd_control.c
./tinyusb_port.c
./usb_descriptor.c
""")
src = ["../src/tusb.c",
"../src/common/tusb_fifo.c",
"./tinyusb_port.c"]
path = [cwd, cwd + "/../src"]

# Device
if GetDepend(["PKG_TINYUSB_DEVICE_ENABLE"]):
src += ["../src/device/usbd.c",
"../src/device/usbd_control.c",
"./usb_descriptor.c"]

if GetDepend(["PKG_TINYUSB_DEVICE_CDC"]):
src += ["../src/class/cdc/cdc_device.c"]

if GetDepend(["PKG_TINYUSB_DEVICE_MSC"]):
src += ["../src/class/msc/msc_device.c", "port/msc_device_port.c"]

if GetDepend(["PKG_TINYUSB_DEVICE_HID"]):
src += ["../src/class/hid/hid_device.c", "port/hid_device_port.c"]

if GetDepend(["PKG_TINYUSB_DEVICE_EXAMPLE_CDC"]):
src += ["example/cdc_example.c"]

if GetDepend(["PKG_TINYUSB_DEVICE_EXAMPLE_HID"]):
src += ["example/hid_example.c"]

# Host
if GetDepend(["PKG_TINYUSB_HOST_ENABLE"]):
src += ["../src/host/usbh.c"]

if GetDepend(["PKG_TINYUSB_HOST_MSC"]):
src += ["../src/class/msc/msc_host.c", "port/msc_host_app.c"]

# BSP
if GetDepend(["SOC_FAMILY_STM32"]):
Expand All @@ -23,29 +46,18 @@ if GetDepend(["SOC_NRF52840"]):
"bsp/nrf5x/drv_tinyusb.c"]

if GetDepend(["SOC_HPM6000"]):
src += ["bsp/hpmicro/drv_tinyusb.c",
"../src/portable/hpm/dcd_hpm.c"]
src += ["bsp/hpmicro/drv_tinyusb.c"]

if GetDepend(["PKG_TINYUSB_DEVICE_ENABLE"]):
src += ["../src/portable/hpm/dcd_hpm.c"]

if GetDepend(["PKG_TINYUSB_HOST_ENABLE"]):
src += ["../src/portable/hpm/hcd_hpm.c"]

if GetDepend(["SOC_RP2040"]):
src += ["bsp/rp2040/drv_tinyusb.c",
"../src/portable/raspberrypi/rp2040/rp2040_usb.c",
"../src/portable/raspberrypi/rp2040/dcd_rp2040.c"]

# Device class
if GetDepend(["PKG_TINYUSB_DEVICE_CDC"]):
src += ["../src/class/cdc/cdc_device.c"]

if GetDepend(["PKG_TINYUSB_DEVICE_MSC"]):
src += ["../src/class/msc/msc_device.c", "port/msc_device_port.c"]

if GetDepend(["PKG_TINYUSB_DEVICE_HID"]):
src += ["../src/class/hid/hid_device.c", "port/hid_device_port.c"]

if GetDepend(["PKG_TINYUSB_DEVICE_EXAMPLE_CDC"]):
src += ["example/cdc_example.c"]

if GetDepend(["PKG_TINYUSB_DEVICE_EXAMPLE_HID"]):
src += ["example/hid_example.c"]

LOCAL_CFLAGS = ''

Expand Down
15 changes: 14 additions & 1 deletion rt-thread/bsp/hpmicro/drv_tinyusb.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,32 +10,45 @@

extern void tud_descriptor_set_serial(char *serial_number, uint8_t length);

#ifdef PKG_TINYUSB_DEVICE_ENABLE
TU_ATTR_WEAK void generate_serial_number(void)
{
char serial_number[32] = {"00001"};

tud_descriptor_set_serial(serial_number, sizeof(serial_number));
}
#endif

TU_ATTR_WEAK int tusb_board_init(void)
{
#ifdef PKG_TINYUSB_DEVICE_ENABLE
generate_serial_number();

#endif
return 0;
}

TU_ATTR_WEAK void isr_usb0(void)
{
rt_interrupt_enter();
#if defined(PKG_TINYUSB_DEVICE_ENABLE) && (PKG_TINYUSB_DEVICE_RHPORT_NUM == 0)
dcd_int_handler(0);
#endif
#if defined(PKG_TINYUSB_HOST_ENABLE) && (PKG_TINYUSB_HOST_RHPORT_NUM == 0)
hcd_int_handler(0);
#endif
rt_interrupt_leave();
}
SDK_DECLARE_EXT_ISR_M(IRQn_USB0, isr_usb0)

TU_ATTR_WEAK void isr_usb1(void)
{
rt_interrupt_enter();
#if defined(PKG_TINYUSB_DEVICE_ENABLE) && (PKG_TINYUSB_DEVICE_RHPORT_NUM == 1)
dcd_int_handler(1);
#endif
#if defined(PKG_TINYUSB_HOST_ENABLE) && (PKG_TINYUSB_HOST_RHPORT_NUM == 1)
hcd_int_handler(1);
#endif
rt_interrupt_leave();
}
SDK_DECLARE_EXT_ISR_M(IRQn_USB1, isr_usb1)
Loading