Пример #1
0
USB_STATUS usb_class_hub_get_descriptor
   (
      /* [IN] The communication device common command structure */
      HUB_COMMAND_PTR         com_ptr,
      /* [IN] descriptor buffer */
      uchar_ptr               buffer,
      /* [IN] buffer length (or, better said, how many bytes to read) */
      uchar                   len
   )
{ /* Body */
   USB_STATUS error = USB_OK;

   USB_lock();

   error = usb_class_hub_cntrl_common(
      com_ptr,
      REQ_TYPE_DEVICE | REQ_TYPE_IN | REQ_TYPE_CLASS,
      REQ_GET_DESCRIPTOR,
      0,
      0,
      len,
      buffer
   );

   USB_unlock();

   
   return error;

} /* EndBody */
Пример #2
0
usb_status usb_class_hub_get_port_status
   (
      /* [IN] Class Interface structure pointer */
      hub_command_t*            com_ptr,
      /* [IN] port number */
      uint8_t                     port_nr,
      /* [IN] Buffer to receive descriptor */
      uint8_t*                   buf,
      /* [IN] buffer length (how many bytes to read) */
      uint8_t                      len
   )
{
    #ifdef _HOST_DEBUG_
       DEBUG_LOG_TRACE("usb_class_hub_get_port_status, SUCCESSFUL");
    #endif
 
    return usb_class_hub_cntrl_common(
       com_ptr,
       REQ_TYPE_IN | REQ_TYPE_CLASS | REQ_TYPE_INTERFACE | REQ_TYPE_ENDPOINT,
       REQ_GET_STATUS,
       0,
       port_nr,
       len,
       buf);

} /* Endbody */
Пример #3
0
USB_STATUS usb_class_hub_clear_port_feature
   (
      /* [IN] Class Interface structure pointer */
      HUB_COMMAND_PTR            com_ptr,
      /* [IN] port number */
      uint_8                     port_nr,
      /* [IN] feature ID */
      uint_8                     feature
   )
{ /* Body */

   return usb_class_hub_cntrl_common(com_ptr,
      REQ_TYPE_OUT | REQ_TYPE_CLASS | REQ_TYPE_INTERFACE | REQ_TYPE_ENDPOINT,
      REQ_CLEAR_FEATURE,
      feature,
      port_nr,
      0,
      NULL);

} /* Endbody */
Пример #4
0
USB_STATUS usb_class_hub_get_port_status
   (
      /* [IN] Class Interface structure pointer */
      HUB_COMMAND_PTR            com_ptr,
      /* [IN] port number */
      uint_8                     port_nr,
      /* [IN] status buffer */
      uchar_ptr                  buffer,
      /* [IN] buffer length (or, better said, how many bytes to read) */
      uchar                      len
   )
{ /* Body */

   return usb_class_hub_cntrl_common(com_ptr,
      REQ_TYPE_IN | REQ_TYPE_CLASS | REQ_TYPE_INTERFACE | REQ_TYPE_ENDPOINT,
      REQ_GET_STATUS,
      0,
      port_nr,
      len,
      buffer);

} /* Endbody */
Пример #5
0
usb_status usb_class_hub_clear_feature
   (
      /* [IN] Class Interface structure pointer */
      hub_command_t*            com_ptr,
      /* [IN] feature ID */
      uint8_t                     feature
   )
{
    #ifdef _HOST_DEBUG_
       DEBUG_LOG_TRACE("usb_class_hub_clear_port_feature, SUCCESSFUL");
    #endif
 
    return usb_class_hub_cntrl_common(
       com_ptr,
       REQ_TYPE_OUT | REQ_TYPE_CLASS,
       REQ_CLEAR_FEATURE,
       feature,
       0,
       0,
       NULL);

} /* Endbody */
Пример #6
0
usb_status usb_class_hub_get_descriptor
   (
       /* [IN] Class Interface structure pointer */
       hub_command_t*            com_ptr,
       /* [IN] Buffer to receive descriptor */
       uint8_t*                   buf,
       /* [IN] buffer length (how many bytes to read) */
       uint8_t                      len
   )
{
    #ifdef _HOST_DEBUG_
          DEBUG_LOG_TRACE("_usb_class_hub_get_descriptor");
    #endif
 
    return usb_class_hub_cntrl_common(
       com_ptr,
       REQ_TYPE_DEVICE | REQ_TYPE_IN | REQ_TYPE_CLASS,
       REQ_GET_DESCRIPTOR,
       0,
       0,
       len,
       buf);
} /* EndBody */
Пример #7
0
usb_status usb_class_hub_set_port_feature
   (
      /* [IN] Class Interface structure pointer */
      hub_command_t*            com_ptr,
      /* [IN] port number */
      uint8_t                     port_nr,
      /* [IN] feature ID */
      uint8_t                     feature
   )
{
    #ifdef _HOST_DEBUG_
       DEBUG_LOG_TRACE("usb_class_hub_set_port_feature, SUCCESSFUL");
    #endif
 
    return usb_class_hub_cntrl_common(
       com_ptr,
       REQ_TYPE_OUT | REQ_TYPE_CLASS | REQ_TYPE_INTERFACE | REQ_TYPE_ENDPOINT,
       REQ_SET_FEATURE,
       feature,
       port_nr,
       0,
       NULL);

} /* Endbody */