diff --git a/Demos/Device/ClassDriver/RNDISEthernet/Lib/TCP.h b/Demos/Device/ClassDriver/RNDISEthernet/Lib/TCP.h
index 059f76dc5933fa1b52d1280692de7686039fa173..b5152b3121aa10bef26c38d64e17065ca21e301e 100644
--- a/Demos/Device/ClassDriver/RNDISEthernet/Lib/TCP.h
+++ b/Demos/Device/ClassDriver/RNDISEthernet/Lib/TCP.h
@@ -102,7 +102,8 @@
 		 *  \return Boolean true if the buffer has been captured by the application for device-to-host transmissions, false otherwise
 		 */
 		#define TCP_APP_HAVE_CAPTURED_BUFFER(Buffer) (!(Buffer->Ready) && Buffer->InUse && \
-		                                              (Buffer->Direction == TCP_PACKETDIR_OUT))
+		                   
+                           (Buffer->Direction == TCP_PACKETDIR_OUT))
 
 		/** Application macro: Indicates if the application can lock the buffer for multiple continued device-to-host transmissions.
 		 *
@@ -115,7 +116,7 @@
 		/** Application macro: Captures the application buffer, locking it for device-to-host transmissions only. This should be
 		 *  performed when the application needs to transmit several packets worth of data in succession with no interruptions from the host.
 		 *
-		 *  \note The application must check that the buffer can be locked first using TCP_APP_CAN_CAPTURE_BUFFER().
+		 *  \pre The application must check that the buffer can be locked first using TCP_APP_CAN_CAPTURE_BUFFER().
 		 *
 		 *  \param[in] Buffer  Application buffer to lock
 		 */
diff --git a/Demos/Device/LowLevel/RNDISEthernet/Lib/TCP.h b/Demos/Device/LowLevel/RNDISEthernet/Lib/TCP.h
index dcfc8407c1b0f93cff237da59bc7b01c2c011f77..1e9b99bb1e564fc69055dc1c52198bf984bc2c9e 100644
--- a/Demos/Device/LowLevel/RNDISEthernet/Lib/TCP.h
+++ b/Demos/Device/LowLevel/RNDISEthernet/Lib/TCP.h
@@ -115,7 +115,7 @@
 		/** Application macro: Captures the application buffer, locking it for device-to-host transmissions only. This should be
 		 *  performed when the application needs to transmit several packets worth of data in succession with no interruptions from the host.
 		 *
-		 *  \note The application must check that the buffer can be locked first using TCP_APP_CAN_CAPTURE_BUFFER().
+		 *  \pre The application must check that the buffer can be locked first using TCP_APP_CAN_CAPTURE_BUFFER().
 		 *
 		 *  \param[in] Buffer  Application buffer to lock
 		 */
diff --git a/LUFA/Drivers/Board/Temperature.h b/LUFA/Drivers/Board/Temperature.h
index 4c5d642e641a95b556d253a0a350dd18b576b445..561f651c20777bdd483ceb16fedb4499a4bc9973 100644
--- a/LUFA/Drivers/Board/Temperature.h
+++ b/LUFA/Drivers/Board/Temperature.h
@@ -91,8 +91,8 @@
 				/** Initializes the temperature sensor driver, including setting up the appropriate ADC channel.
 				 *  This must be called before any other temperature sensor routines.
 				 *
-				 *  \note The ADC itself (not the ADC channel) must be configured separately before calling the
-				 *        temperature sensor functions.
+				 *  \pre The ADC itself (not the ADC channel) must be configured separately before calling the
+				 *       temperature sensor functions.
 				 */
 				static inline void Temperature_Init(void);
 			#else
