/** \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 Sec_Compat Project Compatibility: * * The following list indicates what microcontrollers are compatible with this project. * * \li AT90USB1287 * * \section Sec_Info USB Information: * * The following table gives a rundown of the USB utilization of this project. * * * * * * * * * * * * * * * * * * * * * * * * * * * *
USB Mode:1) Device2) Device
USB Class:1) Communications Device Class (CDC)2) Vendor Specific Class
USB Subclass:1) Abstract Control Model (ACM)2) N/A
Relevant Standards:1) USBIF CDC Class Standard2) Atmel AVRISP MKII Protocol Specification
Supported USB Speeds:1) Full Speed Mode2) Full Speed Mode
* * \section Sec_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 compatible 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 by connecting to the board as if it was an Atmel AVRISP-MKII programmer. * * After running this project in serial bridge mode 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 virtual serial drivers, negating the need for custom drivers for the device. Other Operating Systems should * automatically use their own inbuilt CDC-ACM drivers. * * In serial bridge mode, the UART baud rate can be altered through the host terminal software to select a new baud rate - the default * baud is 9600. Note that parity, data bits and stop bits are fixed at none, eight and one respectively can cannot be altered. Changes * to the connection's parity, data bits or stop bits are ignored by the firmware. As the serial link between the controllers on the * XPLAIN is software emulated by the USB AVR, not all baud rates will work correctly. * * This project relies on files from the LUFA AVRISP-MKII project for compilation. * * \section Sec_Options Project Options * * The following defines can be found in this project, which can control the project behaviour when defined, or changed in value. * * * * * * * * * * * * * * * * * * * * * * *
Define Name:Location:Description:
LIBUSB_DRIVER_COMPATAppConfig.hDefine to switch to a non-standard endpoint scheme, breaking compatibility with AVRStudio under Windows but making * the code compatible with software such as avrdude (all platforms) that use the libUSB driver. * * \note This option is incompatible with \c RESET_TOGGLES_LIBUSB_COMPAT.
RESET_TOGGLES_LIBUSB_COMPATMakefile LUFA_OPTSDefine to make the /RESET line of the AVR toggle between Jungo and libUSB driver compatibility modes. Each time the AVR is * reset externally via the reset pin, the compatibility mode will be toggled. The compatibility mode is preserved between * power cycles and is not toggled via other forms of reset such as Watchdog or Brown Out. * * When this option is enabled, all board LEDs will flash twice on startup for Jungo compatibility mode, and five times for * libUSB compatibility mode. * * \note This option is incompatible with \c LIBUSB_DRIVER_COMPAT.
FIRMWARE_VERSION_MINORAppConfig.hDefine to set the minor firmware revision nunber reported to the host on request. By default this will use a firmware version compatible * with the latest Atmel IDE version, however if desired the reported minor value can be adjusted here.
*/