3  *  This file contains special DoxyGen information for the generation of the main page and other special
 
   4  *  documentation pages. It is not a project source file.
 
   7 /** \mainpage XPLAIN UART Bridge/PDI Programmer Project
 
   9  *  \section SSec_Compat Project Compatibility:
 
  11  *  The following list indicates what microcontrollers are compatible with this project.
 
  15  *  \section SSec_Info USB Information:
 
  17  *  The following table gives a rundown of the USB utilization of this project.
 
  21  *    <td><b>USB Mode:</b></td>
 
  26  *    <td><b>USB Class:</b></td>
 
  27  *    <td>1) Communications Device Class (CDC)</td>
 
  28  *    <td>2) Vendor Specific Class</td>
 
  31  *    <td><b>USB Subclass:</b></td>
 
  32  *    <td>1) Abstract Control Model (ACM)</td>
 
  36  *    <td><b>Relevant Standards:</b></td>
 
  37  *    <td>1) USBIF CDC Class Standard</td>
 
  38  *    <td>2) Atmel AVRISP MKII Protocol Specification</td>
 
  41  *    <td><b>Usable Speeds:</b></td>
 
  42  *    <td>1) Full Speed Mode</td>
 
  43  *    <td>2) Full Speed Mode</td>
 
  47  *  \section SSec_Description Project Description: 
 
  49  *  This project serves a dual purpose. When loaded into the USB AVR on the XPLAIN board, it will act as either a USB to Serial
 
  50  *  converter for the XPLAIN's hardware USART (at a speed of 9600 baud), or a PDI programmer for the XMEGA. This project replaces
 
  51  *  the firmware preloaded onto the XPLAIN's onboard AT90USB1287 microcontroller.
 
  53  *  When inserted, the JTAG port's TDI pin is read. If the pin is left high, the device will enumerate as a regular COM port on
 
  54  *  the host, which can then be opened and data exchanged between the XMEGA and Host as if the XMEGA was connected directly to
 
  55  *  the host's serial port. If the pin is pulled low, the device will enumerate as an AVRISP-MKII to the host, so that the XMEGA
 
  56  *  can be reprogrammed by AVRStudio or other compatible software such as avrdude.
 
  58  *  After running this project for the first time on a new computer, you will need to supply the .INF file located in this project
 
  59  *  project's directory as the device's driver when running under Windows. This will enable Windows to use its inbuilt CDC drivers,
 
  60  *  negating the need for custom drivers for the device. Other Operating Systems should automatically use their own inbuilt CDC-ACM
 
  63  *  This project relies on files from the LUFA AVRISP-MKII project.
 
  65  *  \section SSec_Options Project Options
 
  67  *  The following defines can be found in this project, which can control the project behaviour when defined, or changed in value.
 
  71  *    <td><b>Define Name:</b></td>
 
  72  *    <td><b>Location:</b></td>
 
  73  *    <td><b>Description:</b></td>
 
  76  *    <td>BUFF_STATICSIZE</td>
 
  78  *    <td>Defines the maximum number of bytes which can be buffered in each Ring Buffer.</td>