Janusz Dalecki

Janusz Dalecki

Forum Replies Created

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • in reply to: HTTPs_ReqBodyRxHook never called #24797

    Janusz Dalecki
    Participant

    Hi,
    Answering my own question. HTTPs_RespBodySetParamNoBody blocks calling the handler ReqBodyRxHook.
    That was bit silly of me.
    However how server should respond to the browser if I don’t specify body. In my case browser (fileupload gadget) calls “fail” ajax method and response does not contain anything (looks like empty). Shouldn’t server still reply something to the browser (after I marked it that the body is empty)?
    Kind Regards,
    Janusz

    in reply to: Call to USBD_EP_Rx() return USBD_ERR_EP_QUEUING error #17275

    Janusz Dalecki
    Participant

    Hi Janos,
    I will try to do my best to get that call stack.
    Thanks for your help, greatly appreciated.
    Regards,
    Janusz

    in reply to: Call to USBD_EP_Rx() return USBD_ERR_EP_QUEUING error #17263

    Janusz Dalecki
    Participant

    Hi Janos,
    I am so, so sorry that my reply did not get to you. I have just discovered by accident looking at Micrium site that I have not replied to your question however I did.
    You have asked me two questions:
    1) What is the value of p_drv_data->EP_XferSTate[ep_ix_nbr]?
    a. The value of p_drv_data->EP_XferSTate[ep_ix_nbr] is “USBD_DRV_EP_XFER_STATE_IN_PROGRESS”
    2) Also, what is the call stack up to that point?
    a. Well this is a difficult question – I have tried to reproduce it for a couple of hours for two days and I can’t. However I know it does happen.
    Regards,
    Janusz

    in reply to: Call to USBD_EP_Rx() return USBD_ERR_EP_QUEUING error #17195

    Janusz Dalecki
    Participant

    Hi Janos,
    Do you mean the chip ? Its RX63N Group – R5F563NE.
    Is that what you asked me for?
    Regards,
    Janusz

    in reply to: Call to USBD_EP_Rx() return USBD_ERR_EP_QUEUING error #17123

    Janusz Dalecki
    Participant

    Hi Janos,
    Sorry. Just by going back with this issue (I apologise I have been working on something else in meantime and need to refresh my memory) I am pretty confident that the setting error code to USBD_ERR_EP_QUEUING was happening not in USBD_URB_Get() method but in the USBD_DrvEP_RxStart method because the below condition fails:
    if ((p_drv_data->EP_XferState[ep_ix_nbr] == USBD_DRV_EP_XFER_STATE_NONE) ||
    (p_drv_data->EP_XferState[ep_ix_nbr] == USBD_DRV_EP_XFER_STATE_ABORTED)) {
    }
    Kind Regards,
    Janusz

    in reply to: Call to USBD_EP_Rx() return USBD_ERR_EP_QUEUING error #17122

    Janusz Dalecki
    Participant

    Hi Janos,
    Thanks for the reply.
    The value of USBD_CFG_MAX_NBR_URB_EXTRA is 4.
    As to the second question I need to run it for a while until it happens to tell you precisely which breakpoint is hit, because as I stated before it does not happen very often.
    As soon as I reproduce it I will you again.
    Kind Regards,
    Janusz

    in reply to: Call to USBD_EP_Rx() return USBD_ERR_EP_QUEUING error #16997

    Janusz Dalecki
    Participant

    Hi Jean-Francois,
    Thanks for your reply.
    We are re-using example source files that the Micrium provides. So for example we are re-using app_usbd_vendor.c file and inside that file we have a function App_USBD_Vendor_BeaconRead that calls USBD_Vendor_Rd (usbd_vendors.c) which then calls USBD_BulkRx (usbd_ep.c) which in turn calls USBD_EP_Rx which calls EP_RxStart.
    In other words we never call USBD_EP_Rx directly. We use the call App_USBD_Vendor_BeaconRead which then starts the chain of calls ending up in USBD_EP_Rx.
    So I still don’t quite understand why I am getting “USBD_ERR_EP_QUEUING” when calling (from just one thread ) function App_USBD_Vendor_BeaconRead which delegates the call to USBD_EP_Rx. If the function USBD_BulkRx is not ready to handle my call I would expect it to return something like “In Progress”, so I can wait some period of time and attempt to call it again. Is it how it works?
    Kind Regards,
    Janusz

    in reply to: Call to USBD_EP_Rx() return USBD_ERR_EP_QUEUING error #16887

    Janusz Dalecki
    Participant

    Thank you for your reply Jean-Francois,

    We always call the function from one task which basically loops for ever calling:
    • USBD_EP_Rx multiple times until we there is no data in USB (buf_len == 0 and there are no errors).
    • Then we call OSTimeDly with 100ms delay
    • We service some other serial channel
    • And the loop starts again
    Are we doing anything wrong?
    I want to emphasise that we never call USBD_EP_Rx (there is really chain of calls before it ends up in USBD_EP_Rx) from different tasks – just one task is used to handle USB.
    Kind Regards,
    Janusz

Viewing 8 posts - 1 through 8 (of 8 total)

View the complete site map

x
Loading...