aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2012-02-24 20:28:27 +0000
committerDean Camera <dean@fourwalledcubicle.com>2012-02-24 20:28:27 +0000
commit6a9d1eab2d38bfd524ae5397852c01cb03325559 (patch)
treee3270f407aae8867a7bd1f27887c1773467b9ac6
parent63a65a9598266f2ede393d6cf2e24237c81bf158 (diff)
downloadlufa-6a9d1eab2d38bfd524ae5397852c01cb03325559.tar.gz
lufa-6a9d1eab2d38bfd524ae5397852c01cb03325559.tar.bz2
lufa-6a9d1eab2d38bfd524ae5397852c01cb03325559.zip
Modified the CDC Host demos to set a default CDC Line Encoding on enumerated devices.
-rw-r--r--Demos/Host/ClassDriver/VirtualSerialHost/VirtualSerialHost.c12
-rw-r--r--Demos/Host/LowLevel/VirtualSerialHost/VirtualSerialHost.c25
-rw-r--r--LUFA/DoxygenPages/ChangeLog.txt2
3 files changed, 38 insertions, 1 deletions
diff --git a/Demos/Host/ClassDriver/VirtualSerialHost/VirtualSerialHost.c b/Demos/Host/ClassDriver/VirtualSerialHost/VirtualSerialHost.c
index 36ff503f7..631925e45 100644
--- a/Demos/Host/ClassDriver/VirtualSerialHost/VirtualSerialHost.c
+++ b/Demos/Host/ClassDriver/VirtualSerialHost/VirtualSerialHost.c
@@ -163,6 +163,18 @@ void EVENT_USB_Host_DeviceEnumerationComplete(void)
LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
return;
}
+
+ VirtualSerial_CDC_Interface.State.LineEncoding.BaudRateBPS = 9600;
+ VirtualSerial_CDC_Interface.State.LineEncoding.CharFormat = CDC_LINEENCODING_OneStopBit;
+ VirtualSerial_CDC_Interface.State.LineEncoding.ParityType = CDC_PARITY_None;
+ VirtualSerial_CDC_Interface.State.LineEncoding.DataBits = 8;
+
+ if (CDC_Host_SetLineEncoding(&VirtualSerial_CDC_Interface))
+ {
+ puts_P(PSTR("Error Setting Device Line Encoding.\r\n"));
+ LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
+ return;
+ }
puts_P(PSTR("CDC Device Enumerated.\r\n"));
LEDs_SetAllLEDs(LEDMASK_USB_READY);
diff --git a/Demos/Host/LowLevel/VirtualSerialHost/VirtualSerialHost.c b/Demos/Host/LowLevel/VirtualSerialHost/VirtualSerialHost.c
index 5214dd476..88d7b74b0 100644
--- a/Demos/Host/LowLevel/VirtualSerialHost/VirtualSerialHost.c
+++ b/Demos/Host/LowLevel/VirtualSerialHost/VirtualSerialHost.c
@@ -126,6 +126,31 @@ void EVENT_USB_Host_DeviceEnumerationComplete(void)
return;
}
+ CDC_LineEncoding_t LineEncoding = { .BaudRateBPS = 9600,
+ .CharFormat = CDC_LINEENCODING_OneStopBit,
+ .ParityType = CDC_PARITY_None,
+ .DataBits = 8 };
+
+ USB_ControlRequest = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),
+ .bRequest = CDC_REQ_SetLineEncoding,
+ .wValue = 0,
+ .wIndex = 0,
+ .wLength = sizeof(LineEncoding),
+ };
+
+ /* Set the Line Encoding of the CDC interface within the device, so that it is ready to accept data */
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+ if (USB_Host_SendControlRequest(&LineEncoding) != HOST_SENDCONTROL_Successful)
+ {
+ printf_P(PSTR(ESC_FG_RED "Control Error (Set Line Encoding).\r\n"
+ " -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);
+
+ LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
+ return;
+ }
+
puts_P(PSTR("CDC Device Enumerated.\r\n"));
LEDs_SetAllLEDs(LEDMASK_USB_READY);
}
diff --git a/LUFA/DoxygenPages/ChangeLog.txt b/LUFA/DoxygenPages/ChangeLog.txt
index 5bc80becb..2e2110afe 100644
--- a/LUFA/DoxygenPages/ChangeLog.txt
+++ b/LUFA/DoxygenPages/ChangeLog.txt
@@ -11,7 +11,7 @@
* - Core:
* - Added support for the BitWizard Multio and Big-Multio boards
* - Library Applications:
- * - None
+ * - Modified the CDC Host demos to set a default CDC Line Encoding on enumerated devices
*
* <b>Changed:</b>
* - Core: