void HID_CtrlSetupSetReport(void * pVoid) { S_DRVUSB_DEVICE *psDevice = (S_DRVUSB_DEVICE *)((S_HID_DEVICE *)pVoid)->device; if(psDevice->au8Setup[3] == 1) { /* Report Type = input */ // Trigger next Control Out DATA1 Transaction. _DRVUSB_SET_EP_TOG_BIT(1, FALSE); _DRVUSB_TRIG_EP(1, 0); } else if (psDevice->au8Setup[3] == 2) { _DRVUSB_SET_EP_TOG_BIT(1, FALSE); _DRVUSB_TRIG_EP(1, 0x00); } else if (psDevice->au8Setup[3] == 3) { /* Request Type = Feature */ _DRVUSB_SET_EP_TOG_BIT(1, FALSE); _DRVUSB_TRIG_EP(1, 0x00); } else { // Not support. Reply STALL. _HID_CLR_CTRL_READY_AND_TRIG_STALL(); } }
void HID_CtrlSetupSetIdle(void * pVoid) { _DRVUSB_SET_EP_TOG_BIT(0, 0); _DRVUSB_TRIG_EP(0,0x00); //DBG_PRINTF("Set idle\n"); }
void HID_CtrlSetupSetProtocol(void * pVoid) { _DRVUSB_SET_EP_TOG_BIT(0, FALSE); _DRVUSB_TRIG_EP(0, 0x00); DBG_PRINTF("Set protocol"); }
void HID_CtrlSetupSetProtocol(void * pVoid) { S_HID_DEVICE *psDevice = (S_HID_DEVICE *) pVoid; S_DRVUSB_DEVICE *pUsbDevice = (S_DRVUSB_DEVICE *)psDevice->device; psDevice->isReportProtocol = pUsbDevice->au8Setup[2]; _DRVUSB_SET_EP_TOG_BIT(0,0); _DRVUSB_TRIG_EP(0,0x00); }
void HID_CtrlSetupSetIdle(void * pVoid) { _DRVUSB_SET_EP_TOG_BIT(0, FALSE); _DRVUSB_TRIG_EP(0, 0x00); }