LUFA Library - Dual Virtual Serial Device Demo
Dual Communications Device Class (Dual Virtual Serial Port) Device

Demo Compatibility:

The following list indicates what microcontrollers are compatible with this demo.

  • Series 7 USB AVRs (AT90USBxxx7)
  • Series 6 USB AVRs (AT90USBxxx6)
  • Series 4 USB AVRs (ATMEGAxxU4)

USB Information:

The following table gives a rundown of the USB utilization of this demo.

USB Mode: Device
USB Class: Communications Device Class (CDC)
USB Subclass: Abstract Control Model (ACM)
Relevant Standards: USBIF CDC Class Standard
Relevant Standards: USBIF Interface Association Descriptor ECN
USBIF CDC Class Standard
Supported USB Speeds: Full Speed Mode

Project Description:

Dual Communications Device Class demonstration application. This gives a simple reference application for implementing a compound device with dual CDC functions acting as a pair of virtual serial ports. This demo uses Interface Association Descriptors to link together the pair of related CDC descriptors for each virtual serial port, which may not be supported in all OSes - Windows Vista is supported, as is XP (although the latter may need a hotfix to function).

Joystick actions are transmitted to the host as strings through the first serial port. The device does not respond to serial data sent from the host in the first serial port.

The second serial port echoes back data sent from the host.

After running this demo for the first time on a new computer, you will need to supply the .INF file located in this demo project's directory as the device's driver when running under Windows. This will enable Windows to use its inbuilt CDC drivers, negating the need for custom drivers for the device. Other Operating Systems should automatically use their own inbuilt CDC-ACM drivers.

Project Options

The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value.

None