void HAL_PCD_SetupStageCallback(PCD_HandleTypeDef *hpcd) { USBD_HandleTypeDef *pdev = (USBD_HandleTypeDef*)hpcd->pData; USBD_ParseSetupRequest((USBD_SetupReqTypedef*)&pdev->request, (uint8_t*)hpcd->Setup); bool request_was_handled = false; if ((pdev->request.bmRequest & 0x1F) == USB_REQ_RECIPIENT_DEVICE ) { // device request request_was_handled = USBD_GS_CAN_CustomDeviceRequest(pdev, &pdev->request); } if ((pdev->request.bmRequest & 0x1F) == USB_REQ_RECIPIENT_INTERFACE ) { // interface request request_was_handled = USBD_GS_CAN_CustomInterfaceRequest(pdev, &pdev->request); } if (!request_was_handled) { USBD_LL_SetupStage((USBD_HandleTypeDef*)hpcd->pData, (uint8_t *)hpcd->Setup); } }
/** * @brief SetupStage callback. * @param hpcd: PCD handle * @retval None */ void HAL_PCD_SetupStageCallback(PCD_HandleTypeDef *hpcd) { USBD_LL_SetupStage(hpcd->pData, (uint8_t *)hpcd->Setup); }