This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Receiving packet with stallpid over usb when calling app_sched_execute

Hi to all,

i am trying to develop an app with NRF52840 soc and nordic sdk 15.03. in my app i implemented a usb  hid device and also i am using flash storage at same time. problem is that sometimes i am receiving a packet with stall pid on computer side when my always loop in main is like below:

for (;;)
    {
        while (app_usbd_event_queue_process())
        {
            /* Nothing to do */
        }
		//exesuting queued tasks if loging module is not proccessing
		if (NRF_LOG_PROCESS() == false)
		{
			app_sched_execute();
			sd_app_evt_wait();
		}    
	}

and when i remove app_scheduler from above loop(like below code) then i won't receive stall pid on computer side app.

for (;;)
    {
        while (app_usbd_event_queue_process())
        {
            /* Nothing to do */
        }
		//exesuting queued tasks if loging module is not proccessing
	}

it seems that app_scheuler and usb_device stack have some disorder with each other.

there is any known issue about this?? there is any specific point that i should consider to solve the problem??

Related