34 #define __INCLUDE_FROM_USB_DRIVER
35 #include "../../Core/USBMode.h"
37 #if defined(USB_CAN_BE_HOST)
39 #define __INCLUDE_FROM_CDC_DRIVER
40 #define __INCLUDE_FROM_CDC_HOST_C
44 uint16_t ConfigDescriptorSize,
45 void* ConfigDescriptorData)
53 memset(&CDCInterfaceInfo->
State, 0x00,
sizeof(CDCInterfaceInfo->
State));
58 while (!(DataINEndpoint) || !(DataOUTEndpoint) || !(NotificationEndpoint))
60 if (!(CDCControlInterface) ||
64 if (NotificationEndpoint)
72 DataINEndpoint =
NULL;
73 DataOUTEndpoint =
NULL;
85 NotificationEndpoint =
NULL;
96 NotificationEndpoint = EndpointData;
98 DataINEndpoint = EndpointData;
102 DataOUTEndpoint = EndpointData;
112 uint8_t InterruptPeriod;
118 EndpointAddress = DataINEndpoint->EndpointAddress;
129 EndpointAddress = DataOUTEndpoint->EndpointAddress;
139 Size =
le16_to_cpu(NotificationEndpoint->EndpointSize);
140 EndpointAddress = NotificationEndpoint->EndpointAddress;
144 InterruptPeriod = NotificationEndpoint->PollingIntervalMS;
217 uint8_t EndpointType = (Endpoint->Attributes &
EP_TYPE_MASK);
268 #if !defined(NO_CLASS_DRIVER_AUTOFLUSH)
308 const uint8_t Duration)
326 const uint8_t*
const Buffer,
345 const char*
const String)
423 int16_t ReceivedByte = -1;
476 #if (defined(FDEV_SETUP_STREAM) && (!defined(__IAR_SYSTEMS_ICC__) || (_DLIB_FILE_DESCRIPTOR == 1)))
480 *Stream = (FILE)FDEV_SETUP_STREAM(CDC_Host_putchar, CDC_Host_getchar, _FDEV_SETUP_RW);
481 fdev_set_udata(Stream, CDCInterfaceInfo);
487 *Stream = (FILE)FDEV_SETUP_STREAM(CDC_Host_putchar, CDC_Host_getchar_Blocking, _FDEV_SETUP_RW);
488 fdev_set_udata(Stream, CDCInterfaceInfo);
491 static int CDC_Host_putchar(
char c,
497 static int CDC_Host_getchar(FILE* Stream)
501 if (ReceivedByte < 0)
507 static int CDC_Host_getchar_Blocking(FILE* Stream)
509 int16_t ReceivedByte;