This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How to ask windows driver polling the EP1 data every 32 ms in MDK423

Hi

My device is self-powered, usb connection is optional, so user may connect/disconnect it many times in the run time.

Previously I use MDK421, EP1 in is used, pc software use interrupt transfer to read EP1 data, usbd_hid_get_report() gets called every "Endpoint polling interval" ms, after I connect to pc, I can use bushound (usb monitor) to see windows driver is polling continously.

However, when moved to MDK423, after connect to pc, below usbd_hid_get_report() never gets called with USBD_HID_REQ_EP_INT?

In fact, what I want is to ask windows driver polling the EP1 data every 32 ms (can be seen in bushound), because my old pc software was sitting there waiting for that data, I know it is not efficient, but it was designed to work in that way.

int usbd_hid_get_report (U8 rtype, U8 rid, U8 *buf, U8 req) {

switch (rtype) { case HID_REPORT_INPUT: switch (rid) { case 0: switch (req) { case USBD_HID_REQ_EP_CTRL: case USBD_HID_REQ_PERIOD_UPDATE: buf[0] = 1; return (1); case USBD_HID_REQ_EP_INT: break; } break; } break; case HID_REPORT_FEATURE: buf[0] = feat; return (1); } return (0);
}

Thanks.

0