Don't fail Doxygen on versions built without various features.
[pub/USBasp.git] / Demos / Device / ClassDriver / VirtualSerial / VirtualSerial.c
index 101e3a4..d9429ba 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2013.
+     Copyright (C) Dean Camera, 2014.
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
-  Copyright 2013  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2014  Dean Camera (dean [at] fourwalledcubicle [dot] com)
 
   Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
 
   Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
@@ -185,3 +185,18 @@ void EVENT_USB_Device_ControlRequest(void)
        CDC_Device_ProcessControlRequest(&VirtualSerial_CDC_Interface);
 }
 
        CDC_Device_ProcessControlRequest(&VirtualSerial_CDC_Interface);
 }
 
+/** CDC class driver callback function the processing of changes to the virtual
+ *  control lines sent from the host..
+ *
+ *  \param[in] CDCInterfaceInfo  Pointer to the CDC class interface configuration structure being referenced
+ */
+void EVENT_CDC_Device_ControLineStateChanged(USB_ClassInfo_CDC_Device_t *const CDCInterfaceInfo)
+{
+       /* You can get changes to the virtual CDC lines in this callback; a common
+          use-case is to use the Data Terminal Ready (DTR) flag to enable and
+          disable CDC communications in your application when set to avoid the
+          application blocking while waiting for a host to become ready and read
+          in the pending data from the USB endpoints.
+       */
+       bool HostReady = (CDCInterfaceInfo->State.ControlLineStates.HostToDevice & CDC_CONTROL_LINE_OUT_DTR) != 0;
+}