From 1d26e78258c10dcca63e31e66732f1e525b5dade Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Mon, 13 Jul 2009 06:44:14 +0000
Subject: [PATCH] Added compatibility list to the documentation of each
 individual demo.

Documented FAST_STREAM_TRANSFERS compile time option.

Reduced the TCP window size for the RNDIS demos (Class and LowLevel) to make them compatible with the AT90USB64x.
---
 Bootloaders/CDC/BootloaderCDC.txt             | 13 ++++
 Bootloaders/DFU/BootloaderDFU.txt             | 13 ++++
 Bootloaders/TeensyHID/TeensyHID.txt           |  7 +++
 .../ClassDriver/AudioInput/AudioInput.txt     | 10 ++++
 .../ClassDriver/AudioOutput/AudioOutput.txt   | 10 ++++
 Demos/Device/ClassDriver/CDC/CDC.txt          | 14 +++++
 Demos/Device/ClassDriver/DualCDC/DualCDC.txt  | 14 +++++
 .../ClassDriver/GenericHID/GenericHID.txt     | 14 +++++
 .../Device/ClassDriver/Joystick/Joystick.txt  | 14 +++++
 .../Device/ClassDriver/Keyboard/Keyboard.txt  | 14 +++++
 .../KeyboardMouse/KeyboardMouse.txt           | 14 +++++
 Demos/Device/ClassDriver/MIDI/MIDI.txt        | 14 +++++
 .../ClassDriver/MassStorage/MassStorage.txt   | 14 +++++
 Demos/Device/ClassDriver/Mouse/Mouse.txt      | 14 +++++
 .../ClassDriver/RNDISEthernet/Lib/TCP.h       |  2 +-
 .../RNDISEthernet/RNDISEthernet.txt           | 59 +++++++++++--------
 .../ClassDriver/USBtoSerial/USBtoSerial.txt   | 14 +++++
 .../Device/LowLevel/AudioInput/AudioInput.txt |  9 +++
 .../LowLevel/AudioOutput/AudioOutput.txt      | 10 ++++
 Demos/Device/LowLevel/CDC/CDC.txt             | 14 +++++
 Demos/Device/LowLevel/DualCDC/DualCDC.txt     | 14 +++++
 .../Device/LowLevel/GenericHID/GenericHID.txt | 14 +++++
 Demos/Device/LowLevel/Joystick/Joystick.txt   | 14 +++++
 Demos/Device/LowLevel/Keyboard/Keyboard.txt   | 14 +++++
 .../LowLevel/KeyboardMouse/KeyboardMouse.txt  | 14 +++++
 Demos/Device/LowLevel/MIDI/MIDI.txt           | 14 +++++
 .../LowLevel/MassStorage/MassStorage.txt      | 14 +++++
 Demos/Device/LowLevel/Mouse/Mouse.txt         | 14 +++++
 Demos/Device/LowLevel/RNDISEthernet/Lib/TCP.h |  2 +-
 .../LowLevel/RNDISEthernet/RNDISEthernet.txt  | 59 +++++++++++--------
 .../LowLevel/USBtoSerial/USBtoSerial.txt      | 14 +++++
 Demos/Host/ClassDriver/CDCHost/CDCHost.txt    |  7 +++
 Demos/Host/LowLevel/CDCHost/CDCHost.txt       |  7 +++
 .../GenericHIDHost/GenericHIDHost.txt         |  7 +++
 .../LowLevel/KeyboardHost/KeyboardHost.txt    |  7 +++
 .../KeyboardHostWithParser.txt                |  7 +++
 .../MassStorageHost/MassStorageHost.txt       |  7 +++
 Demos/Host/LowLevel/MouseHost/MouseHost.txt   |  7 +++
 .../MouseHostWithParser.txt                   |  7 +++
 .../StillImageHost/StillImageHost.txt         |  7 +++
 LUFA/ManPages/ChangeLog.txt                   |  1 +
 LUFA/ManPages/CompileTimeTokens.txt           |  7 +++
 LUFA/ManPages/FutureChanges.txt               |  3 -
 Projects/Magstripe/Magstripe.txt              |  7 +++
 Projects/MissileLauncher/MissileLauncher.txt  |  7 +++
 45 files changed, 507 insertions(+), 55 deletions(-)

