|
|
|
/** \file
|
|
|
|
*
|
|
|
|
* This file contains special DoxyGen information for the generation of the main page and other special
|
|
|
|
* documentation pages. It is not a project source file.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/** \mainpage XPLAIN UART Bridge/PDI Programmer Project
|
|
|
|
*
|
|
|
|
* \section SSec_Compat Project Compatibility:
|
|
|
|
*
|
|
|
|
* The following list indicates what microcontrollers are compatible with this project.
|
|
|
|
*
|
|
|
|
* - AT90USB1287
|
|
|
|
*
|
|
|
|
* \section SSec_Info USB Information:
|
|
|
|
*
|
|
|
|
* The following table gives a rundown of the USB utilization of this project.
|
|
|
|
*
|
|
|
|
* <table>
|
|
|
|
* <tr>
|
|
|
|
* <td><b>USB Mode:</b></td>
|
|
|
|
* <td>1) Device</td>
|
|
|
|
* <td>2) Device</td>
|
|
|
|
* </tr>
|
|
|
|
* <tr>
|
|
|
|
* <td><b>USB Class:</b></td>
|
|
|
|
* <td>1) Communications Device Class (CDC)</td>
|
|
|
|
* <td>2) Vendor Specific Class</td>
|
|
|
|
* </tr>
|
|
|
|
* <tr>
|
|
|
|
* <td><b>USB Subclass:</b></td>
|
|
|
|
* <td>1) Abstract Control Model (ACM)</td>
|
|
|
|
* <td>2) N/A</td>
|
|
|
|
* </tr>
|
|
|
|
* <tr>
|
|
|
|
* <td><b>Relevant Standards:</b></td>
|
|
|
|
* <td>1) USBIF CDC Class Standard</td>
|
|
|
|
* <td>2) Atmel AVRISP MKII Protocol Specification</td>
|
|
|
|
* </tr>
|
|
|
|
* <tr>
|
|
|
|
* <td><b>Usable Speeds:</b></td>
|
|
|
|
* <td>1) Full Speed Mode</td>
|
|
|
|
* <td>2) Full Speed Mode</td>
|
|
|
|
* </tr>
|
|
|
|
* </table>
|
|
|
|
*
|
|
|
|
* \section SSec_Description Project Description:
|
|
|
|
*
|
|
|
|
* 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
|
|
|
|
* converter for the XPLAIN's hardware USART (at a speed of 9600 baud), or an AVRStudio compaible PDI programmer for the XMEGA.
|
|
|
|
* This project replaces the firmware preloaded onto the XPLAIN's onboard AT90USB1287 microcontroller.
|
|
|
|
*
|
|
|
|
* When power to the board is applied, the TDI pin (pin 9) of the USB AVR's JTAG port is read. If the pin is left high, the device
|
|
|
|
* will enumerate as a regular COM port on the host, which can then be opened and data exchanged between the XMEGA and Host as if
|
|
|
|
* the XMEGA was connected directly to the host's serial port. If the pin is pulled low by shorting it to GND (pin 10), the device
|
|
|
|
* will enumerate as an AVRISP-MKII to the host, so that the XMEGA can be reprogrammed by AVRStudio or other compatible software
|
|
|
|
* such as avrdude.
|
|
|
|
*
|
|
|
|
* After running this project for the first time on a new computer, you will need to supply the .INF file located in this project
|
|
|
|
* 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.
|
|
|
|
*
|
|
|
|
* This project relies on files from the LUFA AVRISP-MKII project for compilation.
|
|
|
|
*
|
|
|
|
* \section SSec_Options Project Options
|
|
|
|
*
|
|
|
|
* The following defines can be found in this project, which can control the project behaviour when defined, or changed in value.
|
|
|
|
*
|
|
|
|
* <table>
|
|
|
|
* <tr>
|
|
|
|
* <td><b>Define Name:</b></td>
|
|
|
|
* <td><b>Location:</b></td>
|
|
|
|
* <td><b>Description:</b></td>
|
|
|
|
* </tr>
|
|
|
|
* <tr>
|
|
|
|
* <td>BUFF_STATICSIZE</td>
|
|
|
|
* <td>RingBuff.h</td>
|
|
|
|
* <td>Defines the maximum number of bytes which can be buffered in each Ring Buffer.</td>
|
|
|
|
* </tr>
|
|
|
|
* <tr>
|
|
|
|
* <td>WIN_LIBUSB_COMPAT</td>
|
|
|
|
* <td>Makefile CDEFS</td>
|
|
|
|
* <td>Define to switch to a non-standard endpoint scheme, breaking compatibility with AVRStudio under Windows but making
|
|
|
|
* the code compatible with Windows builds of avrdude using the libUSB driver. Linux platforms are not affected by this
|
|
|
|
* option.
|
|
|
|
* </tr>
|
|
|
|
* </table>
|
|
|
|
*/
|