]> git.gir.st - tmk_keyboard.git/blob - protocol/lufa/LUFA-git/Projects/XPLAINBridge/XPLAINBridge.txt
Squashed 'tmk_core/' changes from caca2c0..dc0e46e
[tmk_keyboard.git] / protocol / lufa / LUFA-git / Projects / XPLAINBridge / XPLAINBridge.txt
1 /** \file
2 *
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.
5 */
6
7 /** \mainpage XPLAIN UART Bridge/PDI Programmer Project
8 *
9 * \section Sec_Compat Project Compatibility:
10 *
11 * The following list indicates what microcontrollers are compatible with this project.
12 *
13 * \li AT90USB1287
14 *
15 * \section Sec_Info USB Information:
16 *
17 * The following table gives a rundown of the USB utilization of this project.
18 *
19 * <table>
20 * <tr>
21 * <td><b>USB Mode:</b></td>
22 * <td>1) Device</td>
23 * <td>2) Device</td>
24 * </tr>
25 * <tr>
26 * <td><b>USB Class:</b></td>
27 * <td>1) Communications Device Class (CDC)</td>
28 * <td>2) Vendor Specific Class</td>
29 * </tr>
30 * <tr>
31 * <td><b>USB Subclass:</b></td>
32 * <td>1) Abstract Control Model (ACM)</td>
33 * <td>2) N/A</td>
34 * </tr>
35 * <tr>
36 * <td><b>Relevant Standards:</b></td>
37 * <td>1) USBIF CDC Class Standard</td>
38 * <td>2) Atmel AVRISP MKII Protocol Specification</td>
39 * </tr>
40 * <tr>
41 * <td><b>Supported USB Speeds:</b></td>
42 * <td>1) Full Speed Mode</td>
43 * <td>2) Full Speed Mode</td>
44 * </tr>
45 * </table>
46 *
47 * \section Sec_Description Project Description:
48 *
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 an AVRStudio compatible PDI programmer for the XMEGA.
51 * This project replaces the firmware preloaded onto the XPLAIN's onboard AT90USB1287 microcontroller.
52 *
53 * 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
54 * 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
55 * 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
56 * will enumerate as an AVRISP-MKII to the host, so that the XMEGA can be reprogrammed by AVRStudio or other compatible software
57 * such as avrdude by connecting to the board as if it was an Atmel AVRISP-MKII programmer.
58 *
59 * After running this project in serial bridge mode for the first time on a new computer, you will need to supply the .INF file
60 * located in this project project's directory as the device's driver when running under Windows. This will enable Windows to use
61 * its inbuilt CDC virtual serial drivers, negating the need for custom drivers for the device. Other Operating Systems should
62 * automatically use their own inbuilt CDC-ACM drivers.
63 *
64 * In serial bridge mode, the UART baud rate can be altered through the host terminal software to select a new baud rate - the default
65 * baud is 9600. Note that parity, data bits and stop bits are fixed at none, eight and one respectively can cannot be altered. Changes
66 * to the connection's parity, data bits or stop bits are ignored by the firmware. As the serial link between the controllers on the
67 * XPLAIN is software emulated by the USB AVR, not all baud rates will work correctly.
68 *
69 * This project relies on files from the LUFA AVRISP-MKII project for compilation.
70 *
71 * \section Sec_Options Project Options
72 *
73 * The following defines can be found in this project, which can control the project behaviour when defined, or changed in value.
74 *
75 * <table>
76 * <tr>
77 * <th><b>Define Name:</b></th>
78 * <th><b>Location:</b></th>
79 * <th><b>Description:</b></th>
80 * </tr>
81 * <tr>
82 * <td>LIBUSB_DRIVER_COMPAT</td>
83 * <td>AppConfig.h</td>
84 * <td>Define to switch to a non-standard endpoint scheme, breaking compatibility with AVRStudio under Windows but making
85 * the code compatible with software such as avrdude (all platforms) that use the libUSB driver.
86 *
87 * \note This option is incompatible with \c RESET_TOGGLES_LIBUSB_COMPAT.</td>
88 * </tr>
89 * <tr>
90 * <td>RESET_TOGGLES_LIBUSB_COMPAT</td>
91 * <td>Makefile LUFA_OPTS</td>
92 * <td>Define to make the /RESET line of the AVR toggle between Jungo and libUSB driver compatibility modes. Each time the AVR is
93 * reset externally via the reset pin, the compatibility mode will be toggled. The compatibility mode is preserved between
94 * power cycles and is not toggled via other forms of reset such as Watchdog or Brown Out.
95 *
96 * When this option is enabled, all board LEDs will flash twice on startup for Jungo compatibility mode, and five times for
97 * libUSB compatibility mode.
98 *
99 * \note This option is incompatible with \c LIBUSB_DRIVER_COMPAT.</td>
100 * </tr>
101 * <tr>
102 * <td>FIRMWARE_VERSION_MINOR</td>
103 * <td>AppConfig.h</td>
104 * <td>Define to set the minor firmware revision nunber reported to the host on request. By default this will use a firmware version compatible
105 * with the latest Atmel IDE version, however if desired the reported minor value can be adjusted here.</td>
106 * </tr>
107 * </table>
108 */
109
Imprint / Impressum