diff --git a/Bootloaders/CDC/BootloaderCDC.txt b/Bootloaders/CDC/BootloaderCDC.txt
index c518195eb..e3faf5434 100644
--- a/Bootloaders/CDC/BootloaderCDC.txt
+++ b/Bootloaders/CDC/BootloaderCDC.txt
@@ -5,6 +5,19 @@
  */
  
 /** \mainpage CDC Class USB AVR Bootloader
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
+ *  - ATMEGA32U6
+ *  - ATMEGA32U4
+ *  - ATMEGA16U4
+ *  - AT90USB162
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Bootloaders/DFU/BootloaderDFU.txt b/Bootloaders/DFU/BootloaderDFU.txt
index 05bfa71fa..ca2f1651d 100644
--- a/Bootloaders/DFU/BootloaderDFU.txt
+++ b/Bootloaders/DFU/BootloaderDFU.txt
@@ -5,6 +5,19 @@
  */
  
 /** \mainpage DFU Class USB AVR Bootloader
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
+ *  - ATMEGA32U6
+ *  - ATMEGA32U4
+ *  - ATMEGA16U4
+ *  - AT90USB162
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Bootloaders/TeensyHID/TeensyHID.txt b/Bootloaders/TeensyHID/TeensyHID.txt
index 3ef5e9f40..93862c674 100644
--- a/Bootloaders/TeensyHID/TeensyHID.txt
+++ b/Bootloaders/TeensyHID/TeensyHID.txt
@@ -5,6 +5,13 @@
  */
  
 /** \mainpage Teensy HID Class USB AVR Bootloader
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB646
+ *  - AT90USB162
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Device/ClassDriver/AudioInput/AudioInput.txt b/Demos/Device/ClassDriver/AudioInput/AudioInput.txt
index cf7125949..0ed4ed0c1 100644
--- a/Demos/Device/ClassDriver/AudioInput/AudioInput.txt
+++ b/Demos/Device/ClassDriver/AudioInput/AudioInput.txt
@@ -5,6 +5,16 @@
  */
  
 /** \mainpage Audio Input Device Demo
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
+ *  - ATMEGA32U6
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Device/ClassDriver/AudioOutput/AudioOutput.txt b/Demos/Device/ClassDriver/AudioOutput/AudioOutput.txt
index a47f9b5f3..ffae9ed57 100644
--- a/Demos/Device/ClassDriver/AudioOutput/AudioOutput.txt
+++ b/Demos/Device/ClassDriver/AudioOutput/AudioOutput.txt
@@ -5,6 +5,16 @@
  */
  
 /** \mainpage Audio Output Device Demo
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
+ *  - ATMEGA32U6
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Device/ClassDriver/CDC/CDC.txt b/Demos/Device/ClassDriver/CDC/CDC.txt
index 8e13b55b4..397ed361f 100644
--- a/Demos/Device/ClassDriver/CDC/CDC.txt
+++ b/Demos/Device/ClassDriver/CDC/CDC.txt
@@ -5,6 +5,20 @@
  */
  
 /** \mainpage Communications Device Class Device (Virtual Serial Port)
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
+ *  - ATMEGA32U6
+ *  - ATMEGA32U4
+ *  - ATMEGA16U4
+ *  - AT90USB162
+ *  - AT90USB82
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Device/ClassDriver/DualCDC/DualCDC.txt b/Demos/Device/ClassDriver/DualCDC/DualCDC.txt
index 6e086029b..eece70614 100644
--- a/Demos/Device/ClassDriver/DualCDC/DualCDC.txt
+++ b/Demos/Device/ClassDriver/DualCDC/DualCDC.txt
@@ -5,6 +5,20 @@
  */
  
 /** \mainpage Dual Communications Device Class Device (Dual Virtual Serial Port)
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
+ *  - ATMEGA32U6
+ *  - ATMEGA32U4
+ *  - ATMEGA16U4
+ *  - AT90USB162
+ *  - AT90USB82
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Device/ClassDriver/GenericHID/GenericHID.txt b/Demos/Device/ClassDriver/GenericHID/GenericHID.txt
index a40b78b1f..fc5c136a2 100644
--- a/Demos/Device/ClassDriver/GenericHID/GenericHID.txt
+++ b/Demos/Device/ClassDriver/GenericHID/GenericHID.txt
@@ -5,6 +5,20 @@
  */
  
 /** \mainpage Generic HID Device
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
+ *  - ATMEGA32U6
+ *  - ATMEGA32U4
+ *  - ATMEGA16U4
+ *  - AT90USB162
+ *  - AT90USB82
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Device/ClassDriver/Joystick/Joystick.txt b/Demos/Device/ClassDriver/Joystick/Joystick.txt
index 7d47ae92f..d2fdaafd9 100644
--- a/Demos/Device/ClassDriver/Joystick/Joystick.txt
+++ b/Demos/Device/ClassDriver/Joystick/Joystick.txt
@@ -5,6 +5,20 @@
  */
  
 /** \mainpage Joystick Device Demo
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
+ *  - ATMEGA32U6
+ *  - ATMEGA32U4
+ *  - ATMEGA16U4
+ *  - AT90USB162
+ *  - AT90USB82
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Device/ClassDriver/Keyboard/Keyboard.txt b/Demos/Device/ClassDriver/Keyboard/Keyboard.txt
index 3fc9bee3a..e1f6785f7 100644
--- a/Demos/Device/ClassDriver/Keyboard/Keyboard.txt
+++ b/Demos/Device/ClassDriver/Keyboard/Keyboard.txt
@@ -5,6 +5,20 @@
  */
  
 /** \mainpage Keyboard Device Demo
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
+ *  - ATMEGA32U6
+ *  - ATMEGA32U4
+ *  - ATMEGA16U4
+ *  - AT90USB162
+ *  - AT90USB82
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Device/ClassDriver/KeyboardMouse/KeyboardMouse.txt b/Demos/Device/ClassDriver/KeyboardMouse/KeyboardMouse.txt
index 3e31057ca..ca08602b7 100644
--- a/Demos/Device/ClassDriver/KeyboardMouse/KeyboardMouse.txt
+++ b/Demos/Device/ClassDriver/KeyboardMouse/KeyboardMouse.txt
@@ -5,6 +5,20 @@
  */
  
 /** \mainpage Dual HID Keyboard and Mouse Device Demo
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
+ *  - ATMEGA32U6
+ *  - ATMEGA32U4
+ *  - ATMEGA16U4
+ *  - AT90USB162
+ *  - AT90USB82
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Device/ClassDriver/MIDI/MIDI.txt b/Demos/Device/ClassDriver/MIDI/MIDI.txt
index 5a3135009..30f5c7d13 100644
--- a/Demos/Device/ClassDriver/MIDI/MIDI.txt
+++ b/Demos/Device/ClassDriver/MIDI/MIDI.txt
@@ -5,6 +5,20 @@
  */
  
 /** \mainpage MIDI Input Device Demo
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
+ *  - ATMEGA32U6
+ *  - ATMEGA32U4
+ *  - ATMEGA16U4
+ *  - AT90USB162
+ *  - AT90USB82
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Device/ClassDriver/MassStorage/MassStorage.txt b/Demos/Device/ClassDriver/MassStorage/MassStorage.txt
index 1d06cb66d..7046b704e 100644
--- a/Demos/Device/ClassDriver/MassStorage/MassStorage.txt
+++ b/Demos/Device/ClassDriver/MassStorage/MassStorage.txt
@@ -5,6 +5,20 @@
  */
  
 /** \mainpage Mass Storage Device Demo
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
+ *  - ATMEGA32U6
+ *  - ATMEGA32U4
+ *  - ATMEGA16U4
+ *  - AT90USB162
+ *  - AT90USB82
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Device/ClassDriver/Mouse/Mouse.txt b/Demos/Device/ClassDriver/Mouse/Mouse.txt
index 07982a713..54bf9000a 100644
--- a/Demos/Device/ClassDriver/Mouse/Mouse.txt
+++ b/Demos/Device/ClassDriver/Mouse/Mouse.txt
@@ -5,6 +5,20 @@
  */
  
 /** \mainpage Mouse Device Demo
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
+ *  - ATMEGA32U6
+ *  - ATMEGA32U4
+ *  - ATMEGA16U4
+ *  - AT90USB162
+ *  - AT90USB82
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Device/ClassDriver/RNDISEthernet/Lib/TCP.h b/Demos/Device/ClassDriver/RNDISEthernet/Lib/TCP.h
index b7c991e12..b61de7e18 100644
--- a/Demos/Device/ClassDriver/RNDISEthernet/Lib/TCP.h
+++ b/Demos/Device/ClassDriver/RNDISEthernet/Lib/TCP.h
@@ -52,7 +52,7 @@
 		#define MAX_TCP_CONNECTIONS             1
 
 		/** TCP window size, giving the maximum number of bytes which can be buffered at the one time */
