14 static uint8_t USBD_PRINTER_CDC_Init (
void *pudev, uint8_t ConfigIndex);
15 static uint8_t USBD_PRINTER_CDC_DeInit (
void *pudev, uint8_t ConfigIndex);
16 static uint8_t USBD_PRINTER_CDC_GetClassDescriptor (
void *pudev,
USB_DEVICE_REQ *req);
17 static uint8_t USBD_PRINTER_CDC_ClassReqHandle (
void *pudev,
USB_DEVICE_REQ *req);
18 static uint8_t USBD_PRINTER_CDC_GetInterface (
void *pudev,
USB_DEVICE_REQ *req);
19 static uint8_t USBD_PRINTER_CDC_SetInterface (
void *pudev,
USB_DEVICE_REQ *req);
20 static uint8_t USBD_PRINTER_CDC_EP0_RxReady (
void *pudev);
21 static uint8_t USBD_PRINTER_CDC_DataIn (
void *pudev, uint8_t EpID);
22 static uint8_t USBD_PRINTER_CDC_DataOut (
void *pudev, uint8_t EpID);
23 static uint8_t USBD_PRINTER_CDC_SOF (
void *pudev);
24 static uint8_t* USBD_PRINTER_CDC_GetCfgDesc (uint8_t USBSpeed, uint16_t *len);
29 USBD_PRINTER_CDC_Init,
30 USBD_PRINTER_CDC_DeInit,
31 USBD_PRINTER_CDC_GetClassDescriptor,
32 USBD_PRINTER_CDC_ClassReqHandle,
33 USBD_PRINTER_CDC_GetInterface,
34 USBD_PRINTER_CDC_SetInterface,
36 USBD_PRINTER_CDC_EP0_RxReady,
37 USBD_PRINTER_CDC_DataIn,
38 USBD_PRINTER_CDC_DataOut,
40 USBD_PRINTER_CDC_GetCfgDesc,
45 const uint8_t USBD_PRINTER_CDC_CfgDesc[USB_PRINTER_CDC_CONFIG_DESC_SIZE] =
48 USB_DESCTYPE_CONFIGURATION,
49 USB_PRINTER_CDC_CONFIG_DESC_SIZE,
59 USB_DESCTYPE_INTERFACE,
70 USB_DESCTYPE_ENDPOINT,
79 USB_DESCTYPE_ENDPOINT,
101 USB_DESCTYPE_INTERFACE,
139 USB_DESCTYPE_ENDPOINT,
142 LOWBYTE(USB_CDC_CMD_PACKET_SIZE),
143 HIGHBYTE(USB_CDC_CMD_PACKET_SIZE),
148 USB_DESCTYPE_INTERFACE,
159 USB_DESCTYPE_ENDPOINT,
168 USB_DESCTYPE_ENDPOINT,
188 static uint8_t USBD_PRINTER_CDC_Init (
void *pudev, uint8_t ConfigIndex)
191 USBD_PRINTER_cb.Init(pudev, ConfigIndex);
194 USBD_CDC_cb.Init(pudev, ConfigIndex);
205 static uint8_t USBD_PRINTER_CDC_DeInit (
void *pudev, uint8_t ConfigIndex)
208 USBD_PRINTER_cb.DeInit(pudev, ConfigIndex);
211 USBD_CDC_cb.DeInit(pudev, ConfigIndex);
222 static uint8_t USBD_PRINTER_CDC_GetClassDescriptor (
void *pudev,
USB_DEVICE_REQ *req)
224 if (req->wIndex == PRINTER_INTERFACE)
226 return USBD_PRINTER_cb.GetClassDescriptor(pudev, req);
230 return USBD_CDC_cb.GetClassDescriptor(pudev, req);
241 static uint8_t USBD_PRINTER_CDC_ClassReqHandle (
void *pudev,
USB_DEVICE_REQ *req)
243 if (req->wIndex == PRINTER_INTERFACE)
245 return USBD_PRINTER_cb.ClassReqHandle(pudev, req);
249 return USBD_CDC_cb.ClassReqHandle(pudev, req);
259 static uint8_t USBD_PRINTER_CDC_GetInterface (
void *pudev,
USB_DEVICE_REQ *req)
261 if (req->wIndex == PRINTER_INTERFACE)
263 return USBD_PRINTER_cb.GetInterface(pudev, req);
267 return USBD_CDC_cb.GetInterface(pudev, req);
277 static uint8_t USBD_PRINTER_CDC_SetInterface (
void *pudev,
USB_DEVICE_REQ *req)
279 if (req->wIndex == PRINTER_INTERFACE)
281 return USBD_PRINTER_cb.SetInterface(pudev, req);
285 return USBD_CDC_cb.SetInterface(pudev, req);
295 static uint8_t* USBD_PRINTER_CDC_GetCfgDesc (uint8_t USBSpeed, uint16_t *len)
297 *len =
sizeof (USBD_PRINTER_CDC_CfgDesc);
299 return (uint8_t*)USBD_PRINTER_CDC_CfgDesc;
308 static uint8_t USBD_PRINTER_CDC_DataIn (
void *pudev, uint8_t EpID)
311 if (EpID == (CDC_DATA_IN_EP & ~0x80))
313 return USBD_CDC_cb.DataIn(pudev, EpID);
317 return USBD_PRINTER_cb.DataIn(pudev, EpID);
327 uint8_t USBD_PRINTER_CDC_DataOut(
void *pudev , uint8_t EpID)
330 if (EpID == (CDC_DATA_OUT_EP & ~0x80))
332 return USBD_CDC_cb.DataOut(pudev, EpID);
336 return USBD_PRINTER_cb.DataOut(pudev, EpID);
345 uint8_t USBD_PRINTER_CDC_SOF (
void *pudev)
348 return USBD_CDC_cb.SOF(pudev);
356 static uint8_t USBD_PRINTER_CDC_EP0_RxReady (
void *pudev)
359 USBD_CDC_cb.EP0_RxReady(pudev);
USB device class callback type define.
header file for the usbd_printer_cdc_wrapper.c file.
USB standard device request struct.