mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-06-24 10:02:06 +00:00
Changed the AVRISP-MKII Clone programmer project to report a fixed 3.3V VTARGET voltage on USB AVRs lacking an ADC instead of 5V to prevent warnings in AVR Studio 5.1 when programming XMEGA devices.
100 lines
4.4 KiB
Plaintext
100 lines
4.4 KiB
Plaintext
/** \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.
|
|
*
|
|
* - AT90USB1287
|
|
*
|
|
* \section Sec_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 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.
|
|
*
|
|
* <table>
|
|
* <tr>
|
|
* <td><b>Define Name:</b></td>
|
|
* <td><b>Location:</b></td>
|
|
* <td><b>Description:</b></td>
|
|
* </tr>
|
|
* <tr>
|
|
* <td>BUFFER_SIZE</td>
|
|
* <td>LightweightRingBuff.h</td>
|
|
* <td>Defines the maximum number of bytes which can be buffered in each Ring Buffer when in serial bridge mode.</td>
|
|
* </tr>
|
|
* <tr>
|
|
* <td>LIBUSB_DRIVER_COMPAT</td>
|
|
* <td>Makefile LUFA_OPTS</td>
|
|
* <td>Define 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.</td>
|
|
* </tr>
|
|
* <tr>
|
|
* <td>FIRMWARE_VERSION_MINOR</td>
|
|
* <td>Define 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.</td>
|
|
* </tr>
|
|
* </table>
|
|
*/
|
|
|