Commit 1d2bc47e authored by Dean Camera's avatar Dean Camera
Browse files

Clean up of the altered XPLAINBridge project.

parent 60fd0ff4
This diff is collapsed.
......@@ -156,6 +156,9 @@ USB_Descriptor_String_t PROGMEM ProductString =
.UnicodeString = L"LUFA AVRISP MkII Clone"
};
/** Serial number string. This is a Unicode string containing the device's unique serial number, expressed as a
* series of uppercase hexadecimal digits.
*/
USB_Descriptor_String_t PROGMEM SerialString =
{
.Header = {.Size = USB_STRING_LEN(13), .Type = DTYPE_String},
......
......@@ -25,7 +25,7 @@ DOXYFILE_ENCODING = UTF-8
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
# by quotes) that should identify the project.
PROJECT_NAME = "LUFA Library - XPLAIN Serial Bridge Device Demo"
PROJECT_NAME = "LUFA Library - XPLAIN Serial Bridge/PDI Programmer Device Demo"
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
# This could be handy for archiving the generated documentation or
......
......@@ -226,6 +226,9 @@ USB_Descriptor_String_t PROGMEM USART_ProductString =
.UnicodeString = L"LUFA XPLAIN Bridge"
};
/** Descriptior retrieval function for the USART Bridge descriptors. This function is in turn called by the GetDescriptor
* callback function in the main source file, to retrieve the device's descriptors when in USART bridge mode.
*/
uint16_t USART_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, void** const DescriptorAddress)
{
const uint8_t DescriptorType = (wValue >> 8);
......
......@@ -69,7 +69,10 @@
/** LED mask for the library LED driver, to indicate that the USB interface is busy. */
#define LEDMASK_BUSY LEDS_LED1
/** Firmware mode define for the USART Bridge mode. */
#define MODE_USART_BRIDGE false
/** Firmware mode define for the AVRISP Programmer mode. */
#define MODE_PDI_PROGRAMMER true
/* External Variables: */
......
......@@ -4,7 +4,7 @@
* documentation pages. It is not a project source file.
*/
/** \mainpage XPLAIN UART Bridge Project
/** \mainpage XPLAIN UART Bridge/PDI Programmer Project
*
* \section SSec_Compat Project Compatibility:
*
......@@ -20,37 +20,48 @@
* <tr>
* <td><b>USB Mode:</b></td>
* <td>Device</td>
* <td>Device</td>
* </tr>
* <tr>
* <td><b>USB Class:</b></td>
* <td>Communications Device Class (CDC)</td>
* <td>1) Communications Device Class (CDC)</td>
* <td>2) Vendor Specific Class</td>
* </tr>
* <tr>
* <td><b>USB Subclass:</b></td>
* <td>Abstract Control Model (ACM)</td>
* <td>1) Abstract Control Model (ACM)</td>
* <td>2) N/A</td>
* </tr>
* <tr>
* <td><b>Relevant Standards:</b></td>
* <td>USBIF CDC Class Standard</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>Full Speed Mode</td>
* <td>Full Speed Mode</td>
* </tr>
* </table>
*
* \section SSec_Description Project Description:
*
* This is a virtual serial port to soft-UART converter, for use on the Atmel XPLAIN boards. This project replaces the firmware
* preloaded onto the XPLAIN's onboard AT90USB1287 microcontroller to act as a a UART-to-USB bridge between the device and the
* host. When inserted, 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.
* 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 a PDI programmer for the XMEGA. This project replaces
* the firmware preloaded onto the XPLAIN's onboard AT90USB1287 microcontroller.
*
* When inserted, the JTAG port's TDI pin 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, 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.
*
* \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.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment