Closed marsam94 closed 2 years ago
Hi @marsam94,
Thank you for this report. We will get back to you with a feedback as soon as possible. Please excuse the delay it may take us sometimes to reply. Thank you for your comprehension.
With regards,
Hi @marsam94,
Version 1.5.1 of STM32CubeG0 firmware has been released a couple of days ago with a fix at USB HAL level relative to the isochronous double buffer mode of IN transfers. Would you mind giving it a try to check whether it solves the issue you are facing?
With regards,
Hello, the new version resolved my issues. Thanks for looking into it.
Sam
Caution The Issues are strictly limited for the reporting of problem encountered with the software provided in this project. For any other problem related to the STM32 product, the performance, the hardware characteristics and boards, the tools the environment in general, please post a topic in the ST Community/STM32 MCUs forum.
Describe the set-up
Describe the bug When using USBD Audio class, only one PMA buffer is being used (buffer 1) for OUT transfers. Resulting in only half packets being received.
How To Reproduce
Enable Audio Device Class with Frequency of 48KHz
Generate code with CubeMX
use malloc with USBD_malloc (usbd_conf.h)
upsize heap size
As per default in USBD_Audio_DataOut, USBD_LL_GetRxDataSize is called to check the packet size received but it returns 0 then the packet size then back to 0. I added a buffer "packet_buf" for debugging purposes which gets the value returned on every call :![packet_buf](https://user-images.githubusercontent.com/60649414/149172864-8c2aa53f-a85e-4eda-a9f7-883def104653.PNG)
The PMA is configured this way :
When looking directly inside the memory, we can see that only the values situated at the PMABuffer1 are changed :
![pmabuf1_1](https://user-images.githubusercontent.com/60649414/149173945-4354c3d0-2935-4a97-ac9a-3c85b28eb886.PNG)
If changing the addresses in PMAConfig, we can also see that it's always the address at pmaaddr0 that's ignored.
Thanks