diff --git a/LUFA/Drivers/USB/Class/Device/Audio.h b/LUFA/Drivers/USB/Class/Device/Audio.h
index b76abf663a7b8c7deacfd438dc7bc603f741f8cc..73c293469cc628742204b5216b048c83539dbd28 100644
--- a/LUFA/Drivers/USB/Class/Device/Audio.h
+++ b/LUFA/Drivers/USB/Class/Device/Audio.h
@@ -145,8 +145,8 @@
 			/** Determines if the given audio interface is ready for a sample to be read from it, and selects the streaming
 			 *  OUT endpoint ready for reading.
 			 *
-			 *  \note This function must only be called when the Device state machine is in the DEVICE_STATE_Configured state or
-			 *        the call will fail.
+			 *  \pre This function must only be called when the Device state machine is in the DEVICE_STATE_Configured state or
+			 *       the call will fail.
 			 *
 			 *  \param[in,out] AudioInterfaceInfo  Pointer to a structure containing an Audio Class configuration and state
 			 *
@@ -166,8 +166,8 @@
 			/** Determines if the given audio interface is ready to accept the next sample to be written to it, and selects
 			 *  the streaming IN endpoint ready for writing.
 			 *
-			 *  \note This function must only be called when the Device state machine is in the DEVICE_STATE_Configured state or
-			 *        the call will fail.
+			 *  \pre This function must only be called when the Device state machine is in the DEVICE_STATE_Configured state or
+			 *       the call will fail.
 			 *
 			 *  \param[in,out] AudioInterfaceInfo  Pointer to a structure containing an Audio Class configuration and state
 			 *
@@ -186,8 +186,8 @@
 
 			/** Reads the next 8-bit audio sample from the current audio interface.
 			 *
-			 *  \note This should be preceded immediately by a call to the \ref Audio_Device_IsSampleReceived() function to ensure
-			 *        ensure the correct endpoint is selected and ready for data.
+			 *  \pre This should be preceded immediately by a call to the \ref Audio_Device_IsSampleReceived() function to ensure
+			 *       ensure the correct endpoint is selected and ready for data.
 			 *
 			 *  \param[in,out] AudioInterfaceInfo  Pointer to a structure containing an Audio Class configuration and state
 			 *
@@ -211,8 +211,8 @@
 
 			/** Reads the next 16-bit audio sample from the current audio interface.
 			 *
-			 *  \note This should be preceded immediately by a call to the \ref Audio_Device_IsSampleReceived() function to ensure
-			 *        that the correct endpoint is selected and ready for data.
+			 *  \pre This should be preceded immediately by a call to the \ref Audio_Device_IsSampleReceived() function to ensure
+			 *       that the correct endpoint is selected and ready for data.
 			 *
 			 *  \param[in,out] AudioInterfaceInfo  Pointer to a structure containing an Audio Class configuration and state
 			 *
@@ -236,8 +236,8 @@
 
 			/** Reads the next 24-bit audio sample from the current audio interface.
 			 *
-			 *  \note This should be preceded immediately by a call to the \ref Audio_Device_IsSampleReceived() function to ensure
-			 *        that the correct endpoint is selected and ready for data.
+			 *  \pre This should be preceded immediately by a call to the \ref Audio_Device_IsSampleReceived() function to ensure
+			 *       that the correct endpoint is selected and ready for data.
 			 *
 			 *  \param[in,out] AudioInterfaceInfo  Pointer to a structure containing an Audio Class configuration and state
 			 *
@@ -261,8 +261,8 @@
 
 			/** Writes the next 8-bit audio sample to the current audio interface.
 			 *
-			 *  \note This should be preceded immediately by a call to the \ref Audio_Device_IsReadyForNextSample() function to
-			 *        ensure that the correct endpoint is selected and ready for data.
+			 *  \pre This should be preceded immediately by a call to the \ref Audio_Device_IsReadyForNextSample() function to
+			 *       ensure that the correct endpoint is selected and ready for data.
 			 *
 			 *  \param[in,out] AudioInterfaceInfo  Pointer to a structure containing an Audio Class configuration and state
 			 *  \param[in] Sample  Signed 8-bit audio sample
@@ -280,8 +280,8 @@
 
 			/** Writes the next 16-bit audio sample to the current audio interface.
 			 *
-			 *  \note This should be preceded immediately by a call to the \ref Audio_Device_IsReadyForNextSample() function to
-			 *        ensure that the correct endpoint is selected and ready for data.
+			 *  \pre This should be preceded immediately by a call to the \ref Audio_Device_IsReadyForNextSample() function to
+			 *       ensure that the correct endpoint is selected and ready for data.
 			 *
 			 *  \param[in,out] AudioInterfaceInfo  Pointer to a structure containing an Audio Class configuration and state
 			 *  \param[in] Sample  Signed 16-bit audio sample
@@ -299,8 +299,8 @@
 
 			/** Writes the next 24-bit audio sample to the current audio interface.
 			 *
-			 *  \note This should be preceded immediately by a call to the \ref Audio_Device_IsReadyForNextSample() function to
-			 *        ensure that the correct endpoint is selected and ready for data.
+			 *  \pre This should be preceded immediately by a call to the \ref Audio_Device_IsReadyForNextSample() function to
+			 *       ensure that the correct endpoint is selected and ready for data.
 			 *
 			 *  \param[in,out] AudioInterfaceInfo  Pointer to a structure containing an Audio Class configuration and state
 			 *  \param[in] Sample  Signed 24-bit audio sample
diff --git a/LUFA/Drivers/USB/Class/Device/CDC.h b/LUFA/Drivers/USB/Class/Device/CDC.h
index 23b7b5c405b6e94e43d62ab383fb5d3b17c548d6..3bd9c9da31605bb8d6dd89502ed5afaf76fe191a 100644
--- a/LUFA/Drivers/USB/Class/Device/CDC.h
+++ b/LUFA/Drivers/USB/Class/Device/CDC.h
@@ -203,8 +203,8 @@
 			 *  \ref CDC_Device_Flush() function is called to flush the pending data to the host. This allows for multiple bytes to be 
 			 *  packed into a single endpoint packet, increasing data throughput.
 			 *
-			 *  \note This function must only be called when the Device state machine is in the DEVICE_STATE_Configured state or
-			 *        the call will fail.
+			 *  \pre This function must only be called when the Device state machine is in the DEVICE_STATE_Configured state or
+			 *       the call will fail.
 			 *
 			 *  \param[in,out]   CDCInterfaceInfo  Pointer to a structure containing a CDC Class configuration and state
 			 *  \param[in]       Data              Pointer to the string to send to the host
@@ -220,8 +220,8 @@
 			 *  \ref CDC_Device_Flush() function is called to flush the pending data to the host. This allows for multiple bytes to be 
 			 *  packed into a single endpoint packet, increasing data throughput.
 			 *
-			 *  \note This function must only be called when the Device state machine is in the DEVICE_STATE_Configured state or
-			 *        the call will fail.
+			 *  \pre This function must only be called when the Device state machine is in the DEVICE_STATE_Configured state or
+			 *       the call will fail.
 			 *
 			 *  \param[in,out] CDCInterfaceInfo  Pointer to a structure containing a CDC Class configuration and state
 			 *  \param[in]     Data              Byte of data to send to the host
@@ -232,8 +232,8 @@
 			
 			/** Determines the number of bytes received by the CDC interface from the host, waiting to be read.
 			 *
-			 *  \note This function must only be called when the Device state machine is in the DEVICE_STATE_Configured state or
-			 *        the call will fail.
+			 *  \pre This function must only be called when the Device state machine is in the DEVICE_STATE_Configured state or
+			 *       the call will fail.
 			 *
 			 *  \param[in,out] CDCInterfaceInfo  Pointer to a structure containing a CDC Class configuration and state
 			 *
@@ -245,8 +245,8 @@
 			 *  returns 0. The \ref CDC_Device_BytesReceived() function should be queried before data is received to ensure that no data
 			 *  underflow occurs.
 			 *
-			 *  \note This function must only be called when the Device state machine is in the DEVICE_STATE_Configured state or
-			 *        the call will fail.
+			 *  \pre This function must only be called when the Device state machine is in the DEVICE_STATE_Configured state or
+			 *       the call will fail.
 			 *
 			 *  \param[in,out] CDCInterfaceInfo  Pointer to a structure containing a CDC Class configuration and state
 			 *
@@ -256,8 +256,8 @@
 			
 			/** Flushes any data waiting to be sent, ensuring that the send buffer is cleared.
 			 *
-			 *  \note This function must only be called when the Device state machine is in the DEVICE_STATE_Configured state or
-			 *        the call will fail.
+			 *  \pre This function must only be called when the Device state machine is in the DEVICE_STATE_Configured state or
+			 *       the call will fail.
 			 *
 			 *  \param[in,out] CDCInterfaceInfo  Pointer to a structure containing a CDC Class configuration and state
 			 *
@@ -270,8 +270,8 @@
 			 *  until they are cleared via a second notification. This should be called each time the CDC class driver's 
 			 *  ControlLineStates.DeviceToHost value is updated to push the new states to the USB host.
 			 *
-			 *  \note This function must only be called when the Device state machine is in the DEVICE_STATE_Configured state or
-			 *        the call will fail.
+			 *  \pre This function must only be called when the Device state machine is in the DEVICE_STATE_Configured state or
+			 *       the call will fail.
 			 *
 			 *  \param[in,out] CDCInterfaceInfo  Pointer to a structure containing a CDC Class configuration and state
 			 */
