From 1d2bc47eba73f168c66fab827a4543628a9e1b95 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Tue, 19 Jan 2010 05:38:21 +0000 Subject: [PATCH] Clean up of the altered XPLAINBridge project. --- LUFA.pnproj | 2 +- Projects/AVRISP-MKII/Descriptors.c | 3 +++ Projects/XPLAINBridge/Doxygen.conf | 2 +- Projects/XPLAINBridge/USARTDescriptors.c | 3 +++ Projects/XPLAINBridge/XPLAINBridge.h | 3 +++ Projects/XPLAINBridge/XPLAINBridge.txt | 27 +++++++++++++++++------- 6 files changed, 30 insertions(+), 10 deletions(-) diff --git a/LUFA.pnproj b/LUFA.pnproj index cfa53cd518..3af9dc1dec 100644 --- a/LUFA.pnproj +++ b/LUFA.pnproj @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/Projects/AVRISP-MKII/Descriptors.c b/Projects/AVRISP-MKII/Descriptors.c index 6b4264f480..6ab6092a67 100644 --- a/Projects/AVRISP-MKII/Descriptors.c +++ b/Projects/AVRISP-MKII/Descriptors.c @@ -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}, diff --git a/Projects/XPLAINBridge/Doxygen.conf b/Projects/XPLAINBridge/Doxygen.conf index 894c1c8313..39a3978a3f 100644 --- a/Projects/XPLAINBridge/Doxygen.conf +++ b/Projects/XPLAINBridge/Doxygen.conf @@ -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 diff --git a/Projects/XPLAINBridge/USARTDescriptors.c b/Projects/XPLAINBridge/USARTDescriptors.c index d8587f2b2f..60c25321c2 100644 --- a/Projects/XPLAINBridge/USARTDescriptors.c +++ b/Projects/XPLAINBridge/USARTDescriptors.c @@ -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); diff --git a/Projects/XPLAINBridge/XPLAINBridge.h b/Projects/XPLAINBridge/XPLAINBridge.h index 543a03e72c..805c30d096 100644 --- a/Projects/XPLAINBridge/XPLAINBridge.h +++ b/Projects/XPLAINBridge/XPLAINBridge.h @@ -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: */ diff --git a/Projects/XPLAINBridge/XPLAINBridge.txt b/Projects/XPLAINBridge/XPLAINBridge.txt index ec6eee7eb1..98d6dfe6eb 100644 --- a/Projects/XPLAINBridge/XPLAINBridge.txt +++ b/Projects/XPLAINBridge/XPLAINBridge.txt @@ -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 @@ * * USB Mode: * Device + * Device * * * USB Class: - * Communications Device Class (CDC) + * 1) Communications Device Class (CDC) + * 2) Vendor Specific Class * * * USB Subclass: - * Abstract Control Model (ACM) + * 1) Abstract Control Model (ACM) + * 2) N/A * * * Relevant Standards: - * USBIF CDC Class Standard + * 1) USBIF CDC Class Standard + * 2) Atmel AVRISP MKII Protocol Specification * * * Usable Speeds: * Full Speed Mode + * Full Speed Mode * * * * \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.