MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / _ep_out_handler

Function _ep_out_handler

components/legacy/usb/usbdevice/class/hid.c:401–421  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

399}
400
401static rt_err_t _ep_out_handler(ufunction_t func, rt_size_t size)
402{
403 struct hid_s *data;
404 struct hid_report report;
405 RT_ASSERT(func != RT_NULL);
406 RT_ASSERT(func->device != RT_NULL);
407 data = (struct hid_s *) func->user_data;
408
409 if(size != 0)
410 {
411 rt_memcpy((void *)&report,(void*)data->ep_out->buffer,size);
412 report.size = size-1;
413 rt_mq_send(&data->hid_mq,(void *)&report,sizeof(report));
414 }
415
416 data->ep_out->request.buffer = data->ep_out->buffer;
417 data->ep_out->request.size = EP_MAXPACKET(data->ep_out);
418 data->ep_out->request.req_type = UIO_REQUEST_READ_BEST;
419 rt_usbd_io_request(func->device, data->ep_out, &data->ep_out->request);
420 return RT_EOK;
421}
422
423static rt_err_t _ep_in_handler(ufunction_t func, rt_size_t size)
424{

Callers

nothing calls this directly

Calls 3

rt_memcpyFunction · 0.85
rt_mq_sendFunction · 0.85
rt_usbd_io_requestFunction · 0.85

Tested by

no test coverage detected