diff --git a/LUFA/Drivers/USB/Class/Device/MIDI.h b/LUFA/Drivers/USB/Class/Device/MIDI.h
index d9b67e2754331380c3f383920548ddad940b400a..20a4062bc18e227b57bdac9064d283ff285f1f11 100644
--- a/LUFA/Drivers/USB/Class/Device/MIDI.h
+++ b/LUFA/Drivers/USB/Class/Device/MIDI.h
@@ -116,8 +116,8 @@
 			 *  endpoint bank until either the endpoint bank is full, or \ref MIDI_Device_Flush() is called. This allows for multiple
 			 *  MIDI events to be packed into a single endpoint packet, increasing data throughput.
 			 *
-			 *  \note This function must only be called when the Device state machine is in the DEVICE_STATE_Configured state or
-			 *        the call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] MIDIInterfaceInfo  Pointer to a structure containing a MIDI Class configuration and state
 			 *  \param[in]     Event              Pointer to a populated USB_MIDI_EventPacket_t structure containing the MIDI event to send
@@ -140,8 +140,8 @@
 			/** Receives a MIDI event packet from the host. Events are unpacked from the endpoint, thus if the endpoint bank contains
 			 *  multiple MIDI events from the host in the one packet, multiple calls to this function will return each individual event.
 			 *
-			 *  \note This function must only be called when the Device state machine is in the DEVICE_STATE_Configured state or
-			 *        the call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] MIDIInterfaceInfo  Pointer to a structure containing a MIDI Class configuration and state
 			 *  \param[out]    Event              Pointer to a USB_MIDI_EventPacket_t structure where the received MIDI event is to be placed
diff --git a/LUFA/Drivers/USB/Class/Host/CDC.h b/LUFA/Drivers/USB/Class/Host/CDC.h
index 0f8807ed273ccbc414527926927689cd274e825c..ece23c5467c9cbf58dc4dd2b0647273f7af44c07 100644
--- a/LUFA/Drivers/USB/Class/Host/CDC.h
+++ b/LUFA/Drivers/USB/Class/Host/CDC.h
@@ -205,8 +205,8 @@
 			 *  \ref CDC_Host_Flush() function is called to flush the pending data to the host. This allows for multiple bytes to be 
 			 *  packed into a single pipe packet, increasing data throughput.
 			 *
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] CDCInterfaceInfo  Pointer to a structure containing a CDC Class host configuration and state
 			 *  \param[in]     Data              Pointer to the string to send to the device
@@ -222,8 +222,8 @@
 			 *  \ref CDC_Host_Flush() function is called to flush the pending data to the host. This allows for multiple bytes to be 
 			 *  packed into a single pipe packet, increasing data throughput.
 			 *
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] CDCInterfaceInfo  Pointer to a structure containing a CDC Class host configuration and state
 			 *  \param[in]     Data              Byte of data to send to the device
@@ -234,8 +234,8 @@
 
 			/** Determines the number of bytes received by the CDC interface from the device, waiting to be read.
 			 *
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] CDCInterfaceInfo  Pointer to a structure containing a CDC Class host configuration and state
 			 *
@@ -247,8 +247,8 @@
 			 *  returns 0. The \ref CDC_Host_BytesReceived() function should be queried before data is received to ensure that no data
 			 *  underflow occurs.
 			 *
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] CDCInterfaceInfo  Pointer to a structure containing a CDC Class host configuration and state
 			 *
@@ -258,8 +258,8 @@
 			
 			/** Flushes any data waiting to be sent, ensuring that the send buffer is cleared.
 			 *
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] CDCInterfaceInfo  Pointer to a structure containing a CDC Class host configuration and state
 			 *
diff --git a/LUFA/Drivers/USB/Class/Host/HID.h b/LUFA/Drivers/USB/Class/Host/HID.h
index 1988e5d338874133174ee19e9474a032335da262..82ff3bacaf881a63f128f733162b10c42ff36d7e 100644
--- a/LUFA/Drivers/USB/Class/Host/HID.h
+++ b/LUFA/Drivers/USB/Class/Host/HID.h
@@ -167,9 +167,8 @@
 
 			/** Receives a HID IN report from the attached HID device, when a report has been received on the HID IN Data pipe.
 			 *  
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
-			 *        \n\n
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \note The destination buffer should be large enough to accommodate the largest report that the attached device
 			 *        can generate.
@@ -185,9 +184,8 @@
 			#if !defined(HID_HOST_BOOT_PROTOCOL_ONLY)
 			/** Receives a HID IN report from the attached device, by the report ID.
 			 *
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
-			 *        \n\n
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \note When the HID_HOST_BOOT_PROTOCOL_ONLY compile time token is defined, this method is unavailable.
 			 *
@@ -204,9 +202,8 @@
 			/** Sends an OUT or FEATURE report to the currently attached HID device, using the device's OUT pipe if available,
 			 *  or the device's Control pipe if not.
 			 *
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
-			 *        \n\n
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \note When the HID_HOST_BOOT_PROTOCOL_ONLY compile time token is defined, the ReportID parameter is removed
 			 *        from the parameter list of this function.
@@ -233,8 +230,8 @@
 
 			/** Determines if a HID IN report has been received from the attached device on the data IN pipe.
 			 *
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] HIDInterfaceInfo  Pointer to a structure containing a HID Class host configuration and state
 			 *
diff --git a/LUFA/Drivers/USB/Class/Host/MIDI.h b/LUFA/Drivers/USB/Class/Host/MIDI.h
index f7898709fe85fe0b37bb0cdc01a1ed066bb2ed12..5ac1becb8f82d872c4beaa2e69e2cf45b1a1f5ee 100644
--- a/LUFA/Drivers/USB/Class/Host/MIDI.h
+++ b/LUFA/Drivers/USB/Class/Host/MIDI.h
@@ -130,8 +130,8 @@
 
 			/** Sends a MIDI event packet to the device. If no device is connected, the event packet is discarded.
 			 *
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] MIDIInterfaceInfo  Pointer to a structure containing a MIDI Class configuration and state
 			 *  \param[in]     Event              Pointer to a populated USB_MIDI_EventPacket_t structure containing the MIDI event to send
@@ -154,8 +154,8 @@
 			 
 			/** Receives a MIDI event packet from the device.
 			 *
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] MIDIInterfaceInfo  Pointer to a structure containing a MIDI Class configuration and state
 			 *  \param[out]    Event              Pointer to a USB_MIDI_EventPacket_t structure where the received MIDI event is to be placed
diff --git a/LUFA/Drivers/USB/Class/Host/MassStorage.h b/LUFA/Drivers/USB/Class/Host/MassStorage.h
index 6c1f7f67fbbcdf3f45dfee8ce9b6940af43b17a4..9b67c7fc4651dddf3782bf908ca9232eed8b0a0a 100644
--- a/LUFA/Drivers/USB/Class/Host/MassStorage.h
+++ b/LUFA/Drivers/USB/Class/Host/MassStorage.h
@@ -174,8 +174,8 @@
 			/** Retrieves the Mass Storage device's inquiry data for the specified LUN, indicating the device characteristics and
 			 *  properties.
 			 *
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] MSInterfaceInfo  Pointer to a structure containing a MS Class host configuration and state
 			 *  \param[in]     LUNIndex         LUN index within the device the command is being issued to
@@ -199,8 +199,8 @@
 
 			/** Retrieves the total capacity of the attached USB Mass Storage device, in blocks, and block size.
 			 *
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] MSInterfaceInfo  Pointer to a structure containing a MS Class host configuration and state
 			 *  \param[in]     LUNIndex         LUN index within the device the command is being issued to
@@ -215,8 +215,8 @@
 			/** Retrieves the device sense data, indicating the current device state and error codes for the previously
 			 *  issued command.
 			 *
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] MSInterfaceInfo  Pointer to a structure containing a MS Class host configuration and state
 			 *  \param[in]     LUNIndex         LUN index within the device the command is being issued to
@@ -231,8 +231,8 @@
 			/** Issues a PREVENT MEDIUM REMOVAL command, to logically (or, depending on the type of device, physically) lock
 			 *  the device from removal so that blocks of data on the medium can be read or altered.
 			 *
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] MSInterfaceInfo  Pointer to a structure containing a MS Class host configuration and state
 			 *  \param[in]     LUNIndex         LUN index within the device the command is being issued to
@@ -245,8 +245,8 @@
 			
 			/** Reads blocks of data from the attached Mass Storage device's medium.
 			 *
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] MSInterfaceInfo  Pointer to a structure containing a MS Class host configuration and state
 			 *  \param[in]     LUNIndex         LUN index within the device the command is being issued to
@@ -263,8 +263,8 @@
 		
 			/** Writes blocks of data to the attached Mass Storage device's medium.
 			 *
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] MSInterfaceInfo  Pointer to a structure containing a MS Class host configuration and state
 			 *  \param[in]     LUNIndex         LUN index within the device the command is being issued to
diff --git a/LUFA/Drivers/USB/Class/Host/Printer.h b/LUFA/Drivers/USB/Class/Host/Printer.h
index 78b3f26b01575c54a8e87146b48fc5966c864692..89f229975f86ce0633fd93e9b76d02b7034e190e 100644
--- a/LUFA/Drivers/USB/Class/Host/Printer.h
+++ b/LUFA/Drivers/USB/Class/Host/Printer.h
@@ -161,8 +161,8 @@
 			 *  printer is able to understand - for example, PCL data. Not all printers accept all printer languages; see
 			 *  \ref PRNT_Host_GetDeviceID() for details on determining acceptable languages for an attached printer.
 			 *
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] PRNTInterfaceInfo  Pointer to a structure containing a Printer Class host configuration and state
 			 *  \param[in]     PrinterCommands    Pointer to a buffer containing the raw command stream to send to the printer
diff --git a/LUFA/Drivers/USB/Class/Host/RNDIS.h b/LUFA/Drivers/USB/Class/Host/RNDIS.h
index 111d60b5c5398d395035ddb36ccaa8eeaa695add..f39be799f5b3639b0cf3a38f9e7b860c10da8b19 100644
--- a/LUFA/Drivers/USB/Class/Host/RNDIS.h
+++ b/LUFA/Drivers/USB/Class/Host/RNDIS.h
@@ -195,8 +195,8 @@
 
 			/** Determines if a packet is currently waiting for the host to read in and process.
 			 *
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] RNDISInterfaceInfo  Pointer to a structure containing an RNDIS Class host configuration and state
 			 *
@@ -207,8 +207,8 @@
 			/** Retrieves the next pending packet from the device, discarding the remainder of the RNDIS packet header to leave
 			 *  only the packet contents for processing by the host in the nominated buffer.
 			 *
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] RNDISInterfaceInfo  Pointer to a structure containing an RNDIS Class host configuration and state
 			 *  \param[out]    Buffer              Pointer to a buffer where the packer data is to be written to
@@ -221,8 +221,8 @@
 
 			/** Sends the given packet to the attached RNDIS device, after adding a RNDIS packet message header.
 			 *
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] RNDISInterfaceInfo  Pointer to a structure containing an RNDIS Class host configuration and state
 			 *  \param[in]     Buffer              Pointer to a buffer where the packer data is to be read from
diff --git a/LUFA/Drivers/USB/Class/Host/StillImage.h b/LUFA/Drivers/USB/Class/Host/StillImage.h
index 1feddb8824edf47853ab01e7af744d0d1cb365dc..b737e3672d6e0551707d2717d8d4ba00340b0de4 100644
--- a/LUFA/Drivers/USB/Class/Host/StillImage.h
+++ b/LUFA/Drivers/USB/Class/Host/StillImage.h
@@ -146,8 +146,8 @@
 			/** Opens a new PIMA session with the attached device. This should be used before any session-orientated PIMA commands
 			 *  are issued to the device. Only one session can be open at the one time.
 			 *	
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] SIInterfaceInfo  Pointer to a structure containing a Still Image Class host configuration and state
 			 *
@@ -159,8 +159,8 @@
 			/** Closes an already opened PIMA session with the attached device. This should be used after all session-orientated
 			 *  PIMA commands have been issued to the device.
 			 *
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] SIInterfaceInfo  Pointer to a structure containing a Still Image Class host configuration and state
 			 *
@@ -172,8 +172,8 @@
 			/** Sends a raw PIMA block header to the device, filling out the transaction ID automatically. This can be used to send
 			 *  arbitrary PIMA blocks to the device with or without parameters.
 			 *
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] SIInterfaceInfo  Pointer to a structure containing a Still Image Class host configuration and state
 			 *  \param[in]     PIMAHeader       Pointer to a PIMA container structure that is to be sent
@@ -187,8 +187,8 @@
 			/** Receives a raw PIMA block header to the device. This can be used to receive arbitrary PIMA blocks from the device with
 			 *  or without parameters.
 			 *
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] SIInterfaceInfo  Pointer to a structure containing a Still Image Class host configuration and state
 			 *  \param[out]    PIMAHeader       Pointer to a PIMA container structure where the received block is to be stored
@@ -201,8 +201,8 @@
 
 			/** Sends a given PIMA command to the attached device, filling out the PIMA command header's Transaction ID automatically.
 			 *	
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] SIInterfaceInfo  Pointer to a structure containing a Still Image Class host configuration and state
 			 *  \param[in]     Operation        PIMA operation code to issue to the device
@@ -218,8 +218,8 @@
 			/** Receives and checks a response block from the attached PIMA device, once a command has been issued and all data
 			 *  associated with the command has been transferred.
 			 *	
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] SIInterfaceInfo  Pointer to a structure containing a Still Image Class host configuration and state
 			 *
@@ -230,8 +230,8 @@
 
 			/** Indicates if the device has issued a PIMA event block to the host via the asynchronous events pipe.
 			 *
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] SIInterfaceInfo  Pointer to a structure containing a Still Image Class host configuration and state
 			 *
@@ -241,8 +241,8 @@
 
 			/** Receives an asynchronous event block from the device via the asynchronous events pipe.
 			 *
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] SIInterfaceInfo  Pointer to a structure containing a Still Image Class host configuration and state
 			 *  \param[out]    PIMAHeader       Pointer to a PIMA container structure where the event should be stored
@@ -257,8 +257,8 @@
 			/** Sends arbitrary data to the attached device, for use in the data phase of PIMA commands which require data
 			 *  transfer beyond the regular PIMA command block parameters.
 			 *
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] SIInterfaceInfo  Pointer to a structure containing a Still Image Class host configuration and state
 			 *  \param[in]     Buffer           Pointer to a buffer where the data to send has been stored
@@ -272,8 +272,8 @@
 			/** Receives arbitrary data from the attached device, for use in the data phase of PIMA commands which require data
 			 *  transfer beyond the regular PIMA command block parameters.
 			 *
-			 *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-			 *        call will fail.
+			 *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+			 *       call will fail.
 			 *
 			 *  \param[in,out] SIInterfaceInfo  Pointer to a structure containing a Still Image Class host configuration and state
 			 *  \param[out]    Buffer           Pointer to a buffer where the received data is to be stored
diff --git a/LUFA/Drivers/USB/LowLevel/Endpoint.h b/LUFA/Drivers/USB/LowLevel/Endpoint.h
index 760a3778718c91f78724c1e35f62baa8af2be40f..60e1018f6093809a8964656ab3af7d4114d921a8 100644
--- a/LUFA/Drivers/USB/LowLevel/Endpoint.h
+++ b/LUFA/Drivers/USB/LowLevel/Endpoint.h
@@ -756,8 +756,8 @@
 			 *
 			 *  The banking mode may be either \ref ENDPOINT_BANK_SINGLE or \ref ENDPOINT_BANK_DOUBLE.
 			 *
-			 *  \note The default control endpoint does not have to be manually configured, as it is automatically
-			 *        configured by the library internally.
+			 *  \note The default control endpoint should not be manually configured by the user application, as 
+			 *        it is automatically configured by the library internally.
 			 *        \n\n
 			 *
 			 *  \note This routine will select the specified endpoint, and the endpoint will remain selected
@@ -844,7 +844,7 @@
 
 			/** FLASH buffer source version of \ref Endpoint_Write_Stream_LE().
 			 *
-			 *  \note The FLASH data must be located in the first 64KB of FLASH for this function to work correctly.
+			 *  \pre The FLASH data must be located in the first 64KB of FLASH for this function to work correctly.
 			 *
 			 *  \ingroup Group_EndpointStreamRW
 			 *
@@ -893,7 +893,7 @@
 
 			/** FLASH buffer source version of \ref Endpoint_Write_Stream_BE().
 			 *
-			 *  \note The FLASH data must be located in the first 64KB of FLASH for this function to work correctly.
+			 *  \pre The FLASH data must be located in the first 64KB of FLASH for this function to work correctly.
 			 *
 			 *  \ingroup Group_EndpointStreamRW
 			 *
@@ -1019,14 +1019,13 @@
 			uint8_t Endpoint_Write_Control_EStream_LE(const void* Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
 
 			/** FLASH buffer source version of \ref Endpoint_Write_Control_Stream_LE().
+			 *
+			 *  \pre The FLASH data must be located in the first 64KB of FLASH for this function to work correctly.
 			 *
 			 *  \note This function automatically clears the control transfer's status stage. Do not manually attempt
 			 *        to clear the status stage when using this routine in a control transaction.
 			 *        \n\n
 			 *
-			 *  \note The FLASH data must be located in the first 64KB of FLASH for this function to work correctly.
-			 *        \n\n
-			 *
 			 *  \note This routine should only be used on CONTROL type endpoints.
 			 *
 			 *  \warning Unlike the standard stream read/write commands, the control stream commands cannot be chained
@@ -1085,14 +1084,13 @@
 			uint8_t Endpoint_Write_Control_EStream_BE(const void* Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
 
 			/** FLASH buffer source version of \ref Endpoint_Write_Control_Stream_BE().
+			 *
+			 *  \pre The FLASH data must be located in the first 64KB of FLASH for this function to work correctly.
 			 *
 			 *  \note This function automatically clears the control transfer's status stage. Do not manually attempt
 			 *        to clear the status stage when using this routine in a control transaction.
 			 *        \n\n
 			 *
-			 *  \note The FLASH data must be located in the first 64KB of FLASH for this function to work correctly.
-			 *        \n\n
-			 *
 			 *  \note This routine should only be used on CONTROL type endpoints.
 			 *
 			 *  \warning Unlike the standard stream read/write commands, the control stream commands cannot be chained
diff --git a/LUFA/Drivers/USB/LowLevel/Pipe.h b/LUFA/Drivers/USB/LowLevel/Pipe.h
index b4b40cacf7b0a8d21366c9096074048408435a5d..7283fc820df0dd7ff776904769a5519301b40147 100644
--- a/LUFA/Drivers/USB/LowLevel/Pipe.h
+++ b/LUFA/Drivers/USB/LowLevel/Pipe.h
@@ -231,7 +231,7 @@
 				/** Enables the currently selected pipe so that data can be sent and received through it to and from
 				 *  an attached device.
 				 *
-				 *  \note Pipes must first be configured properly via \ref Pipe_ConfigurePipe().
+				 *  \pre The currently selected pipe must first be configured properly via \ref Pipe_ConfigurePipe().
 				 */
 				static inline void Pipe_EnablePipe(void);
 
