XPLAINBridge.txt 3.55 KB
Newer Older
1
2
3
4
5
6
/** \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.
 */
 
7
/** \mainpage XPLAIN UART Bridge/PDI Programmer Project
8
 *
9
 *  \section SSec_Compat Project Compatibility:
10
 *
11
 *  The following list indicates what microcontrollers are compatible with this project.
12
13
14
15
16
 *
 *  - AT90USB1287
 *
 *  \section SSec_Info USB Information:
 *
17
 *  The following table gives a rundown of the USB utilization of this project.
18
19
20
21
 *
 *  <table>
 *   <tr>
 *    <td><b>USB Mode:</b></td>
22
23
 *    <td>1) Device</td>
 *    <td>2) Device</td>
24
25
26
 *   </tr>
 *   <tr>
 *    <td><b>USB Class:</b></td>
27
28
 *    <td>1) Communications Device Class (CDC)</td>
 *    <td>2) Vendor Specific Class</td>
29
30
31
 *   </tr>
 *   <tr> 
 *    <td><b>USB Subclass:</b></td>
32
33
 *    <td>1) Abstract Control Model (ACM)</td>
 *    <td>2) N/A</td>
34
35
36
 *   </tr>
 *   <tr>
 *    <td><b>Relevant Standards:</b></td>
37
38
 *    <td>1) USBIF CDC Class Standard</td>
 *    <td>2) Atmel AVRISP MKII Protocol Specification</td>
39
40
41
 *   </tr>
 *   <tr>
 *    <td><b>Usable Speeds:</b></td>
42
43
 *    <td>1) Full Speed Mode</td>
 *    <td>2) Full Speed Mode</td>
44
45
46
47
48
 *   </tr>
 *  </table>
 *
 *  \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
51
 *  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.
52
 *
53
54
55
56
57
 *  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.
58
 *
59
 *  After running this project for the first time on a new computer, you will need to supply the .INF file located in this project
60
61
62
63
 *  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.
 *
64
 *  This project relies on files from the LUFA AVRISP-MKII project for compilation.
65
 *
66
67
 *  \section SSec_Options Project Options
 *
68
 *  The following defines can be found in this project, which can control the project behaviour when defined, or changed in value.
69
70
71
72
73
74
75
76
77
78
79
80
 *
 *  <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>
81
82
83
84
85
86
87
 *   <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>
88
89
 *  </table>
 */