-		#define TCP_WINDOW_SIZE                 1024
+		#define TCP_WINDOW_SIZE                 512
 		
 		/** Port number for HTTP transmissions */
 		#define TCP_PORT_HTTP                   SwapEndian_16(80)
diff --git a/Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.txt b/Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.txt
index 306cf8526..9725b04f8 100644
--- a/Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.txt
+++ b/Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.txt
@@ -5,11 +5,45 @@
  */
  
 /** \mainpage RNDIS Class Ethernet Demo (with Webserver/Telnet)
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
  *
  *  \section SSec_Info USB Information:
  *
  *  The following table gives a rundown of the USB utilization of this demo.
  *
+ *  <table>
+ *   <tr>
+ *    <td><b>USB Mode:</b></td>
+ *    <td>Device</td>
+ *   </tr>
+ *   <tr>
+ *    <td><b>USB Class:</b></td>
+ *    <td>Communications Device Class (CDC)</td>
+ *   </tr>
+ *   <tr> 
+ *    <td><b>USB Subclass:</b></td>
+ *    <td>Remote NDIS (Microsoft Proprietary CDC Class Networking Standard)</td>
+ *   </tr>
+ *   <tr>
+ *    <td><b>Relevant Standards:</b></td>
+ *    <td>Microsoft RNDIS Specification</td>
+ *   </tr>
+ *   <tr>
+ *    <td><b>Usable Speeds:</b></td>
+ *    <td>Full Speed Mode</td>
+ *   </tr>
+ *  </table>
+ *
+ *  \section SSec_Description Project Description: 
+ *
  *  Remote Network Driver Interface demonstration application.
  *  This gives a simple reference application for implementing
  *  a CDC RNDIS device acting as a simple network interface for
@@ -41,31 +75,6 @@
  *  recommended that it be replaced with an external open source TCP/IP
  *  stack that is feature complete, such as the uIP stack.
  *
- *  \section SSec_Description Project Description: 
- *
- *  <table>
- *   <tr>
- *    <td><b>USB Mode:</b></td>
- *    <td>Device</td>
- *   </tr>
- *   <tr>
- *    <td><b>USB Class:</b></td>
- *    <td>Communications Device Class (CDC)</td>
- *   </tr>
- *   <tr> 
- *    <td><b>USB Subclass:</b></td>
- *    <td>Remote NDIS (Microsoft Proprietary CDC Class Networking Standard)</td>
- *   </tr>
- *   <tr>
- *    <td><b>Relevant Standards:</b></td>
- *    <td>Microsoft RNDIS Specification</td>
- *   </tr>
- *   <tr>
- *    <td><b>Usable Speeds:</b></td>
- *    <td>Full Speed Mode</td>
- *   </tr>
- *  </table>
- *
  *  \section SSec_Options Project Options
  *
  *  The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value.
diff --git a/Demos/Device/ClassDriver/USBtoSerial/USBtoSerial.txt b/Demos/Device/ClassDriver/USBtoSerial/USBtoSerial.txt
index e33467217..17f64522b 100644
--- a/Demos/Device/ClassDriver/USBtoSerial/USBtoSerial.txt
+++ b/Demos/Device/ClassDriver/USBtoSerial/USBtoSerial.txt
@@ -5,6 +5,20 @@
  */
  
 /** \mainpage USB to Serial Converter Demo (via CDC-ACM class)
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  This demo is known to be compatible with the following microcontrollers:
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
+ *  - ATMEGA32U6
+ *  - ATMEGA32U4
+ *  - ATMEGA16U4
+ *  - AT90USB162
+ *  - AT90USB82
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Device/LowLevel/AudioInput/AudioInput.txt b/Demos/Device/LowLevel/AudioInput/AudioInput.txt
index cf7125949..ca7fe1fa5 100644
--- a/Demos/Device/LowLevel/AudioInput/AudioInput.txt
+++ b/Demos/Device/LowLevel/AudioInput/AudioInput.txt
@@ -5,6 +5,15 @@
  */
  
 /** \mainpage Audio Input Device Demo
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Device/LowLevel/AudioOutput/AudioOutput.txt b/Demos/Device/LowLevel/AudioOutput/AudioOutput.txt
index a47f9b5f3..ffae9ed57 100644
--- a/Demos/Device/LowLevel/AudioOutput/AudioOutput.txt
+++ b/Demos/Device/LowLevel/AudioOutput/AudioOutput.txt
@@ -5,6 +5,16 @@
  */
  
 /** \mainpage Audio Output Device Demo
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
+ *  - ATMEGA32U6
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Device/LowLevel/CDC/CDC.txt b/Demos/Device/LowLevel/CDC/CDC.txt
index 8e13b55b4..397ed361f 100644
--- a/Demos/Device/LowLevel/CDC/CDC.txt
+++ b/Demos/Device/LowLevel/CDC/CDC.txt
@@ -5,6 +5,20 @@
  */
  
 /** \mainpage Communications Device Class Device (Virtual Serial Port)
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
+ *  - ATMEGA32U6
+ *  - ATMEGA32U4
+ *  - ATMEGA16U4
+ *  - AT90USB162
+ *  - AT90USB82
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Device/LowLevel/DualCDC/DualCDC.txt b/Demos/Device/LowLevel/DualCDC/DualCDC.txt
index 6e086029b..eece70614 100644
--- a/Demos/Device/LowLevel/DualCDC/DualCDC.txt
+++ b/Demos/Device/LowLevel/DualCDC/DualCDC.txt
@@ -5,6 +5,20 @@
  */
  
 /** \mainpage Dual Communications Device Class Device (Dual Virtual Serial Port)
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
+ *  - ATMEGA32U6
+ *  - ATMEGA32U4
+ *  - ATMEGA16U4
+ *  - AT90USB162
+ *  - AT90USB82
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Device/LowLevel/GenericHID/GenericHID.txt b/Demos/Device/LowLevel/GenericHID/GenericHID.txt
index a40b78b1f..fc5c136a2 100644
--- a/Demos/Device/LowLevel/GenericHID/GenericHID.txt
+++ b/Demos/Device/LowLevel/GenericHID/GenericHID.txt
@@ -5,6 +5,20 @@
  */
  
 /** \mainpage Generic HID Device
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
+ *  - ATMEGA32U6
+ *  - ATMEGA32U4
+ *  - ATMEGA16U4
+ *  - AT90USB162
+ *  - AT90USB82
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Device/LowLevel/Joystick/Joystick.txt b/Demos/Device/LowLevel/Joystick/Joystick.txt
index 7d47ae92f..d2fdaafd9 100644
--- a/Demos/Device/LowLevel/Joystick/Joystick.txt
+++ b/Demos/Device/LowLevel/Joystick/Joystick.txt
@@ -5,6 +5,20 @@
  */
  
 /** \mainpage Joystick Device Demo
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
+ *  - ATMEGA32U6
+ *  - ATMEGA32U4
+ *  - ATMEGA16U4
+ *  - AT90USB162
+ *  - AT90USB82
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Device/LowLevel/Keyboard/Keyboard.txt b/Demos/Device/LowLevel/Keyboard/Keyboard.txt
index 3fc9bee3a..e1f6785f7 100644
--- a/Demos/Device/LowLevel/Keyboard/Keyboard.txt
+++ b/Demos/Device/LowLevel/Keyboard/Keyboard.txt
@@ -5,6 +5,20 @@
  */
  
 /** \mainpage Keyboard Device Demo
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
+ *  - ATMEGA32U6
+ *  - ATMEGA32U4
+ *  - ATMEGA16U4
+ *  - AT90USB162
+ *  - AT90USB82
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.txt b/Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.txt
index 3e31057ca..ca08602b7 100644
--- a/Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.txt
+++ b/Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.txt
@@ -5,6 +5,20 @@
  */
  
 /** \mainpage Dual HID Keyboard and Mouse Device Demo
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
+ *  - ATMEGA32U6
+ *  - ATMEGA32U4
+ *  - ATMEGA16U4
+ *  - AT90USB162
+ *  - AT90USB82
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Device/LowLevel/MIDI/MIDI.txt b/Demos/Device/LowLevel/MIDI/MIDI.txt
index 5a3135009..30f5c7d13 100644
--- a/Demos/Device/LowLevel/MIDI/MIDI.txt
+++ b/Demos/Device/LowLevel/MIDI/MIDI.txt
@@ -5,6 +5,20 @@
  */
  
 /** \mainpage MIDI Input Device Demo
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
+ *  - ATMEGA32U6
+ *  - ATMEGA32U4
+ *  - ATMEGA16U4
+ *  - AT90USB162
+ *  - AT90USB82
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Device/LowLevel/MassStorage/MassStorage.txt b/Demos/Device/LowLevel/MassStorage/MassStorage.txt
index 1d06cb66d..7046b704e 100644
--- a/Demos/Device/LowLevel/MassStorage/MassStorage.txt
+++ b/Demos/Device/LowLevel/MassStorage/MassStorage.txt
@@ -5,6 +5,20 @@
  */
  
 /** \mainpage Mass Storage Device Demo
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
+ *  - ATMEGA32U6
+ *  - ATMEGA32U4
+ *  - ATMEGA16U4
+ *  - AT90USB162
+ *  - AT90USB82
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Device/LowLevel/Mouse/Mouse.txt b/Demos/Device/LowLevel/Mouse/Mouse.txt
index 07982a713..54bf9000a 100644
--- a/Demos/Device/LowLevel/Mouse/Mouse.txt
+++ b/Demos/Device/LowLevel/Mouse/Mouse.txt
@@ -5,6 +5,20 @@
  */
  
 /** \mainpage Mouse Device Demo
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
+ *  - ATMEGA32U6
+ *  - ATMEGA32U4
+ *  - ATMEGA16U4
+ *  - AT90USB162
+ *  - AT90USB82
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Device/LowLevel/RNDISEthernet/Lib/TCP.h b/Demos/Device/LowLevel/RNDISEthernet/Lib/TCP.h
index e98085f29..eac682547 100644
--- a/Demos/Device/LowLevel/RNDISEthernet/Lib/TCP.h
+++ b/Demos/Device/LowLevel/RNDISEthernet/Lib/TCP.h
@@ -52,7 +52,7 @@
 		#define MAX_TCP_CONNECTIONS             1
 
 		/** TCP window size, giving the maximum number of bytes which can be buffered at the one time */
