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.