cherry-embedded / CherryUSB

CherryUSB is a tiny and portable USB Stack (device & host) for embedded system with USB IP
https://cherryusb.readthedocs.io/
Apache License 2.0
1.14k stars 245 forks source link

Later roadmap #29

Closed sakumisu closed 7 months ago

sakumisu commented 2 years ago
aozima commented 2 years ago

前排支持,争取多提几个PR。

geniusgogo commented 2 years ago

666

HaiMianBBao commented 2 years ago

期待更多应用的支持🉑

juiceRv commented 2 years ago

完善了dwc2的支持,esp32 s2/s3的支持也可以做上了。。。还有GD32VF103........

sakumisu commented 2 years ago

完善了dwc2的支持,esp32 s2/s3的支持也可以做上了。。。还有GD32VF103........

是的,目前需要做的是对比寄存器的差距

Dandjinh commented 1 year ago

application能否加入模拟ch340(usbfs)和ch348(usbhs),可以参考wch开放的linux驱动,这样可以直接利用现用的已签名驱动。 目前我也正在研究ch340的linux驱动,可惜没这个基础,读起来比较费劲。

sakumisu commented 1 year ago

application能否加入模拟ch340(usbfs)和ch348(usbhs),可以参考wch开放的linux驱动,这样可以直接利用现用的已签名驱动。 目前我也正在研究ch340的linux驱动,可惜没这个基础,读起来比较费劲。

指的是设备枚举成ch340这样?这个需要考虑版权问题

Dandjinh commented 1 year ago

application能否加入模拟ch340(usbfs)和ch348(usbhs),可以参考wch开放的linux驱动,这样可以直接利用现用的已签名驱动。 目前我也正在研究ch340的linux驱动,可惜没这个基础,读起来比较费劲。

指的是设备枚举成ch340这样?这个需要考虑版权问题

驱动的license是GPL的,应该还好。 我看github上也有几个stm32模拟ch340的。

sakumisu commented 1 year ago

application能否加入模拟ch340(usbfs)和ch348(usbhs),可以参考wch开放的linux驱动,这样可以直接利用现用的已签名驱动。 目前我也正在研究ch340的linux驱动,可惜没这个基础,读起来比较费劲。

指的是设备枚举成ch340这样?这个需要考虑版权问题

驱动的license是GPL的,应该还好。 我看github上也有几个stm32模拟ch340的。

这个我需要问下原厂,同意了才能做

AndyW999 commented 1 year ago

Looks like a very interesting project after all the problems I have had with the ST USB library.

My interest for RNDIS host to interface with Motorola and Hytera DMR radios.

I see RNDIS host is on your roadmap, please could you tell me if going be to be completed soon, as well as a way of integrating it with LWIP?

I could conduct some tests if that would help?

Thanks

Andy.

sakumisu commented 1 year ago

Looks like a very interesting project after all the problems I have had with the ST USB library.

My interest for RNDIS host to interface with Motorola and Hytera DMR radios.

I see RNDIS host is on your roadmap, please could you tell me if going be to be completed soon, as well as a way of integrating it with LWIP?

I could conduct some tests if that would help?

Thanks

Andy.

It is completed, but using in rt-thread, and this is port to use rndis api : https://github.com/sakumisu/CherryUSB/blob/master/third_party/rt-thread-4.1.1/rndis_host/rndis_host.c

AndyW999 commented 1 year ago

Is there going to be an RNDIS version that does not need an RTOS, or possibly using FreeRTOS as I do want to use it in the STM32 environment.

marchingband commented 1 year ago

I would LOVE to see usb midi host support. I am working with BL616 for audio synthesis and midi host would be 💥

sakumisu commented 1 year ago

I would LOVE to see usb midi host support. I am working with BL616 for audio synthesis and midi host would be 💥

midi has no class request, when enumrates completely, go to user own task (alloc pipe and submit urb)

marchingband commented 1 year ago

@sakumisu I am not able to write this, because I am not experienced with USB protocol, is it possible to publish an example?

sakumisu commented 1 year ago

@sakumisu I am not able to write this, because I am not experienced with USB protocol, is it possible to publish an example?

I will give a simple demo for you this weekend.

marchingband commented 1 year ago

@sakumisu Thank you! If I am able to expand on it, I will offer to contribute back with a PR.

marchingband commented 1 year ago

that worked thank you 😎

marchingband commented 1 year ago

I am not able to debug the driver code, because I do not understand how it works 🙃. usb protocol is too complicated. I made the change you suggested but no change... tinyusb also does not have a working midi-host driver, so audio developers like me are searching for a way to accomplish it. If you have time later, and want to work on this demo, I am able to test on devices, write a midi parser, etc.. i am happy to contribute however I can. I know you are probably busy, and have many users asking for help. We appreciate you!

sakumisu commented 1 year ago

I am not able to debug the driver code, because I do not understand how it works 🙃. usb protocol is too complicated. I made the change you suggested but no change... tinyusb also does not have a working midi-host driver, so audio developers like me are searching for a way to accomplish it. If you have time later, and want to work on this demo, I am able to test on devices, write a midi parser, etc.. i am happy to contribute however I can. I know you are probably busy, and have many users asking for help. We appreciate you!

I have removed some comments, if i have time to do this , i will tell you.

sakumisu commented 1 year ago

Is there going to be an RNDIS version that does not need an RTOS, or possibly using FreeRTOS as I do want to use it in the STM32 environment.

Support freertos, there is a demo in third-party

AndyW999 commented 1 year ago

Great!

How is the USB configuration set up as I could not see RNDIS as an option in your Configurator.

Thanks

Andy.

harbaum commented 11 months ago

I see that the bl616 is supposed to be supported as a ehci host. But the Buffalo port directory is empty.

Is there a cherryusb host example for the bl616?

sakumisu commented 11 months ago

I see that the bl616 is supposed to be supported as a ehci host. But the Buffalo port directory is empty.

Is there a cherryusb host example for the bl616?

https://github.com/bouffalolab/bouffalo_sdk/tree/master/examples/peripherals/usbhost

harbaum commented 11 months ago

https://github.com/bouffalolab/bouffalo_sdk/tree/master/examples/peripherals/usbhost

Thanks. I actually got the usbhost example to run on the m0s and it detects key presses from a USB keyboard. Excellent!

But the m0s really isn't comfortable to work with ...

alireza-tabatabaee commented 10 months ago

Hi, I saw that the commits for the host video class (class/video/usbh_video.c and .h) are very recent and only 2 days ago. Does this mean the the host UVC class is still a work in progress? Or can it be used successfully in its current state?

sakumisu commented 10 months ago

Hi, I saw that the commits for the host video class (class/video/usbh_video.c and .h) are very recent and only 2 days ago. Does this mean the the host UVC class is still a work in progress? Or can it be used successfully in its current state?

It is done last year, but i do not provide hcd porting with iso for open source, only for business. Or you can implement hcd porting for iso transfer by yourself and then you can use video.