-		#define TCP_WINDOW_SIZE                 1024
+		#define TCP_WINDOW_SIZE                 512
 		
 		/** Port number for HTTP transmissions */
 		#define TCP_PORT_HTTP                   SwapEndian_16(80)
diff --git a/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.txt b/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.txt
index 306cf8526..9725b04f8 100644
--- a/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.txt
+++ b/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.txt
@@ -5,11 +5,45 @@
  */
  
 /** \mainpage RNDIS Class Ethernet Demo (with Webserver/Telnet)
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
  *
  *  \section SSec_Info USB Information:
  *
  *  The following table gives a rundown of the USB utilization of this demo.
  *
+ *  <table>
+ *   <tr>
+ *    <td><b>USB Mode:</b></td>
+ *    <td>Device</td>
+ *   </tr>
+ *   <tr>
+ *    <td><b>USB Class:</b></td>
+ *    <td>Communications Device Class (CDC)</td>
+ *   </tr>
+ *   <tr> 
+ *    <td><b>USB Subclass:</b></td>
+ *    <td>Remote NDIS (Microsoft Proprietary CDC Class Networking Standard)</td>
+ *   </tr>
+ *   <tr>
+ *    <td><b>Relevant Standards:</b></td>
+ *    <td>Microsoft RNDIS Specification</td>
+ *   </tr>
+ *   <tr>
+ *    <td><b>Usable Speeds:</b></td>
+ *    <td>Full Speed Mode</td>
+ *   </tr>
+ *  </table>
+ *
+ *  \section SSec_Description Project Description: 
+ *
  *  Remote Network Driver Interface demonstration application.
  *  This gives a simple reference application for implementing
  *  a CDC RNDIS device acting as a simple network interface for
@@ -41,31 +75,6 @@
  *  recommended that it be replaced with an external open source TCP/IP
  *  stack that is feature complete, such as the uIP stack.
  *
- *  \section SSec_Description Project Description: 
- *
- *  <table>
- *   <tr>
- *    <td><b>USB Mode:</b></td>
- *    <td>Device</td>
- *   </tr>
- *   <tr>
- *    <td><b>USB Class:</b></td>
- *    <td>Communications Device Class (CDC)</td>
- *   </tr>
- *   <tr> 
- *    <td><b>USB Subclass:</b></td>
- *    <td>Remote NDIS (Microsoft Proprietary CDC Class Networking Standard)</td>
- *   </tr>
- *   <tr>
- *    <td><b>Relevant Standards:</b></td>
- *    <td>Microsoft RNDIS Specification</td>
- *   </tr>
- *   <tr>
- *    <td><b>Usable Speeds:</b></td>
- *    <td>Full Speed Mode</td>
- *   </tr>
- *  </table>
- *
  *  \section SSec_Options Project Options
  *
  *  The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value.
diff --git a/Demos/Device/LowLevel/USBtoSerial/USBtoSerial.txt b/Demos/Device/LowLevel/USBtoSerial/USBtoSerial.txt
index e33467217..bdca6f947 100644
--- a/Demos/Device/LowLevel/USBtoSerial/USBtoSerial.txt
+++ b/Demos/Device/LowLevel/USBtoSerial/USBtoSerial.txt
@@ -5,6 +5,20 @@
  */
  
 /** \mainpage USB to Serial Converter Demo (via CDC-ACM class)
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
+ *  - AT90USB647
+ *  - AT90USB646
+ *  - ATMEGA32U6
+ *  - ATMEGA32U4
+ *  - ATMEGA16U4
+ *  - AT90USB162
+ *  - AT90USB82
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Host/ClassDriver/CDCHost/CDCHost.txt b/Demos/Host/ClassDriver/CDCHost/CDCHost.txt
index 0db804c25..ef0a325cb 100644
--- a/Demos/Host/ClassDriver/CDCHost/CDCHost.txt
+++ b/Demos/Host/ClassDriver/CDCHost/CDCHost.txt
@@ -5,6 +5,13 @@
  */
  
 /** \mainpage CDC Host Demo
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Host/LowLevel/CDCHost/CDCHost.txt b/Demos/Host/LowLevel/CDCHost/CDCHost.txt
index 4fac1d03d..30a88ba0c 100644
--- a/Demos/Host/LowLevel/CDCHost/CDCHost.txt
+++ b/Demos/Host/LowLevel/CDCHost/CDCHost.txt
@@ -5,6 +5,13 @@
  */
  
 /** \mainpage CDC Host Demo
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Host/LowLevel/GenericHIDHost/GenericHIDHost.txt b/Demos/Host/LowLevel/GenericHIDHost/GenericHIDHost.txt
index d72dda103..0a82aaa0d 100644
--- a/Demos/Host/LowLevel/GenericHIDHost/GenericHIDHost.txt
+++ b/Demos/Host/LowLevel/GenericHIDHost/GenericHIDHost.txt
@@ -5,6 +5,13 @@
  */
  
 /** \mainpage Generic HID Host Demo
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Host/LowLevel/KeyboardHost/KeyboardHost.txt b/Demos/Host/LowLevel/KeyboardHost/KeyboardHost.txt
index a3d5f717d..6eba0ae2e 100644
--- a/Demos/Host/LowLevel/KeyboardHost/KeyboardHost.txt
+++ b/Demos/Host/LowLevel/KeyboardHost/KeyboardHost.txt
@@ -5,6 +5,13 @@
  */
  
 /** \mainpage Keyboard Host Demo
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Host/LowLevel/KeyboardHostWithParser/KeyboardHostWithParser.txt b/Demos/Host/LowLevel/KeyboardHostWithParser/KeyboardHostWithParser.txt
index cd3670673..cc883ea2d 100644
--- a/Demos/Host/LowLevel/KeyboardHostWithParser/KeyboardHostWithParser.txt
+++ b/Demos/Host/LowLevel/KeyboardHostWithParser/KeyboardHostWithParser.txt
@@ -5,6 +5,13 @@
  */
  
 /** \mainpage Keyboard Host With HID Descriptor Parser Demo
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Host/LowLevel/MassStorageHost/MassStorageHost.txt b/Demos/Host/LowLevel/MassStorageHost/MassStorageHost.txt
index 88b42e937..165245c2f 100644
--- a/Demos/Host/LowLevel/MassStorageHost/MassStorageHost.txt
+++ b/Demos/Host/LowLevel/MassStorageHost/MassStorageHost.txt
@@ -5,6 +5,13 @@
  */
  
 /** \mainpage Mass Storage Host Demo
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Host/LowLevel/MouseHost/MouseHost.txt b/Demos/Host/LowLevel/MouseHost/MouseHost.txt
index 3838a7011..d3106256d 100644
--- a/Demos/Host/LowLevel/MouseHost/MouseHost.txt
+++ b/Demos/Host/LowLevel/MouseHost/MouseHost.txt
@@ -5,6 +5,13 @@
  */
  
 /** \mainpage Mouse Host Demo
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Host/LowLevel/MouseHostWithParser/MouseHostWithParser.txt b/Demos/Host/LowLevel/MouseHostWithParser/MouseHostWithParser.txt
index 3c83341a2..77bd16f33 100644
--- a/Demos/Host/LowLevel/MouseHostWithParser/MouseHostWithParser.txt
+++ b/Demos/Host/LowLevel/MouseHostWithParser/MouseHostWithParser.txt
@@ -5,6 +5,13 @@
  */
  
 /** \mainpage Mouse Host With HID Descriptor Parser Demo
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Demos/Host/LowLevel/StillImageHost/StillImageHost.txt b/Demos/Host/LowLevel/StillImageHost/StillImageHost.txt
index 4cdfe6346..b2a8a84cf 100644
--- a/Demos/Host/LowLevel/StillImageHost/StillImageHost.txt
+++ b/Demos/Host/LowLevel/StillImageHost/StillImageHost.txt
@@ -5,6 +5,13 @@
  */
  
 /** \mainpage Still Image Host Demo
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt
index f22a9ff04..04213ac1e 100644
--- a/LUFA/ManPages/ChangeLog.txt
+++ b/LUFA/ManPages/ChangeLog.txt
@@ -23,6 +23,7 @@
   *  - Updated MassStorage device block write routines to use ping-pong Dataflash buffering to increase throughput by around 30%
   *  - Added new HOST_STATE_WaitForDeviceRemoval host state machine state for non-blocking disabling of device communications until the
   *    device has been removed (for use when an error occurs or communications with the device have completed)
+  *  - Added new FAST_STREAM_TRANSFERS compile time option for faster stream transfers via multiple bytes copied per stream loop
   *  
   *  <b>Changed:</b>
   *  - Deprecated psuedo-scheduler and removed dynamic memory allocator from the library (first no longer needed and second unused)
diff --git a/LUFA/ManPages/CompileTimeTokens.txt b/LUFA/ManPages/CompileTimeTokens.txt
index 796ee8484..3d15759e4 100644
--- a/LUFA/ManPages/CompileTimeTokens.txt
+++ b/LUFA/ManPages/CompileTimeTokens.txt
@@ -112,6 +112,13 @@
  *  by defining this token, reducing the compiled binary size. When removed, the stream functions no longer accept a callback function as
  *  a parameter.
  *
+ *  <b>FAST_STREAM_TRANSFERS</b> - ( \ref Group_EndpointPacketManagement , \ref Group_PipePacketManagement )\n
+ *  By default, streams are transferred internally via a loop, sending or receiving one byte per iteration before checking for a bank full
+ *  or empty condition. This allows for multiple stream functions to be chained together easily, as there are no alignment issues. However,
+ *  this can lead to heavy performance penalties in applications where large streams are used frequently. When this compile time option is
+ *  used, bytes are sent or recevied in groups of 8 bytes at a time increasing performance at the expense of a larger flash memory consumption
+ *  due to the extra code required to deal with byte alignment.
+ *
  *  <b>USB_HOST_TIMEOUT_MS</b> - ( \ref Group_Host ) \n
  *  When a control transfer is initiated in host mode to an attached device, a timeout is used to abort the transfer if the attached
  *  device fails to respond within the timeout period. This token may be defined to a non-zero 16-bit value to set the timeout period for
diff --git a/LUFA/ManPages/FutureChanges.txt b/LUFA/ManPages/FutureChanges.txt
index 2e348d53e..8d2545f29 100644
--- a/LUFA/ManPages/FutureChanges.txt
+++ b/LUFA/ManPages/FutureChanges.txt
@@ -21,11 +21,8 @@
   *  - Add standardized descriptor names to device and host class driver structures
   *  - Add in INTERRUPT_CONTROL_PIPE to use HSOFI to trigger calls to the host state machine
   *  - Make Suspend host state suspend USB bus frames
-  *  - Split StillImageHost demo into lib directory
   *  - Add in Stream functions for PROGMEM, EEPROM -- move to templated system
   *  - Debug mode for pipe/endpoint calls
-  *  - Test and document new FAST_STREAM_TRANSFERS compile time option
-  *  - Demo hardware compatibility table/list
   *
   *  <b>Targeted for Future Releases:</b>
   *  - Remake AVRStudio project files
diff --git a/Projects/Magstripe/Magstripe.txt b/Projects/Magstripe/Magstripe.txt
index a0e600e57..739f14add 100644
--- a/Projects/Magstripe/Magstripe.txt
+++ b/Projects/Magstripe/Magstripe.txt
@@ -5,6 +5,13 @@
  */
  
 /** \mainpage Denver Gingerich's USBSnoop Magnetic Card Reader Project
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
  *
  *  \section SSec_Info USB Information:
  *
diff --git a/Projects/MissileLauncher/MissileLauncher.txt b/Projects/MissileLauncher/MissileLauncher.txt
index 9d8916d08..6c724879f 100644
--- a/Projects/MissileLauncher/MissileLauncher.txt
+++ b/Projects/MissileLauncher/MissileLauncher.txt
@@ -5,6 +5,13 @@
  */
  
 /** \mainpage Missile Launcher
+ *
+ *  \section SSec_Compat Demo Compatibility:
+ *
+ *  The following table indicates what microcontrollers are compatible with this demo.
+ *
+ *  - AT90USB1287
+ *  - AT90USB1286
  *
  *  \section SSec_Info USB Information:
  *
-- 
GitLab