aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers/USB/Class/Device/CDC.c
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2009-06-08 10:06:49 +0000
committerDean Camera <dean@fourwalledcubicle.com>2009-06-08 10:06:49 +0000
commitbde64666fbdda0a275344c0e5e5175f770be516d (patch)
treef12e90fcf41f5ca163a9b33a40fc7e5747e2a428 /LUFA/Drivers/USB/Class/Device/CDC.c
parente6881fd166586793a5a90effeefe4188092f383b (diff)
downloadlufa-bde64666fbdda0a275344c0e5e5175f770be516d.tar.gz
lufa-bde64666fbdda0a275344c0e5e5175f770be516d.tar.bz2
lufa-bde64666fbdda0a275344c0e5e5175f770be516d.zip
Finished CDC device class driver documentation.
Diffstat (limited to 'LUFA/Drivers/USB/Class/Device/CDC.c')
-rw-r--r--LUFA/Drivers/USB/Class/Device/CDC.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/LUFA/Drivers/USB/Class/Device/CDC.c b/LUFA/Drivers/USB/Class/Device/CDC.c
index dface2a6d..c551fb769 100644
--- a/LUFA/Drivers/USB/Class/Device/CDC.c
+++ b/LUFA/Drivers/USB/Class/Device/CDC.c
@@ -130,6 +130,9 @@ void USB_CDC_USBTask(USB_ClassInfo_CDC_t* CDCInterfaceInfo)
void USB_CDC_SendString(USB_ClassInfo_CDC_t* CDCInterfaceInfo, char* Data, uint16_t Length)
{
+ if (!(USB_IsConnected))
+ return;
+
Endpoint_SelectEndpoint(CDCInterfaceInfo->DataINEndpointNumber);
Endpoint_Write_Stream_LE(Data, Length, NO_STREAM_CALLBACK);
}
@@ -159,6 +162,9 @@ uint16_t USB_CDC_BytesReceived(USB_ClassInfo_CDC_t* CDCInterfaceInfo)
uint8_t USB_CDC_ReceiveByte(USB_ClassInfo_CDC_t* CDCInterfaceInfo)
{
+ if (!(USB_IsConnected))
+ return 0;
+
Endpoint_SelectEndpoint(CDCInterfaceInfo->DataOUTEndpointNumber);
uint8_t DataByte = Endpoint_Read_Byte();
@@ -171,6 +177,9 @@ uint8_t USB_CDC_ReceiveByte(USB_ClassInfo_CDC_t* CDCInterfaceInfo)
void USB_CDC_SendSerialLineStateChange(USB_ClassInfo_CDC_t* CDCInterfaceInfo, uint16_t LineStateMask)
{
+ if (!(USB_IsConnected))
+ return;
+
Endpoint_SelectEndpoint(CDCInterfaceInfo->NotificationEndpointNumber);
USB_Request_Header_t Notification = (USB_Request_Header_t)