cancel
Showing results for 
Search instead for 
Did you mean: 

Incomplete isochronous IN/OUT data transfers HAL issue

eugene239955_st
Associate II
Posted on January 06, 2016 at 17:38

There seems to be a large part of code not written in HAL. It concerns the incomplete isochonous IN/OUT endpoints.

Her is what's present in HAL now:

/* Handle Incomplete ISO IN Interrupt */

        if(__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_IISOIXFR))

        {

HAL_PCD_ISOINIncompleteCallback(hpcd, epnum);

            __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_IISOIXFR);

        }

        /* Handle Incomplete ISO OUT Interrupt */

        if(__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_PXFR_INCOMPISOOUT))

        {

            HAL_PCD_ISOOUTIncompleteCallback(hpcd, epnum);

            __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_PXFR_INCOMPISOOUT);

        }

So when the callback is executed the epnum is not set and the application software can not rely on the endpoint number.

Also the procedures from reference manual are not followed.

In RM0390 there is a procedure for this case described in section 31.16.6 Device programming model.

Also please note that the correct changes will also require changing the receiving part of OUT endpoints and transmitting of IN endpoints.

Please advice if it will be added in correct manner in nearest time?

1 REPLY 1
jmf1
Senior
Posted on September 07, 2016 at 22:50

Hello,

As developped in [DEAD LINK /public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Flat.aspx?RootFolder=/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Ausio%20async%20USB%20attempt%20not%20working%20-%20feedback%20not%20read%20andor%20no%20effect&FolderCTID=0x01200200770978C69A1141439FE559EB459D7580009C4E14902C3CDE46A77F0FFD06506F5B&TopicsView=https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/AllItems.aspx&currentviews=34]Audio async USB attempt not working - feedback not read and/or no effect, I have issues trying to send feedback to the host using: STM32Cube_FW_F4_V1.13.0 and a modified version of usbd_audio.c MCD Application Team V2.4.2 11-December-2015

I have neither USBD_AUDIO_IsoINIncomplete nor USBD_AUDIO_DataIn called when I try to transmit feedback data to the host.

Could this be related to the issue below ?

[DEAD LINK /public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Flat.aspx?RootFolder=/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Ausio%20async%20USB%20attempt%20not%20working%20-%20feedback%20not%20read%20andor%20no%20effect&FolderCTID=0x01200200770978C69A1141439FE559EB459D7580009C4E14902C3CDE46A77F0FFD06506F5B&TopicsView=https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/AllItems.aspx&currentviews=34]

Best regards,

JM