aboutsummaryrefslogtreecommitdiffstats
path: root/Projects
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2010-01-19 05:38:21 +0000
committerDean Camera <dean@fourwalledcubicle.com>2010-01-19 05:38:21 +0000
commit1d2bc47eba73f168c66fab827a4543628a9e1b95 (patch)
tree39ef0d41cbe6ef3bfe90257e0736cce931576296 /Projects
parent60fd0ff418566d85224f9841037ba01b77acc0d8 (diff)
downloadlufa-1d2bc47eba73f168c66fab827a4543628a9e1b95.tar.gz
lufa-1d2bc47eba73f168c66fab827a4543628a9e1b95.tar.bz2
lufa-1d2bc47eba73f168c66fab827a4543628a9e1b95.zip
Clean up of the altered XPLAINBridge project.
Diffstat (limited to 'Projects')
-rw-r--r--Projects/AVRISP-MKII/Descriptors.c3
-rw-r--r--Projects/XPLAINBridge/Doxygen.conf2
-rw-r--r--Projects/XPLAINBridge/USARTDescriptors.c3
-rw-r--r--Projects/XPLAINBridge/XPLAINBridge.h3
-rw-r--r--Projects/XPLAINBridge/XPLAINBridge.txt27
5 files changed, 29 insertions, 9 deletions
diff --git a/Projects/AVRISP-MKII/Descriptors.c b/Projects/AVRISP-MKII/Descriptors.c
index 6b4264f48..6ab6092a6 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 894c1c831..39a3978a3 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 d8587f2b2..60c25321c 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 543a03e72..805c30d09 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 ec6eee7eb..98d6dfe6e 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 @@
* <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.