/** * @brief MSC_BOT_DataOut * Proccess MSC OUT data * @param pdev: device instance * @param epnum: endpoint index * @retval None */ void MSC_BOT_DataOut (USBD_HandleTypeDef *pdev, uint8_t epnum) { USBD_MSC_BOT_HandleTypeDef *hmsc = pdev->pClassData; switch (hmsc->bot_state) { case USBD_BOT_IDLE: MSC_BOT_CBW_Decode(pdev); break; case USBD_BOT_DATA_OUT: if(SCSI_ProcessCmd(pdev, hmsc->cbw.bLUN, &hmsc->cbw.CB[0]) < 0) { MSC_BOT_SendCSW (pdev, USBD_CSW_CMD_FAILED); } break; default: break; } }
/** * @brief MSC_BOT_DataOut * Proccess MSC OUT data * @param pdev: device instance * @param epnum: endpoint index * @retval None */ void MSC_BOT_DataOut (USB_OTG_CORE_HANDLE *pdev, uint8_t epnum) { switch (MSC_BOT_State) { case BOT_IDLE: MSC_BOT_CBW_Decode(pdev); break; case BOT_DATA_OUT: if(SCSI_ProcessCmd(pdev, MSC_BOT_cbw.bLUN, &MSC_BOT_cbw.CB[0]) < 0) { MSC_BOT_SendCSW (pdev, CSW_CMD_FAILED); } break; default: break; } }