14 static uint8_t USBD_HID_CDC_Init (
void *pudev, uint8_t ConfigIndex);
15 static uint8_t USBD_HID_CDC_DeInit (
void *pudev, uint8_t ConfigIndex);
16 static uint8_t USBD_HID_CDC_GetClassDescriptor (
void *pudev,
USB_DEVICE_REQ *req);
17 static uint8_t USBD_HID_CDC_ClassReqHandle (
void *pudev,
USB_DEVICE_REQ *req);
18 static uint8_t USBD_HID_CDC_GetInterface (
void *pudev,
USB_DEVICE_REQ *req);
19 static uint8_t USBD_HID_CDC_SetInterface (
void *pudev,
USB_DEVICE_REQ *req);
20 static uint8_t USBD_HID_CDC_EP0_RxReady (
void *pudev);
21 static uint8_t USBD_HID_CDC_DataIn (
void *pudev, uint8_t EpID);
22 static uint8_t USBD_HID_CDC_DataOut (
void *pudev, uint8_t EpID);
23 static uint8_t USBD_HID_CDC_SOF (
void *pudev);
24 static uint8_t* USBD_HID_CDC_GetCfgDesc (uint8_t USBSpeed, uint16_t *len);
31 USBD_HID_CDC_GetClassDescriptor,
32 USBD_HID_CDC_ClassReqHandle,
33 USBD_HID_CDC_GetInterface,
34 USBD_HID_CDC_SetInterface,
36 USBD_HID_CDC_EP0_RxReady,
40 USBD_HID_CDC_GetCfgDesc,
44 const uint8_t USBD_HID_CDC_CfgDesc[USB_HID_CDC_CONFIG_DESC_SIZE] =
47 USB_DESCTYPE_CONFIGURATION,
48 USB_HID_CDC_CONFIG_DESC_SIZE,
58 USB_DESCTYPE_INTERFACE,
75 CUSTOMHID_REPORT_DESC_SIZE,
80 USB_DESCTYPE_ENDPOINT,
88 USB_DESCTYPE_ENDPOINT,
111 USB_DESCTYPE_INTERFACE,
149 USB_DESCTYPE_ENDPOINT,
152 LOWBYTE(USB_CDC_CMD_PACKET_SIZE),
153 HIGHBYTE(USB_CDC_CMD_PACKET_SIZE),
158 USB_DESCTYPE_INTERFACE,
169 USB_DESCTYPE_ENDPOINT,
178 USB_DESCTYPE_ENDPOINT,
198 static uint8_t USBD_HID_CDC_Init (
void *pudev, uint8_t ConfigIndex)
201 USBD_CUSTOMHID_cb.Init(pudev, ConfigIndex);
204 USBD_CDC_cb.Init(pudev, ConfigIndex);
215 static uint8_t USBD_HID_CDC_DeInit (
void *pudev, uint8_t ConfigIndex)
218 USBD_CUSTOMHID_cb.DeInit(pudev, ConfigIndex);
221 USBD_CDC_cb.DeInit(pudev, ConfigIndex);
232 static uint8_t USBD_HID_CDC_GetClassDescriptor (
void *pudev,
USB_DEVICE_REQ *req)
234 if (req->wIndex == HID_INTERFACE)
236 return USBD_CUSTOMHID_cb.GetClassDescriptor(pudev, req);
240 return USBD_CDC_cb.GetClassDescriptor(pudev, req);
251 static uint8_t USBD_HID_CDC_ClassReqHandle (
void *pudev,
USB_DEVICE_REQ *req)
253 if (req->wIndex == HID_INTERFACE)
255 return USBD_CUSTOMHID_cb.ClassReqHandle(pudev, req);
259 return USBD_CDC_cb.ClassReqHandle(pudev, req);
269 static uint8_t USBD_HID_CDC_GetInterface (
void *pudev,
USB_DEVICE_REQ *req)
271 if (req->wIndex == HID_INTERFACE)
273 return USBD_CUSTOMHID_cb.GetInterface(pudev, req);
277 return USBD_CDC_cb.GetInterface(pudev, req);
287 static uint8_t USBD_HID_CDC_SetInterface (
void *pudev,
USB_DEVICE_REQ *req)
289 if (req->wIndex == HID_INTERFACE)
291 return USBD_CUSTOMHID_cb.SetInterface(pudev, req);
295 return USBD_CDC_cb.SetInterface(pudev, req);
305 static uint8_t* USBD_HID_CDC_GetCfgDesc (uint8_t USBSpeed, uint16_t *len)
307 *len =
sizeof (USBD_HID_CDC_CfgDesc);
309 return (uint8_t*)USBD_HID_CDC_CfgDesc;
318 static uint8_t USBD_HID_CDC_DataIn (
void *pudev, uint8_t EpID)
321 if (EpID == (CDC_DATA_IN_EP & ~0x80))
323 return USBD_CDC_cb.DataIn(pudev, EpID);
327 return USBD_CUSTOMHID_cb.DataIn(pudev, EpID);
337 uint8_t USBD_HID_CDC_DataOut(
void *pudev , uint8_t EpID)
340 if (EpID == (CDC_DATA_OUT_EP & ~0x80))
342 return USBD_CDC_cb.DataOut(pudev, EpID);
346 return USBD_CUSTOMHID_cb.DataOut(pudev, EpID);
355 uint8_t USBD_HID_CDC_SOF (
void *pudev)
358 return USBD_CDC_cb.SOF(pudev);
366 static uint8_t USBD_HID_CDC_EP0_RxReady (
void *pudev)
369 USBD_CDC_cb.EP0_RxReady(pudev);
370 USBD_CUSTOMHID_cb.EP0_RxReady(pudev);
USB device class callback type define.
header file for the usbd_hid_cdc_wrapper.c file.
USB standard device request struct.