/* USBH_CtlSendData Sends a data Packet to the Device.  */
USBH_StatusTypeDef USBH_CtlSendData(USBH_HandleTypeDef *phost, uint8_t *buff, uint16_t length, uint8_t pipe_num, uint8_t do_ping)
/* USBH_CtlSendData Sends a data Packet to the Device.  */
USBH_StatusTypeDef USBH_CtlSendData(USBH_HandleTypeDef *phost, uint8_t *buff, uint16_t length, uint8_t pipe_num, uint8_t do_ping)
{
  if (USBH_LL_GetPipeSpeed(phost, pipe_num) != USBH_SPEED_HIGH)
  {
    do_ping = 0U;
  }
  (void)USBH_LL_SubmitURB(phost,
                          pipe_num,
                          0U,
                          USBH_EP_CONTROL,
                          USBH_PID_DATA,
                          buff,
                          length,
                          do_ping);
  return USBH_OK;
}