uint16_t DataOUTPipeSize; /**< Size in bytes of the CDC interface's OUT data pipe */\r
uint16_t NotificationPipeSize; /**< Size in bytes of the CDC interface's IN notification endpoint, if used */\r
\r
- uint8_t ControlLineState; /**< Current control line states */\r
-\r
+ struct\r
+ {\r
+ uint8_t HostToDevice; /**< Control line states from the host to device, as a set of CDC_CONTROL_LINE_OUT_*\r
+ * masks.\r
+ */\r
+ uint8_t DeviceToHost; /**< Control line states from the device to host, as a set of CDC_CONTROL_LINE_IN_*\r
+ * masks.\r
+ */\r
+ } ControlLineStates;\r
+ \r
struct\r
{\r
uint32_t BaudRateBPS; /**< Baud rate of the virtual serial port, in bits per second */\r
* CDCDevice_LineCodingParity_t enum\r
*/\r
uint8_t DataBits; /**< Bits of data per character of the virtual serial port */\r
- } LineEncoding; \r
+ } LineEncoding;\r
} USB_ClassInfo_CDC_Host_State_t;\r
\r
/** Class state structure. An instance of this structure should be made within the user application,\r
static uint8_t DComp_CDC_Host_NextCDCDataInterface(void* CurrentDescriptor);\r
static uint8_t DComp_CDC_Host_NextInterfaceCDCDataEndpoint(void* CurrentDescriptor);\r
#endif\r
+\r
+ void EVENT_CDC_Host_ControLineStateChanged(USB_ClassInfo_CDC_Host_t* CDCInterfaceInfo);\r
+ \r
+ uint8_t CDC_Host_SetLineEncoding(USB_ClassInfo_CDC_Host_t* CDCInterfaceInfo);\r
+ uint8_t CDC_Host_SendControlLineStateChange(USB_ClassInfo_CDC_Host_t* CDCInterfaceInfo);\r
+ \r
+ void CDC_Host_SendString(USB_ClassInfo_CDC_Host_t* CDCInterfaceInfo, char* Data, uint16_t Length);\r
+ void CDC_Host_SendByte(USB_ClassInfo_CDC_Host_t* CDCInterfaceInfo, uint8_t Data);\r
+ uint16_t CDC_Host_BytesReceived(USB_ClassInfo_CDC_Host_t* CDCInterfaceInfo);\r
+ uint8_t CDC_Host_ReceiveByte(USB_ClassInfo_CDC_Host_t* CDCInterfaceInfo);\r
\r
#endif\r
\r