X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/c5038f1bf44aea75f1ae1ed035cb7d523ccfdacb..cfe054474ffafddcbba0f6d3f46d3f02473fac96:/LUFA/Drivers/USB/Class/Device/CDC.h diff --git a/LUFA/Drivers/USB/Class/Device/CDC.h b/LUFA/Drivers/USB/Class/Device/CDC.h index 7332f56cc..99f8eb2b2 100644 --- a/LUFA/Drivers/USB/Class/Device/CDC.h +++ b/LUFA/Drivers/USB/Class/Device/CDC.h @@ -147,7 +147,7 @@ * a mask of CDC_CONTROL_LINE_OUT_* masks. * * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class configuration and state. - */ + */ void EVENT_CDC_Device_ControLineStateChanged(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo); /** Sends a given string to the attached USB host, if connected. If a host is not connected when the function is called, the @@ -156,16 +156,20 @@ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class configuration and state. * \param[in] Data Pointer to the string to send to the host * \param[in] Length Size in bytes of the string to send to the host + * + * \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum */ - void CDC_Device_SendString(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo, char* const Data, const uint16_t Length); + uint8_t CDC_Device_SendString(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo, char* const Data, const uint16_t Length); /** Sends a given byte to the attached USB host, if connected. If a host is not connected when the function is called, the * byte is discarded. * * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class configuration and state. * \param[in] Data Byte of data to send to the host + * + * \return A value from the \ref Endpoint_WaitUntilReady_ErrorCodes_t enum */ - void CDC_Device_SendByte(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo, const uint8_t Data); + uint8_t CDC_Device_SendByte(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo, const uint8_t Data); /** Determines the number of bytes received by the CDC interface from the host, waiting to be read. * @@ -176,7 +180,7 @@ uint16_t CDC_Device_BytesReceived(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo); /** Reads a byte of data from the host. If no data is waiting to be read of if a USB host is not connected, the function - * returns 0. The USB_CDC_BytesReceived() function should be queried before data is recieved to ensure that no data + * returns 0. The \ref CDC_Device_BytesReceived() function should be queried before data is recieved to ensure that no data * underflow occurs. * * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class configuration and state. @@ -185,6 +189,14 @@ */ uint8_t CDC_Device_ReceiveByte(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo); + /** Flushes any data waiting to be sent, ensuring that the send buffer is cleared. + * + * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class configuration and state. + * + * \return A value from the \ref Endpoint_WaitUntilReady_ErrorCodes_t enum + */ + uint8_t CDC_Device_Flush(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo); + /** Sends a Serial Control Line State Change notification to the host. This should be called when the virtual serial * control lines (DCD, DSR, etc.) have changed states, or to give BREAK notfications to the host. Line states persist * until they are cleared via a second notification. This should be called each time the CDC class driver's