USBD Status #33
Replies: 8 comments 16 replies
-
I think that the support is not there yet. And from the last part of this comment, some work remains to be done. |
Beta Was this translation helpful? Give feedback.
-
Have made some progress. The desktop isp tool defaults to turning on a watchdog and was causing issues. I’ve got it as far as configuring, firing and handling reset interrupt, and acking the first setup packet from the host. For some reason CTR interrupt doesn’t seem to fire for that SETUP and device hangs after entering WFI instruction. |
Beta Was this translation helpful? Give feedback.
-
don’t have time to make a pr right now and my own fork is a mess, but the issue you’re running into is that the ISRs from bind_interrupts have the wrong ABI so they remain active. add the qingke_rt::interrupt attribute in the macro. might also need feature |
Beta Was this translation helpful? Give feedback.
-
It all looks pretty close to functioning, but the USBD hardware doesn't seem to be writing anything into the dual port ram, haven't been able to figure out why yet. |
Beta Was this translation helpful? Give feedback.
-
Overused the time I have to experiment for a bit, so just pushing it up. By default PMAOVR bit seems to always be asserting when RXing the SETUP and just dropping the packet (doesn't get written to USBRAM). In some experiments where I was dumping the RAM to get more visibility some conditions seem to occur where the packet reception succeeds, so something about the state during/after reset when all of that overhead is there lets a packet get through. Seems like there may be some quirk implementation quirk vs STM32F1 but not really sure yet. If anyone knows if its possible to use defmt over SdiPrint it would help to access extra debugging info from embassy. |
Beta Was this translation helpful? Give feedback.
-
Have you tried to compare the code to https://github.com/cnlohr/ch32v003fun/tree/master/examples_x035/usbdevice ? |
Beta Was this translation helpful? Give feedback.
-
I haven't tried anything else, used up all the time I had to mess with it, but the code is there for anyone that wants to continue. The projects I was considering this for have switched to STM32C071 instead for a couple of reasons. |
Beta Was this translation helpful? Give feedback.
-
Hi @ExplodingWaffle, I'm writing to discuss the plan for implementing the USB HS driver for CH32V30x. As I am wrapping up my work with the OTG/USBFS driver, I am looking to see what to work on next. Since I need to implement both device and host side driver for the FS and HS controller for some keyboard that I am working on, I am trying to see if I should tackle the FS host side or HS device side first. I see you have made significant progress on implementing the USBHS driver, I do not want your work to go unnoticed / and write a driver from scratch. Do you still planning on finishing that driver up or have your interest shifted to other things already? I can try to cherry pick your commit de8ac29b08e39bbaacc058c35c2180116e20790e and continue building / debugging the driver from there if you would like. Thanks, |
Beta Was this translation helpful? Give feedback.
-
What work remains to get the usbd controller functioning?
I put together a quick attempt to get usb_serial working on ch32v203c8t6. It compiles and loads but the device doesn't seem to be initiating anything on the bus. Was wondering if its expected to be working (and I have an issue) or if there is more work required.
Beta Was this translation helpful? Give feedback.
All reactions