@@ -799,8 +799,8 @@
 			 *  numbers of IN requests without automatic freezing - this can be overridden by a call to
 			 *  \ref Pipe_SetFiniteINRequests().
 			 *
-			 *  \note The default control pipe does not have to be manually configured, as it is automatically
-			 *        configured by the library internally.
+			 *  \note The default control pipe should not be manually configured by the user application, as it 
+			 *        is automatically configured by the library internally.
 			 *        \n\n
 			 *
 			 *  \note This routine will select the specified pipe, and the pipe will remain selected once the
@@ -889,7 +889,7 @@
 			
 			/** FLASH buffer source version of \ref Pipe_Write_Stream_LE().
 			 *
-			 *  \note The FLASH data must be located in the first 64KB of FLASH for this function to work correctly.
+			 *  \pre The FLASH data must be located in the first 64KB of FLASH for this function to work correctly.
 			 *
 			 *  \ingroup Group_PipeStreamRW
 			 *
@@ -938,7 +938,7 @@
 			
 			/** FLASH buffer source version of \ref Pipe_Write_Stream_BE().
 			 *
-			 *  \note The FLASH data must be located in the first 64KB of FLASH for this function to work correctly.
+			 *  \pre The FLASH data must be located in the first 64KB of FLASH for this function to work correctly.
 			 *
 			 *  \ingroup Group_PipeStreamRW
 			 *
diff --git a/LUFA/ManPages/FutureChanges.txt b/LUFA/ManPages/FutureChanges.txt
index daf239397200a0903ffe370a7fb53bbf3fb28d3a..9c8891f2f3445454895f77174da03128f5c23ee3 100644
--- a/LUFA/ManPages/FutureChanges.txt
+++ b/LUFA/ManPages/FutureChanges.txt
@@ -16,14 +16,11 @@
   *      -# Add hub support when in Host mode for multiple devices
   *      -# Add ability to get number of bytes not written with pipe/endpoint write routines after an error
   *      -# Add standardized descriptor names to class driver structures
-  *      -# Correct mishandling of error cases in Mass Storage demos
-  *      -# Fix AVRISP-MKII clone project's XMEGA EEPROM section erase command
-  *      -# Fix occasional dropped characters in the XPLAINBridge project
+  *      -# Master LUFA include file rather than per-module includes
+  *      -# Change makefiles to allow for absolute LUFA location to be used
   *  - Documentation/Support
   *      -# Remake AVRStudio project files
   *      -# Add detailed overviews of how each demo works
-  *      -# Master LUFA include file rather than per-module includes
-  *      -# Change makefiles to allow for absolute LUFA location to be used
   *      -# Add board overviews
   *      -# Write LUFA tutorials
   *  - Demos/Projects
@@ -35,6 +32,8 @@
   *      -# Finish SideShow demo
   *      -# Finish StandaloneProgrammer project
   *      -# Finish MIDIToneGenerator project
+  *      -# Correct mishandling of error cases in Mass Storage demos
+  *      -# Fix AVRISP-MKII clone project's XMEGA EEPROM section erase command
   *  - Ports
   *      -# AVR32 UC3B series microcontrollers
   *      -# Atmel ARM7 series microcontrollers
diff --git a/Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.h b/Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.h
index 3cb73ce90c744a13c20a406d36408672304328cb..0e5d373efba407eac6dd51d902201a2fdd6acda7 100644
--- a/Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.h
+++ b/Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.h
@@ -56,7 +56,7 @@
 		#endif
 		
 		/** Serial carrier TPI/PDI speed when hardware TPI/PDI mode is used. */
-		#define XPROG_HARDWARE_SPEED       1000000
+		#define XPROG_HARDWARE_SPEED       500000
 
 		/** Total number of bits in a single USART frame. */
 		#define BITS_IN_USART_FRAME        12